12
WIPO Sequence Validator V1.0.0 Beta Operation & 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 ST.26 sequence listings submitted to the Office.

WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 2: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 3: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 4: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 5: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 6: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 7: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 8: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 9: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 10: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 11: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]

Page 12: WIPO Sequence Validator · application server compatible with Spring Boot 2 and Servlet Spec 3.1+ is required, such as Tomcat 8.5 The following sections detail the deployment as a

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]