= Guideline for Web Services = This document is a guideline to design of web services toward integration. * REST * For a database service, REST services to get entries and search by a keyword should be provided. * To unify a format of a query, a query language should conform to Common Query Language. * A method to get the number of hits for a keyword should be provided. * A method to get the list of hit entries for a keyword should be provided. * A method to get the entry from an ID should be provided. * If the entry does not exist, the method should return code 404 and an empty entry. * Path parameters (/foo/bar/baz) should be used for a REST URL and query parameters (param1=value1¶m2=value2) should not used. * Lower-case letters should be used for path parameters in principle. * If a URL ends "/", a list of possible strings after the URL should be returned in principle. * When a method return a list, each line should correspond to an entry and each field should be divided by tab. * SOAP * A manual for each method should be prepared. * The manual should include an example of parameters such that the method works well by them. * Each method should be verified to use Java, Perl, Ruby and Python. * Providing sample codes for such languages is better. * For non-synchronous services, a job ID should be provided. * When any error occurs during processing at a server, a method = TogoWS TogoWS Guidelines = == REST == TogoWS stated the rulers as below: * http://togows.dbcls.jp/site/services.html * http://togows.dbcls.jp/site/rest.html === How to call the entries === {{{ http://togows.dbcls.jp/entry/database/entry_id[,entry_id2,...]/field[.format] }}} How to include the name space of the databases in URL: * http://frnadb.example.org/entry/id instead of http://frnadb.example.org/entry/frnadb/id How to add the name spaces for the institution, release_numer of the database: * http://togows.dbcls.jp/entry/birc-hinv-5.0/HIT0012345 NOTE: The default fotmat for the entries is “.txt”, and can be in the specified format by adding the suffix, such as “.xml”. エントリの部分要素取得について: エントリの一部を field 名で取得できる機能は !BioRuby/BioPerl を利用した TogoWS の拡張ですが、 バックエンドが XML データベースの場合など、field の代わりに XPath を利用することも検討可能。 === How to search the entrie === {{{ http://togows.dbcls.jp/search/database/query+string[.format][/offset,limit[.format]] http://togows.dbcls.jp/search/database/query+string/count }}} he format of "query string" to be based on “Common Query Language" [http://en.wikipedia.org/wiki/Common_Query_Language Common Query Language] === The conversion and data format and ID === {{{ http://togows.dbcls.jp/convert/data_source.format }}} === Metadata === * The list of the databases {{{ http://togows.dbcls.jp/entry/ http://togows.dbcls.jp/search/ }}} * The list of the fields {{{ http://togows.dbcls.jp/entry/DB名/ }}} * The list of the formats {{{ http://togows.dbcls.jp/entry/DB名/formats }}} == SOAP == * Required test environment * Perl: Soap::Lite 0.69 * Ruby: SOAP4R 1.5.5 (Ruby 1.8.6 bundle) * Python: SOAPpy 0.12.0 * Java: Axis 1.4 * SOAP version 1.2, at least * Calling a method with asynchronous * The name for the method with asynchronous end with “Async” and return job ID * Rerurn job ID to “CheckAsyncStatus?” method and give either RUNNING, COMPLETED, or ERROR * Method name for the method with asynchronous mst be” BeginInvoke methods+Result” and stae job ID as a parameter == History == * version [wiki:Manifest2.0_e] (2009/03/20)