Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
WIPO Sequence Validator
V100 Beta
Operation amp User Manual
The purpose of this document is to support Intellectual Property Offices to deploy the WIPO Sequence Validator microservice and also to provide configuration of the Validator The purposes of this WIPO
Sequence tool component is to validate ST26 sequence listings submitted to the Office
VALIDATOR OPERATION AND USER MANUAL
TABLE OF CONTENTS
1 Introduction 1
11 Validate XML File 1
12 Request Validation Status 1
13 Update Configuration Files 2
14 Definition of the file system structure 3
2 Deployment of the WIPO Sequence Validator 4
21 Starting the service as a Spring Boot JAR 4
22 Deployment as a WAR Web Service 5
221 Verification Report XML 6
222 Configuration 6
223 Custom Organisms 8
3 Web Services API REST 9
31 Validation ST26 file Web Service 9
32 Get Status process ST26 file Web Service 10
Ref WIPO Sequence Validator Operation amp User Manual page 1
1 Introduction
The main purpose of the WIPO Sequence Validator (hereinafter called the Validator) is to enable IP offices (IPO) to validate XML files in ST26 format The Validator provides 3 use cases (and 1 optional use case not provided here)
- Validation of an ST26 XML file
- Request the status of a running validation
- Update configuration settings (only the IPO Admin)
11 Validate XML File
Initiator IPO System
Goal Request validation of an ST26 XML file and provide a report of the result The client can request a full validation of the file (including the validation of the XML against the ST26 schema plus the validation of the content against the verification rules indicated previously as steps 1 and 2) or it can request only the formality validation of the XML against the ST26 schema (indicated previously as step 1)
Precondition The IPO System requesting the validation has access to the Inbox and Reports folders configured for the tool by the user
The IPO System has access to the REST API of the tool
Exit codes are selected from the HTTP Status codes provided in the draft WIPO Web API Standard
Postcondition The system validates the file against the WIPO ST26 Standard The verification report is then generated in the Outbox folder of the Tool in the location specified by the user
Assumptions The verification report will be in XML format Message codes will be used instead of messages texts so they can be translated by the IPO System to any specific language
12 Request Validation Status
Initiator IPO System
Goal Request the status of a previously requested validation of an ST26 file
Precondition The IPO System has requested the validation of an ST26 file and knows the associated verification ID
The IPO System has access to the REST API of the tool
Ref WIPO Sequence Validator Operation amp User Manual page 2
November 2019
13 Update Configuration Files
Initiator IPO Admin
Goal Update the resource and configuration files used by the validation tool (data dictionaries organism names and custom organism names)
Precondition The IPO Admin requesting the validation has access to the Configuration folder of the tool
Postcondition The configuration of the tool is updated and used in the following execution of a validation
Assumptions The resource files that will hold the configuration of the WIPO Sequence Validator are
- general properties
- custom organism names
These are text files Format of these text files is to be defined during the technical implementation but one option is a comma-delimited text file
The Validator is provided as either a JAR file that can be executed as a Web Service and a WAR file that can be deployed on a Tomcat server
In both cases for validation of the ST26 the tool consumes files from a local file system and generate a report with validation results The workflow of the main interaction with the Validator is as follows
1 The IPO saves an ST26 XML file in a specified Inbox folder
2 The IPO system initiates a HTTP Post requesting the validation of the file A synchronous response is received indicating if the file passed the formality validation (only XML validation) and if the deep asynchronous verification as started correctly
3 The Validator retrieves the XML file from the Inbox folder and starts the deep validation (with all the ST26 verification rules)
4 The Validator generates a verification report in XML format in an Report folder and moves to an Outbox folder the validated ST26 XML file
5 The IPO system can get the verification report from the Report folder
Exit codes are selected from the HTTP Status codes provided in the draft WIPO Web API Standard
Postcondition The IPO System receives the status of the validation
Assumptions -
Ref WIPO Sequence Validator Operation amp User Manual page 3
November 2019
The WIPO Sequence Validator API complies with the draft WIPO Web API standards for REST API services
14 Definition of the file system structure
The structure of the file system used by the IPO Tool consists of four main folders
- Inbox folder This is the local folder where ST26 files are deposited for validation
- Process folder This is the local folder through which the files in the inbox pass in order to process them This folder contains two subfolders
o Full validation folder stores the files pending a full validation
o Formality validation folder stores the files pending a formality validation
- Outbox folder Once the validation is finished the application stores the source of the ST26 file in this local folder
- Report folder The validation results are saved in a verification report file located in this local folder
Sample file system structure
tempST26
tempST26inbox
tempST26processfull
tempST26processformality
tempST26outbox
tempST26reports
Ref WIPO Sequence Validator Operation amp User Manual page 4
November 2019
2 Deployment of the WIPO Sequence Validator
Depending on the type of infrastructure in which you want to deploy the Web Services API you will use one binary or another
The tool is provided as both of the following two binaries
- Binary SpringBoot JAR This binary is an executable JAR file It does require Java 8
- War Package Binary This binary is intended to be deployed on a Servlet container An application server compatible with Spring Boot 2 and Servlet Spec 31+ is required such as Tomcat 85
The following sections detail the deployment as a Spring Boot app or as a WAR within a Java Application Server
21 Starting the service as a Spring Boot JAR
The Spring Boot JAR contains an embedded server which allows the deployment of the web service API without requiring a separate server and greatly simplifies the configuration and deployment at the infrastructure level
In order to run the server the following command should be executed (Note Java 8 must already be installed on the server)
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar
Note Since Java does not guarantee the use of UTF-8 the system property fileencoding property must be set to ldquoUTF-8rdquo
The OAS 20 API can be accessed through a swagger console
http[host-name]8080swagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080api[version]status
http[host-name]8080api[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 to change the port the ndashserverport command line
option should be added as shown here
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar ndash-serverport=ltport-
numbergt
By default the service app will use JVM default memory settings Default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line (see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 5
November 2019
java -Dfileencoding=UTF-8 -Xmx[size]-jar wipo-sequence-validatorjar
The Validator can also be installed as a service managed by the operating system in order to automatically start it with the operating system for instance
This is compatible with all platforms supported by WIPO Sequence Windows Linux and Mac OS
The URL below explains for each operating system how to create a system service that executes the JAR file It also provides information on how to configure the different options of the service and the execution of the application
httpsdocsspringiospring-bootdocscurrentreferencehtmldeployment-installhtml
22 Deployment as a WAR Web Service
As a second alternative the WAR package can be deployed in an existing Java application server such as Apache Tomcat 85 (a container compatible with Servlet 31 is required)
The following instructions are for a Tomcat application server (Note $TOMCAT_ROOT refers to the root folder of the Tomcat server)
1 Stop server $TOMCAT_ROOTbincatalinabat stop
2 Copy war to $TOMCAT_ROOTwebappswipo-sequence-validatorwar
3 Start server $TOMCAT_ROOTbincatalinabat start
Note since Java does not guarantee the use of UTF-8 the system property fileencoding
property must be set to ldquoUTF-8rdquo in the start-up of the application server
The OAS 20 API can be accessed through a swagger console
httphost-name8080wipo-sequence-validatorswagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080wipo-sequence-validatorapi[version]status
http[host-name]8080wipo-sequence-validatorapi[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 To change the port the Tomcat configuration file should be modified following the instructions provided here
httpstomcatapacheorgtomcat-85-docconfighttphtmlCommon_Attributes
By default the service app will use JVM default memory settings The default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line
(see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
VALIDATOR OPERATION AND USER MANUAL
TABLE OF CONTENTS
1 Introduction 1
11 Validate XML File 1
12 Request Validation Status 1
13 Update Configuration Files 2
14 Definition of the file system structure 3
2 Deployment of the WIPO Sequence Validator 4
21 Starting the service as a Spring Boot JAR 4
22 Deployment as a WAR Web Service 5
221 Verification Report XML 6
222 Configuration 6
223 Custom Organisms 8
3 Web Services API REST 9
31 Validation ST26 file Web Service 9
32 Get Status process ST26 file Web Service 10
Ref WIPO Sequence Validator Operation amp User Manual page 1
1 Introduction
The main purpose of the WIPO Sequence Validator (hereinafter called the Validator) is to enable IP offices (IPO) to validate XML files in ST26 format The Validator provides 3 use cases (and 1 optional use case not provided here)
- Validation of an ST26 XML file
- Request the status of a running validation
- Update configuration settings (only the IPO Admin)
11 Validate XML File
Initiator IPO System
Goal Request validation of an ST26 XML file and provide a report of the result The client can request a full validation of the file (including the validation of the XML against the ST26 schema plus the validation of the content against the verification rules indicated previously as steps 1 and 2) or it can request only the formality validation of the XML against the ST26 schema (indicated previously as step 1)
Precondition The IPO System requesting the validation has access to the Inbox and Reports folders configured for the tool by the user
The IPO System has access to the REST API of the tool
Exit codes are selected from the HTTP Status codes provided in the draft WIPO Web API Standard
Postcondition The system validates the file against the WIPO ST26 Standard The verification report is then generated in the Outbox folder of the Tool in the location specified by the user
Assumptions The verification report will be in XML format Message codes will be used instead of messages texts so they can be translated by the IPO System to any specific language
12 Request Validation Status
Initiator IPO System
Goal Request the status of a previously requested validation of an ST26 file
Precondition The IPO System has requested the validation of an ST26 file and knows the associated verification ID
The IPO System has access to the REST API of the tool
Ref WIPO Sequence Validator Operation amp User Manual page 2
November 2019
13 Update Configuration Files
Initiator IPO Admin
Goal Update the resource and configuration files used by the validation tool (data dictionaries organism names and custom organism names)
Precondition The IPO Admin requesting the validation has access to the Configuration folder of the tool
Postcondition The configuration of the tool is updated and used in the following execution of a validation
Assumptions The resource files that will hold the configuration of the WIPO Sequence Validator are
- general properties
- custom organism names
These are text files Format of these text files is to be defined during the technical implementation but one option is a comma-delimited text file
The Validator is provided as either a JAR file that can be executed as a Web Service and a WAR file that can be deployed on a Tomcat server
In both cases for validation of the ST26 the tool consumes files from a local file system and generate a report with validation results The workflow of the main interaction with the Validator is as follows
1 The IPO saves an ST26 XML file in a specified Inbox folder
2 The IPO system initiates a HTTP Post requesting the validation of the file A synchronous response is received indicating if the file passed the formality validation (only XML validation) and if the deep asynchronous verification as started correctly
3 The Validator retrieves the XML file from the Inbox folder and starts the deep validation (with all the ST26 verification rules)
4 The Validator generates a verification report in XML format in an Report folder and moves to an Outbox folder the validated ST26 XML file
5 The IPO system can get the verification report from the Report folder
Exit codes are selected from the HTTP Status codes provided in the draft WIPO Web API Standard
Postcondition The IPO System receives the status of the validation
Assumptions -
Ref WIPO Sequence Validator Operation amp User Manual page 3
November 2019
The WIPO Sequence Validator API complies with the draft WIPO Web API standards for REST API services
14 Definition of the file system structure
The structure of the file system used by the IPO Tool consists of four main folders
- Inbox folder This is the local folder where ST26 files are deposited for validation
- Process folder This is the local folder through which the files in the inbox pass in order to process them This folder contains two subfolders
o Full validation folder stores the files pending a full validation
o Formality validation folder stores the files pending a formality validation
- Outbox folder Once the validation is finished the application stores the source of the ST26 file in this local folder
- Report folder The validation results are saved in a verification report file located in this local folder
Sample file system structure
tempST26
tempST26inbox
tempST26processfull
tempST26processformality
tempST26outbox
tempST26reports
Ref WIPO Sequence Validator Operation amp User Manual page 4
November 2019
2 Deployment of the WIPO Sequence Validator
Depending on the type of infrastructure in which you want to deploy the Web Services API you will use one binary or another
The tool is provided as both of the following two binaries
- Binary SpringBoot JAR This binary is an executable JAR file It does require Java 8
- War Package Binary This binary is intended to be deployed on a Servlet container An application server compatible with Spring Boot 2 and Servlet Spec 31+ is required such as Tomcat 85
The following sections detail the deployment as a Spring Boot app or as a WAR within a Java Application Server
21 Starting the service as a Spring Boot JAR
The Spring Boot JAR contains an embedded server which allows the deployment of the web service API without requiring a separate server and greatly simplifies the configuration and deployment at the infrastructure level
In order to run the server the following command should be executed (Note Java 8 must already be installed on the server)
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar
Note Since Java does not guarantee the use of UTF-8 the system property fileencoding property must be set to ldquoUTF-8rdquo
The OAS 20 API can be accessed through a swagger console
http[host-name]8080swagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080api[version]status
http[host-name]8080api[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 to change the port the ndashserverport command line
option should be added as shown here
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar ndash-serverport=ltport-
numbergt
By default the service app will use JVM default memory settings Default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line (see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 5
November 2019
java -Dfileencoding=UTF-8 -Xmx[size]-jar wipo-sequence-validatorjar
The Validator can also be installed as a service managed by the operating system in order to automatically start it with the operating system for instance
This is compatible with all platforms supported by WIPO Sequence Windows Linux and Mac OS
The URL below explains for each operating system how to create a system service that executes the JAR file It also provides information on how to configure the different options of the service and the execution of the application
httpsdocsspringiospring-bootdocscurrentreferencehtmldeployment-installhtml
22 Deployment as a WAR Web Service
As a second alternative the WAR package can be deployed in an existing Java application server such as Apache Tomcat 85 (a container compatible with Servlet 31 is required)
The following instructions are for a Tomcat application server (Note $TOMCAT_ROOT refers to the root folder of the Tomcat server)
1 Stop server $TOMCAT_ROOTbincatalinabat stop
2 Copy war to $TOMCAT_ROOTwebappswipo-sequence-validatorwar
3 Start server $TOMCAT_ROOTbincatalinabat start
Note since Java does not guarantee the use of UTF-8 the system property fileencoding
property must be set to ldquoUTF-8rdquo in the start-up of the application server
The OAS 20 API can be accessed through a swagger console
httphost-name8080wipo-sequence-validatorswagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080wipo-sequence-validatorapi[version]status
http[host-name]8080wipo-sequence-validatorapi[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 To change the port the Tomcat configuration file should be modified following the instructions provided here
httpstomcatapacheorgtomcat-85-docconfighttphtmlCommon_Attributes
By default the service app will use JVM default memory settings The default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line
(see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 1
1 Introduction
The main purpose of the WIPO Sequence Validator (hereinafter called the Validator) is to enable IP offices (IPO) to validate XML files in ST26 format The Validator provides 3 use cases (and 1 optional use case not provided here)
- Validation of an ST26 XML file
- Request the status of a running validation
- Update configuration settings (only the IPO Admin)
11 Validate XML File
Initiator IPO System
Goal Request validation of an ST26 XML file and provide a report of the result The client can request a full validation of the file (including the validation of the XML against the ST26 schema plus the validation of the content against the verification rules indicated previously as steps 1 and 2) or it can request only the formality validation of the XML against the ST26 schema (indicated previously as step 1)
Precondition The IPO System requesting the validation has access to the Inbox and Reports folders configured for the tool by the user
The IPO System has access to the REST API of the tool
Exit codes are selected from the HTTP Status codes provided in the draft WIPO Web API Standard
Postcondition The system validates the file against the WIPO ST26 Standard The verification report is then generated in the Outbox folder of the Tool in the location specified by the user
Assumptions The verification report will be in XML format Message codes will be used instead of messages texts so they can be translated by the IPO System to any specific language
12 Request Validation Status
Initiator IPO System
Goal Request the status of a previously requested validation of an ST26 file
Precondition The IPO System has requested the validation of an ST26 file and knows the associated verification ID
The IPO System has access to the REST API of the tool
Ref WIPO Sequence Validator Operation amp User Manual page 2
November 2019
13 Update Configuration Files
Initiator IPO Admin
Goal Update the resource and configuration files used by the validation tool (data dictionaries organism names and custom organism names)
Precondition The IPO Admin requesting the validation has access to the Configuration folder of the tool
Postcondition The configuration of the tool is updated and used in the following execution of a validation
Assumptions The resource files that will hold the configuration of the WIPO Sequence Validator are
- general properties
- custom organism names
These are text files Format of these text files is to be defined during the technical implementation but one option is a comma-delimited text file
The Validator is provided as either a JAR file that can be executed as a Web Service and a WAR file that can be deployed on a Tomcat server
In both cases for validation of the ST26 the tool consumes files from a local file system and generate a report with validation results The workflow of the main interaction with the Validator is as follows
1 The IPO saves an ST26 XML file in a specified Inbox folder
2 The IPO system initiates a HTTP Post requesting the validation of the file A synchronous response is received indicating if the file passed the formality validation (only XML validation) and if the deep asynchronous verification as started correctly
3 The Validator retrieves the XML file from the Inbox folder and starts the deep validation (with all the ST26 verification rules)
4 The Validator generates a verification report in XML format in an Report folder and moves to an Outbox folder the validated ST26 XML file
5 The IPO system can get the verification report from the Report folder
Exit codes are selected from the HTTP Status codes provided in the draft WIPO Web API Standard
Postcondition The IPO System receives the status of the validation
Assumptions -
Ref WIPO Sequence Validator Operation amp User Manual page 3
November 2019
The WIPO Sequence Validator API complies with the draft WIPO Web API standards for REST API services
14 Definition of the file system structure
The structure of the file system used by the IPO Tool consists of four main folders
- Inbox folder This is the local folder where ST26 files are deposited for validation
- Process folder This is the local folder through which the files in the inbox pass in order to process them This folder contains two subfolders
o Full validation folder stores the files pending a full validation
o Formality validation folder stores the files pending a formality validation
- Outbox folder Once the validation is finished the application stores the source of the ST26 file in this local folder
- Report folder The validation results are saved in a verification report file located in this local folder
Sample file system structure
tempST26
tempST26inbox
tempST26processfull
tempST26processformality
tempST26outbox
tempST26reports
Ref WIPO Sequence Validator Operation amp User Manual page 4
November 2019
2 Deployment of the WIPO Sequence Validator
Depending on the type of infrastructure in which you want to deploy the Web Services API you will use one binary or another
The tool is provided as both of the following two binaries
- Binary SpringBoot JAR This binary is an executable JAR file It does require Java 8
- War Package Binary This binary is intended to be deployed on a Servlet container An application server compatible with Spring Boot 2 and Servlet Spec 31+ is required such as Tomcat 85
The following sections detail the deployment as a Spring Boot app or as a WAR within a Java Application Server
21 Starting the service as a Spring Boot JAR
The Spring Boot JAR contains an embedded server which allows the deployment of the web service API without requiring a separate server and greatly simplifies the configuration and deployment at the infrastructure level
In order to run the server the following command should be executed (Note Java 8 must already be installed on the server)
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar
Note Since Java does not guarantee the use of UTF-8 the system property fileencoding property must be set to ldquoUTF-8rdquo
The OAS 20 API can be accessed through a swagger console
http[host-name]8080swagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080api[version]status
http[host-name]8080api[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 to change the port the ndashserverport command line
option should be added as shown here
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar ndash-serverport=ltport-
numbergt
By default the service app will use JVM default memory settings Default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line (see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 5
November 2019
java -Dfileencoding=UTF-8 -Xmx[size]-jar wipo-sequence-validatorjar
The Validator can also be installed as a service managed by the operating system in order to automatically start it with the operating system for instance
This is compatible with all platforms supported by WIPO Sequence Windows Linux and Mac OS
The URL below explains for each operating system how to create a system service that executes the JAR file It also provides information on how to configure the different options of the service and the execution of the application
httpsdocsspringiospring-bootdocscurrentreferencehtmldeployment-installhtml
22 Deployment as a WAR Web Service
As a second alternative the WAR package can be deployed in an existing Java application server such as Apache Tomcat 85 (a container compatible with Servlet 31 is required)
The following instructions are for a Tomcat application server (Note $TOMCAT_ROOT refers to the root folder of the Tomcat server)
1 Stop server $TOMCAT_ROOTbincatalinabat stop
2 Copy war to $TOMCAT_ROOTwebappswipo-sequence-validatorwar
3 Start server $TOMCAT_ROOTbincatalinabat start
Note since Java does not guarantee the use of UTF-8 the system property fileencoding
property must be set to ldquoUTF-8rdquo in the start-up of the application server
The OAS 20 API can be accessed through a swagger console
httphost-name8080wipo-sequence-validatorswagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080wipo-sequence-validatorapi[version]status
http[host-name]8080wipo-sequence-validatorapi[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 To change the port the Tomcat configuration file should be modified following the instructions provided here
httpstomcatapacheorgtomcat-85-docconfighttphtmlCommon_Attributes
By default the service app will use JVM default memory settings The default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line
(see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 2
November 2019
13 Update Configuration Files
Initiator IPO Admin
Goal Update the resource and configuration files used by the validation tool (data dictionaries organism names and custom organism names)
Precondition The IPO Admin requesting the validation has access to the Configuration folder of the tool
Postcondition The configuration of the tool is updated and used in the following execution of a validation
Assumptions The resource files that will hold the configuration of the WIPO Sequence Validator are
- general properties
- custom organism names
These are text files Format of these text files is to be defined during the technical implementation but one option is a comma-delimited text file
The Validator is provided as either a JAR file that can be executed as a Web Service and a WAR file that can be deployed on a Tomcat server
In both cases for validation of the ST26 the tool consumes files from a local file system and generate a report with validation results The workflow of the main interaction with the Validator is as follows
1 The IPO saves an ST26 XML file in a specified Inbox folder
2 The IPO system initiates a HTTP Post requesting the validation of the file A synchronous response is received indicating if the file passed the formality validation (only XML validation) and if the deep asynchronous verification as started correctly
3 The Validator retrieves the XML file from the Inbox folder and starts the deep validation (with all the ST26 verification rules)
4 The Validator generates a verification report in XML format in an Report folder and moves to an Outbox folder the validated ST26 XML file
5 The IPO system can get the verification report from the Report folder
Exit codes are selected from the HTTP Status codes provided in the draft WIPO Web API Standard
Postcondition The IPO System receives the status of the validation
Assumptions -
Ref WIPO Sequence Validator Operation amp User Manual page 3
November 2019
The WIPO Sequence Validator API complies with the draft WIPO Web API standards for REST API services
14 Definition of the file system structure
The structure of the file system used by the IPO Tool consists of four main folders
- Inbox folder This is the local folder where ST26 files are deposited for validation
- Process folder This is the local folder through which the files in the inbox pass in order to process them This folder contains two subfolders
o Full validation folder stores the files pending a full validation
o Formality validation folder stores the files pending a formality validation
- Outbox folder Once the validation is finished the application stores the source of the ST26 file in this local folder
- Report folder The validation results are saved in a verification report file located in this local folder
Sample file system structure
tempST26
tempST26inbox
tempST26processfull
tempST26processformality
tempST26outbox
tempST26reports
Ref WIPO Sequence Validator Operation amp User Manual page 4
November 2019
2 Deployment of the WIPO Sequence Validator
Depending on the type of infrastructure in which you want to deploy the Web Services API you will use one binary or another
The tool is provided as both of the following two binaries
- Binary SpringBoot JAR This binary is an executable JAR file It does require Java 8
- War Package Binary This binary is intended to be deployed on a Servlet container An application server compatible with Spring Boot 2 and Servlet Spec 31+ is required such as Tomcat 85
The following sections detail the deployment as a Spring Boot app or as a WAR within a Java Application Server
21 Starting the service as a Spring Boot JAR
The Spring Boot JAR contains an embedded server which allows the deployment of the web service API without requiring a separate server and greatly simplifies the configuration and deployment at the infrastructure level
In order to run the server the following command should be executed (Note Java 8 must already be installed on the server)
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar
Note Since Java does not guarantee the use of UTF-8 the system property fileencoding property must be set to ldquoUTF-8rdquo
The OAS 20 API can be accessed through a swagger console
http[host-name]8080swagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080api[version]status
http[host-name]8080api[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 to change the port the ndashserverport command line
option should be added as shown here
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar ndash-serverport=ltport-
numbergt
By default the service app will use JVM default memory settings Default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line (see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 5
November 2019
java -Dfileencoding=UTF-8 -Xmx[size]-jar wipo-sequence-validatorjar
The Validator can also be installed as a service managed by the operating system in order to automatically start it with the operating system for instance
This is compatible with all platforms supported by WIPO Sequence Windows Linux and Mac OS
The URL below explains for each operating system how to create a system service that executes the JAR file It also provides information on how to configure the different options of the service and the execution of the application
httpsdocsspringiospring-bootdocscurrentreferencehtmldeployment-installhtml
22 Deployment as a WAR Web Service
As a second alternative the WAR package can be deployed in an existing Java application server such as Apache Tomcat 85 (a container compatible with Servlet 31 is required)
The following instructions are for a Tomcat application server (Note $TOMCAT_ROOT refers to the root folder of the Tomcat server)
1 Stop server $TOMCAT_ROOTbincatalinabat stop
2 Copy war to $TOMCAT_ROOTwebappswipo-sequence-validatorwar
3 Start server $TOMCAT_ROOTbincatalinabat start
Note since Java does not guarantee the use of UTF-8 the system property fileencoding
property must be set to ldquoUTF-8rdquo in the start-up of the application server
The OAS 20 API can be accessed through a swagger console
httphost-name8080wipo-sequence-validatorswagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080wipo-sequence-validatorapi[version]status
http[host-name]8080wipo-sequence-validatorapi[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 To change the port the Tomcat configuration file should be modified following the instructions provided here
httpstomcatapacheorgtomcat-85-docconfighttphtmlCommon_Attributes
By default the service app will use JVM default memory settings The default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line
(see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 3
November 2019
The WIPO Sequence Validator API complies with the draft WIPO Web API standards for REST API services
14 Definition of the file system structure
The structure of the file system used by the IPO Tool consists of four main folders
- Inbox folder This is the local folder where ST26 files are deposited for validation
- Process folder This is the local folder through which the files in the inbox pass in order to process them This folder contains two subfolders
o Full validation folder stores the files pending a full validation
o Formality validation folder stores the files pending a formality validation
- Outbox folder Once the validation is finished the application stores the source of the ST26 file in this local folder
- Report folder The validation results are saved in a verification report file located in this local folder
Sample file system structure
tempST26
tempST26inbox
tempST26processfull
tempST26processformality
tempST26outbox
tempST26reports
Ref WIPO Sequence Validator Operation amp User Manual page 4
November 2019
2 Deployment of the WIPO Sequence Validator
Depending on the type of infrastructure in which you want to deploy the Web Services API you will use one binary or another
The tool is provided as both of the following two binaries
- Binary SpringBoot JAR This binary is an executable JAR file It does require Java 8
- War Package Binary This binary is intended to be deployed on a Servlet container An application server compatible with Spring Boot 2 and Servlet Spec 31+ is required such as Tomcat 85
The following sections detail the deployment as a Spring Boot app or as a WAR within a Java Application Server
21 Starting the service as a Spring Boot JAR
The Spring Boot JAR contains an embedded server which allows the deployment of the web service API without requiring a separate server and greatly simplifies the configuration and deployment at the infrastructure level
In order to run the server the following command should be executed (Note Java 8 must already be installed on the server)
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar
Note Since Java does not guarantee the use of UTF-8 the system property fileencoding property must be set to ldquoUTF-8rdquo
The OAS 20 API can be accessed through a swagger console
http[host-name]8080swagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080api[version]status
http[host-name]8080api[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 to change the port the ndashserverport command line
option should be added as shown here
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar ndash-serverport=ltport-
numbergt
By default the service app will use JVM default memory settings Default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line (see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 5
November 2019
java -Dfileencoding=UTF-8 -Xmx[size]-jar wipo-sequence-validatorjar
The Validator can also be installed as a service managed by the operating system in order to automatically start it with the operating system for instance
This is compatible with all platforms supported by WIPO Sequence Windows Linux and Mac OS
The URL below explains for each operating system how to create a system service that executes the JAR file It also provides information on how to configure the different options of the service and the execution of the application
httpsdocsspringiospring-bootdocscurrentreferencehtmldeployment-installhtml
22 Deployment as a WAR Web Service
As a second alternative the WAR package can be deployed in an existing Java application server such as Apache Tomcat 85 (a container compatible with Servlet 31 is required)
The following instructions are for a Tomcat application server (Note $TOMCAT_ROOT refers to the root folder of the Tomcat server)
1 Stop server $TOMCAT_ROOTbincatalinabat stop
2 Copy war to $TOMCAT_ROOTwebappswipo-sequence-validatorwar
3 Start server $TOMCAT_ROOTbincatalinabat start
Note since Java does not guarantee the use of UTF-8 the system property fileencoding
property must be set to ldquoUTF-8rdquo in the start-up of the application server
The OAS 20 API can be accessed through a swagger console
httphost-name8080wipo-sequence-validatorswagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080wipo-sequence-validatorapi[version]status
http[host-name]8080wipo-sequence-validatorapi[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 To change the port the Tomcat configuration file should be modified following the instructions provided here
httpstomcatapacheorgtomcat-85-docconfighttphtmlCommon_Attributes
By default the service app will use JVM default memory settings The default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line
(see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 4
November 2019
2 Deployment of the WIPO Sequence Validator
Depending on the type of infrastructure in which you want to deploy the Web Services API you will use one binary or another
The tool is provided as both of the following two binaries
- Binary SpringBoot JAR This binary is an executable JAR file It does require Java 8
- War Package Binary This binary is intended to be deployed on a Servlet container An application server compatible with Spring Boot 2 and Servlet Spec 31+ is required such as Tomcat 85
The following sections detail the deployment as a Spring Boot app or as a WAR within a Java Application Server
21 Starting the service as a Spring Boot JAR
The Spring Boot JAR contains an embedded server which allows the deployment of the web service API without requiring a separate server and greatly simplifies the configuration and deployment at the infrastructure level
In order to run the server the following command should be executed (Note Java 8 must already be installed on the server)
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar
Note Since Java does not guarantee the use of UTF-8 the system property fileencoding property must be set to ldquoUTF-8rdquo
The OAS 20 API can be accessed through a swagger console
http[host-name]8080swagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080api[version]status
http[host-name]8080api[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 to change the port the ndashserverport command line
option should be added as shown here
java -Dfileencoding=UTF-8 -jar wipo-sequence-validatorjar ndash-serverport=ltport-
numbergt
By default the service app will use JVM default memory settings Default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line (see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 5
November 2019
java -Dfileencoding=UTF-8 -Xmx[size]-jar wipo-sequence-validatorjar
The Validator can also be installed as a service managed by the operating system in order to automatically start it with the operating system for instance
This is compatible with all platforms supported by WIPO Sequence Windows Linux and Mac OS
The URL below explains for each operating system how to create a system service that executes the JAR file It also provides information on how to configure the different options of the service and the execution of the application
httpsdocsspringiospring-bootdocscurrentreferencehtmldeployment-installhtml
22 Deployment as a WAR Web Service
As a second alternative the WAR package can be deployed in an existing Java application server such as Apache Tomcat 85 (a container compatible with Servlet 31 is required)
The following instructions are for a Tomcat application server (Note $TOMCAT_ROOT refers to the root folder of the Tomcat server)
1 Stop server $TOMCAT_ROOTbincatalinabat stop
2 Copy war to $TOMCAT_ROOTwebappswipo-sequence-validatorwar
3 Start server $TOMCAT_ROOTbincatalinabat start
Note since Java does not guarantee the use of UTF-8 the system property fileencoding
property must be set to ldquoUTF-8rdquo in the start-up of the application server
The OAS 20 API can be accessed through a swagger console
httphost-name8080wipo-sequence-validatorswagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080wipo-sequence-validatorapi[version]status
http[host-name]8080wipo-sequence-validatorapi[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 To change the port the Tomcat configuration file should be modified following the instructions provided here
httpstomcatapacheorgtomcat-85-docconfighttphtmlCommon_Attributes
By default the service app will use JVM default memory settings The default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line
(see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 5
November 2019
java -Dfileencoding=UTF-8 -Xmx[size]-jar wipo-sequence-validatorjar
The Validator can also be installed as a service managed by the operating system in order to automatically start it with the operating system for instance
This is compatible with all platforms supported by WIPO Sequence Windows Linux and Mac OS
The URL below explains for each operating system how to create a system service that executes the JAR file It also provides information on how to configure the different options of the service and the execution of the application
httpsdocsspringiospring-bootdocscurrentreferencehtmldeployment-installhtml
22 Deployment as a WAR Web Service
As a second alternative the WAR package can be deployed in an existing Java application server such as Apache Tomcat 85 (a container compatible with Servlet 31 is required)
The following instructions are for a Tomcat application server (Note $TOMCAT_ROOT refers to the root folder of the Tomcat server)
1 Stop server $TOMCAT_ROOTbincatalinabat stop
2 Copy war to $TOMCAT_ROOTwebappswipo-sequence-validatorwar
3 Start server $TOMCAT_ROOTbincatalinabat start
Note since Java does not guarantee the use of UTF-8 the system property fileencoding
property must be set to ldquoUTF-8rdquo in the start-up of the application server
The OAS 20 API can be accessed through a swagger console
httphost-name8080wipo-sequence-validatorswagger-uihtml
The API is accessible in the following endpoints
http[host-name]8080wipo-sequence-validatorapi[version]status
http[host-name]8080wipo-sequence-validatorapi[version]validate
where [host-name] has to be replaced by the server host name and [version] should be replaced by
the version of the API (ie v01)
By default the server will run on port 8080 To change the port the Tomcat configuration file should be modified following the instructions provided here
httpstomcatapacheorgtomcat-85-docconfighttphtmlCommon_Attributes
By default the service app will use JVM default memory settings The default maximum heap size is one fourth of the physical memory
In order to modify the maximum heap size the lsquo-Xmxrsquo option has to be used in the command line
(see httpsdocsoraclecomjavase8docstechnotestoolswindowsjavahtmlBABHDABI )
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 6
November 2019
221 Verification Report XML
The verification report generated by the tool follows this structure
ltxml version=10 encoding=UTF-8 standalone=yesgt
ltverificationReport productionDate=YYYY-MM-DD sourceFileName=[ST26 filename]gt
ltverificationMessagesgt
ltmessagegt
ltseveritygt[ERROR | WARN | XML_WARN | XML_ERROR]ltseveritygt
ltdataElementgt[ST26 element]ltdataElementgt
ltdetectedSequencegt[Sequence ID]ltdetectedSequencegt
ltdetectedValuegt[value]ltdetectedValuegt
ltmessageKeygt[Message key]ltmessageKeygt
ltparamsgt
ltparam key=param keygtParam valueltparamgt
ltparamsgt
ltlocalizedMessagegt [Localized message] localizedMessagegt
ltmessagegt
ltverificationMessagesgt
ltverificationReportgt
222 Configuration
The service is configured by a properties file (located at
IPOTooltrunksrcmainresourcesapplicationproperties) The default
applicationproperties has the following values
WIPO Sequence Validator properties
-- FOLDERS --
Base path to be used by the rest of folders
appbasePath=tempST26
Folder to put the files to be processed
appinboxPath=$appbasePathinbox
Folder to store the ST26 files once validated
appoutboxPath=$appbasePathoutbox
Folder to store the validation reports
appreportsPath=$appbasePathreports
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 7
November 2019
Parent folder for full and formality folders
appprocessPath=$appbasePathprocess
Files in process for a full validation are stored in this folder
appprocessfullPath=$appprocessPathfull
Files in process for a formality validation are stored in this folder
appprocessformalityPath=$appprocessPathformality
alternativeResourceBasePath=$appbasePathalt_resources
locale used for the localized messages from the verification report
validator_locale=en
-- Watcher
These properties control the process looking for files in the folders to be
processed
(see httpsdocsspringiospring-frameworkdocscurrentjavadoc-
apiorgspringframeworkschedulingconcurrentThreadPoolTaskExecutorhtml)
processingdelay=10000
processingcorePoolSize=5
Max number of files being validated concurrently
processingmaxPoolSize=10
processingqueueCapacity=1000
processingenabled=true
Logging (see httpslogbackqoschmanualconfigurationhtml)
logginglevelroot=info
logginglevelcomwipo=info
loggingpatternconsole=dyyyy-MM-dd HHmmss [thread] -5level logger36 -
msgn
In order to use an alternative properties file there are several options
When using the JAR as a Spring-Boot service
An applicationproperties file will be located using the following file paths in this order
- A config subdirectory of the current directory
- The current directory
- A classpath config package
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 8
November 2019
- The classpath root
When using the WAR deployed in a Tomcat Server
The applicationproperties file should be copied into the WEB-INFclasses folder of the
web application
The service should be restarted for the new properties to be applied
Setting language for verification report
The generated verification report and error messages are available in one of the following 10 languages (language codes) English (en) Arabic (ar) Chinese (zh) French(fr) German (de) Japanese (ja) Korean (ko) Portuguese (pt) Russian (ru) and Spanish (es)
English is the default language used In order to change the language ldquovalidator_localerdquo must be
modified in the applicationproperties file with the preferred language code eg for
changing language from English to Korean changed from validator_locale=en to validator_locale=ko
223 Custom Organisms
A list of custom organisms can be provided by an Office by
(1) Creating a file custom_organismjson and
(2) Setting the property alternativeResourceBasePath of the
applicationproperties file to a local folder which contains this file
This JSON file should have the following structure
[
valueCustom Organism Sample
valueCustom Organism Sample 2
]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 9
November 2019
3 Web Services API REST
In this section the Web Services API is described The API mainly consists of two services corresponding to the first and fourth use cases
validate a file in the inbox folder and
the request the status of a validation
31 Validation ST26 file Web Service
Request Mapping apiv1validate
Method POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation of an existing ST26 file in the Inbox folder Returns a unique verificationID for retrieving the status of the validation request
Request
nameFile type string
type typeString Possible values full | formality
Responses - 202 Accepted The ST26 file passed the formal validation and
their verification has started This code will also include a response message indicating a unique code for retrieving the verification report (verificationID) TheST26 file is moved to the ldquoprocessrdquo folder for processing
- lsquo400rsquo Bad request The REST request was not well formed or the ST26 file did not pass the XML validation This code will be complemented with a response message indicating the detail of the error
- 404 File not found The ST26 file was not found in the Inbox Folder
- 500 Server Error An internal error occurred This code will be complemented with a response message indicating the detail of the error
Precondition The ST26 file must be at Inbox folder specified by the user
Postcondition The ST26 file is moved as the Outbox folder with the structure
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]
Ref WIPO Sequence Validator Operation amp User Manual page 10
November 2019
[outbox][verificationID][filexml]
The verification report is generated at
[reports] [verificationID]report_[filexml]
32 Get Status process ST26 file Web Service
Request Mapping apiv1status
Methode POST
Consumes applicationjson
Produces applicationjson
Operation Request the validation status for a specific ST26 File
Request
verificationID type string
Responses - 200 Success This code will also include a response message
indicating a unique ID with the status of the verification process selected from
o RUNNING
o FINISHED
- lsquo400rsquo Bad request The REST request was not well formed
- 500 Server Error An internal error happened This code will also include a response message indicating the detail of the error
Postcondition The web service provides status of validation via HTTP status code
Assumptions -
[End of Manual]