spacer

PDBe API Documents

Work Progress...

- Three layer of design for the MSD-API framework has been completed. This design includes Data layer, Science layer (Chemistry) and User layer.

- Implementation of Data layer has been completed using native Oracle Call Interface (OCI) as well as ODBC, and other database engines like as MYSQL, DB2, POSTGRESQL are supported. Languages used are C++ and SQL. XML parser is used to parse and manipulate XML export form of PDBe Data.

- Chemistry layer mostly (%80) completed by preparing functions to manipulate sequences, coordinates, search entries using Residue properties, PDB-like queries and so on. A LISP evaluator and a small PROLOG for protein Ontology has been customized inside the Chemistry layer and operates as a built in evaluator to use optional LISP programs. Also, on the fly container objects can be created and manipulated in this layer using dynamic and symbolic data to combine query results. This evaluator generates byte code and is efficient enough to be used in the future development of an interactive 3D database browser. Languages used are C/C++ and LISP.

- Looking for an interface similar to CORBA finally led us to use Web Services and SOAP (Simple Object Access Protocol) in User layer. SOAP, the XML based messaging system has been implemented in this layer for direct Internet and Intranet connectivity to MSD. This allows third party application developers to access the PDBe through the Internet over HTTP protocol and firewalls. Our main efforts have been in this area. In addition, plain C language wrappers and Java wrappers using Java Native Interface (JNI) have been developed.

- Multi threaded, Stand-alone PDBe API SOAP Server: MSDSOAPSERVER has been implemented and as a Beta system is now under test with our partner sites. More information is available at: /msd/api/

End point URL for this Web Service is: http://www.ebi.ac.uk/msd-srv/msdsoap

- API SOAP Server methods are available outside the firewall, partly for trusted users only and partly for all users.

- Remote Objects, Methods and on the fly Result Set Object Containers has been implemented in Web Service (SOAP) Server. This is simplified Object Request Broker implementation, which has been done through SOAP. Objects created in server side can be referenced by their names.

- Security layer has been developed and added to the server.

- For fast and efficient large scale data transfers, Base64 Binary Data transfer methods has been implemented for the API.

- Interoperability tests have been done through developing clients in C/C++, Java, Perl and PHP and tests have been done successfully for all implemented methods in API Web Service (SOAP) Server.

PHP executable Example: http://www.ebi.ac.uk/~sobhany/api/msdsoapTest.php

Perl Example: /msd/api/

Primary developer: Siamak Sobhany
last modified: 31/03/04


Document mantained by: Gaurav Sahni
spacer
spacer