Bielefeld University Center of Biotechnoloy Institute of Bioinformatics BiBiServ
seq_head.png 800x120
seq_nav_dist.png Databases Data Formats Genome Browser Alignments Database Search RNA Secondary Structure Webservices Literature
seq_nav_dist.png Technology A simple client Asynchronity  
institution_link.png 35x435  
Demo1  
Simple Client in Java using Axis
The WebService call we used in a previous exercise is written in Perl using SOAP-Lite (a commonly used SOAP API for Perl). But how can a WebService be used from the Java programming language? One of the most important SOAP toolkits for Java is the OpenSource project Axis, which is supported and developed by the Apache group. Axis is more than a simple API, it is a complete toolkit supporting development of WebService Servers and Clients in many ways. It offers e.g. the following tools and features:
  • wsdl2java: generating Java source code (skeleton structure) from a given WSDL file
  • java2wsdl: generating a WSDL document from Java source code
  • tcp-monitor: a tool to have a closer look on the data which is transferred between server and client
  • exception handling: exception on server side are represented as SOAP faults
Exercise1  
WebService choreography
Real-world bioinformatics problems can usually not be solved by using just one single tool. Instead, it is often necessary to feed one tool's output as new input into another tool. This process may have to be repeated several times with different tools, each processing the data in a different way, until one gets the desired result. Therefore, it will most probably be necessary to combine several WebServices into a so-called 'WebService choreography'.
Exercise2  
Combining WebServices
Although it is possible to do this combination work manually by connecting WebService clients via the command line, it is usually more efficient and comfortable to combine the different tools directly within one program, thereby encapsulating a whole workflow into a single new tool. This program can then be used over and over again to work an different input data, taking care of all the menial tasks involved in combining the different WebServices used within.
seq_ctbg1x1.png 1x1