Professional Documents
Culture Documents
Wilkinson
is a Research Associate of
BioMOBY: An open source
Bioinformatics at the Plant
Biotechnology Institute of the
National Research Council of
biological web services
Canada. His research interests
include database
interoperability, user interface
proposal
design and floral developmental
Mark D. Wilkinson and Matthew Links
Date received (in revised form): 24th September 2002
mutants.
Matthew Links
is a bioinformatician at the Abstract
University of Saskatchewan.
His research interests are
BioMOBY is an Open Source research project which aims to generate an architecture for the
focused on the application of discovery and distribution of biological data through web services; data and services are
• MOBY Central – a registry holding as the input to new service requests; and
the input and output object types of all backwards compatibility is achieved by
registered services, the URL for these allowing an existing client to interpret
services, and their service types. new complex objects by examining the IS
A/HAS A relationships of those objects
• Object and Service hierarchies – two and extracting only the data it can
hierarchies describing the relationships manage; finally, data providers are
between MOBY Objects and MOBY encouraged to conform to pre-existing
Service types respectively. data formats rather than create new ones.
Non-native objects can
be passed by BioMOBY Non-native objects, though they can
be discovered and transported by the
MOBY OBJECTS BioMOBY system, are currently not fully
An ID number is often sufficient to described by the inheritance hierarchy,
The MOBY Central The MOBY Central API allows broadly applicable system in the
Registry API allows the queries for service providers based on biological context.
end-user to wander service-type, input, output and/or
through the data
authority. Queries based on input type Recently, development of UDDI has
allow the user to ‘wander’ through the been assumed by the Organization for the
data space with each next step being Advancement of Structured Information
offered as a list of services able to act on Standards (OASIS),13 and the restrictive
the data objects they have received from licence has been removed. Thus none of
the previous service transaction (or one of the arguments above preclude our use of
their cross-references). In addition, since UDDI at some point in the future;
output objects may immediately be used however, BioMOBY is a research project
as input to a new service, this registry attempting to define biologically intuitive
structure also allows the discovery of a registry behaviour. Once this behaviour is
Table 1: Overview of the current API for MOBY-Central. The API consists of three types of
actions: registration, location/search and retrieval
implementing and interacting with web providers should implement Services that
services onto either MOBY Central or generate not only the lightweight
the Client program. The use of SOAP,14 Objects, but also the rich Objects and/or
rather than common object request Objects from external representation
broker architecture (CORBA)15 is one schemas, in order to provide clients with
such decision. Modules supporting SOAP all of the available information if they
transactions are freely available for most require it.
Instructions for common programming languages, and Deploying a MOBY Service requires
deploying a service deployment of SOAP services can often the following simple steps:
be achieved with only a few lines of code
in addition to the underlying script that • Set up SOAP server on your web site,
generates service output. Auto-generation with subroutines for each Service you
of WSDL16 documents by MOBY wish to provide.
Central (as described below) alleviates the
need for these somewhat complex • Register these Services with MOBY
documents to be created by the service Central
host for each of their services, and
removes the burden of updating these as • Handle incoming requests
MOBY Objects and Services evolve.
Defined input/output Object structures, – parse Objects from the arguments
the Object hierarchy, and the overall passed to your Service,
simplicity of most MOBY objects were
Simplicity requires
additional services
also intended to simplify service creation. – validate these Objects (and/or
The trade-off to having this simplicity, Namespaces) as correct input to
however, is in the number of services that your service,
must be created to achieve comprehensive
coverage of the available data; service – extract the necessary data from each
OK
the cross-referencing Triples as additional
Register Service input object types to the MOBY-Central
OK query phase. What is returned is thus a list
DATA
of services available to work not only on
Data Object Type
Available Services
the requested data object, but also any of
Service Types the cross-references. We also anticipate
**
Selected Service that services will be constructed whose
Service Def. Request
sole purpose is to generate cross-
WSDL
Data Object
references as an additional way to ensure
Data Object
that the user is presented with all possible
Available Services
Service Types Collaborations and data
** Selected Service
Service Def. Request
security
WSDL
The BioMOBY architecture facilitates
Data Object collaborative data-sharing in a local area
Data Object network (LAN) environment or a wider
DATA
network. Local installations of MOBY
Data Type(s)
Available Services
Central may exist on which only locally
Service Types available data services are registered.
Client programs would be configured to
check the local MOBY Central in
Figure 1: Progression of a typical BioMOBY session. Messages with a addition to a public server in order to
light grey background represent the Registration phase, those with a present users with both local and publicly
white background represent the Query phase, and a dark grey available data. Alternately, data may be
background represents the Transaction phase. Apart from the initial securely shared by an authentication
seeding of data into the system, user interaction is required only once
system running over an HTTPS
per transaction ( ) in order to select the service they desire to transact.
Other transactions are done between Client and MOBY-Central, or connection to the server. In the latter
Client and Service provider case, HTTPS connections could also be
made to the individual secure services
during the transaction phase.
MOBY Central can be input object type. For example, a request
deployed in a LAN for services that are able to use the Class CONCLUSION
environment ‘Sequence’ as input, could additionally BioMOBY is an Open Source research
stipulate the inclusion of services that are project with the aim of exploring novel
able to use any parent object (eg ways of implementing a web-services
VirtualSequence, since Sequence ISA registry to facilitate the discovery and
VirtualSequence). sharing of biological data. The approach
extends the current web-services
Service ‘amplification’ paradigm by implementing an innovative
Where appropriate, a Service may pass as registry model that allows search and
many cross-references as it is aware of in retrieval based on object and service
Cross-references its response CRIB. Cross-references allow hierarchies. In addition, by passing
amplify the number of us to branch out from our flow of minimalist data objects whenever possible
available next-steps exploration to obtain related information as both the input and output of a query
about the Object in hand. Further, we the BioMOBY system facilitates the
expect that many Client programs will ‘wandering’ through large data sets in a
take advantage of these cross-references to manner similar to the thought process