Requirements
For the interconnection of various heterogeneous bioinformatics resources we identified several demands:
- Open access of
- databases
- applications
- Independance
- Platform independence
- Programming language independance for at least Perl, Java, C/C++, Python
- Maintaining investment in legacy applications / databases
- Location transparency
- Scalability
- Interconnection and composite services
- Open standards for
- Data formats (preferably XML based)
- Protocols
- Datatransfer via the WWW
- .. and finally Open Source based
Web Services
Although a lot of middleware technologies are currently
available, but many of them don't fit our demands. Some of them require
commercial software (eg. TUXEDO) which is definitely an exclusion criteria.
Others like J2EE are implementable with Open Source software but they are
language dependant. Another issue are problems with the data format and/or the
used protocols. CORBA for example is language independant but operates with the
binary IIOP protocol and a port different to 80. This causes very often heavy
discussions with firewall administrators because they try to keep as much ports
as possible closed.
Taking all this pros and cons together one ends immediately at
Web Services. They offer everything one needs:
- Open Source software for development ...
- ... even language independant
- Transport via HTTP, FTP or SMTP protocol and the corresponding standard ports
- Transport of standard XML based data formats
- They allow location transparency and high pervasiveness
- Web Services are highly scalable and allow a huge number of nodes
- The technical requirements are very low. Even an Apache web server with Perl CGIs will fit the first needs