Moby Web Services
Iván Párraga García
MSc on Bioinformatics for Health Sciences
May 2006
What are moby webservices?
• Technologically they are standard webservices
• Define a new layer on the protocol stack to:• Have a well known data
representation based on ontology
• Make easier the desired service discovery
• Make easier the construction of complex biological workflows (with support for error & async handling)
TCP / IP
HTTP
SOAP
Moby
Most common protocol stack in Moby
WSDL
Service Publication
Bio-service Publication
Network
XML Message
Service Description
Biological Data
Moby
UDDI
Service Discovery
Bio-service Discovery Moby
UDDI
MobyCentral
ServiceClient
ServiceProvider
Internet
Moby Protocol Interactions
1) Service development
2) Service publication3) Service discovery
4) Service request
5) Service response
The Registry: Moby Central
ServiceClient
ServiceProvider
Internet
MobyCentral
• Moby project provides Moby Central as a Perl server
• It is a directory of services, datatypes and how to locate them
Client Side
MobyCentral
ServiceProvider
Internet
ServiceClient
• There are different kind of clients
• Some of them allow the creation of workflows
Programmatic
libraries:
Client Side: MOWServ I
• Internet based client• Discovery of services based on data type
ontology or on service type ontology• It allows to connect easily service outputs to
service inputs• Interface helps to the Moby object
construction
Client Side: Mowserv II
Data types and service ontologies
Client Side: Mowserv III
1) Ontology browsing & service selection
2) Input submission
3) Selection output name
4) Service submission
5) Check execution status
6) Check results
Client Side: Mowserv IV
List of available services for this datatype object
Integrated HTML visualizer
Raw XML visualizer
Download MOBY object
Client Side: Taverna I
• Java based graphical integrated workbench
• It allows the construction of complex distributed workflows
• It can handle different kind of services (Moby and others)
Client Side: Taverna II
Processors = Webservices
Inputs
Outputs
Client Side: Dashboard
1) Select client execution tab
2) Select service to execute
3) Fill up input4) Execute service
5) Check output
Client comparison
Taverna MOWServ Dashboard
Easy to build workflows
Hard to build workflows
No workflow support
Discovery of services based on providers
Discovery of services based on ontology
Discovery of services based on ontology
Secondary inputs cannot be modified
Secondary inputs can be modified
Secodary inputs can be modified
Java program Web browser access
Java program
Client info
• Taverna downloadable at:• http://taverna.sourceforge.net/
• MOWServ accessible at:• http://www.inab.org/MOWServ/
• Dashboard donwloadable (as part of jMoby) at:• http://biomoby.open-bio.org/CVS_CONTENT/
moby-live/Java/docs/
Server Side
MobyCentral
ServiceClient
Internet
ServiceProvider
• Moby provides libraries for easier service development in different platforms & languages (Perl & Java)
• These libraries provide an abstraction of the underlayer protocols. The developer does not need to handle internet connections or SOAP messages and he can concentrate on the biological problem
Server Side: jMoby
• For java development• Hides totally underlayer protocols• Automatic generation of code
(developer just needs to concentrate on the biological problem)
• Include graphical tools for develop, testing, deploy and execution
• Dashboard is part of jMoby
Moby on the web
• All the info accessible at the Moby homepage at:• http://www.biomoby.org/
• All the tools and libraries downloadable via CVS (check previous URL for details)
Exercises
Top Related