Web Services in Pharmaceutical & Chemical IT - what is it ?

Web services is at this moment the ultimate form of web-enabling: instead of making software available through
the use of web browsers, web services allow local applications to
call methods of other applications that are located
somewhere else within the company (intranet) or somewhere else in the world (internet).

Or with other words: using web services, you can call methods or modules from other software packages
from within your own applications, even though these other software packages are located somewhere else
on other machines somewhere in your company.

The difference between web-enabling and web services

Whereas web enabling requires the user to work through a browser, sending HTTP requests and getting HTML back,
web services is about communication between applications.

Properties of web services

Essentially, web services mean that applications can "talk to each other", over the
intranet (or internet), independent of the computer languages the applications are written in,
what operating systems are used on both sides (the applications even do not need to know), and
without firewall issues.

As a specialist in web-enabling of (technical and scientific) software,
XML4Pharma can help you make your applications available as web services, and thus make
the use of your technical or scientific software much more cost-efficient.

Java

Perl

C(++)

Apache-Axis

SOAP::Lite

gSOAP

Web services have the following
advantages:

Web services use the HTTP protocol. This means that there are no firewall issues,
as web services use port 80, which is the same port as used by web browsers

Web services are independent of the software languages the applications are written in.
For example, your own application can be in Java or C++, whereas the application at the other side is written in C or in Perl (or even in
Fortran ! ).

Web services are independent of the operating system of the computers involved. For example, your own computer might
be running under Windows or Linux, whereas the computer at the other side is running under VMS. The only requirement is that both
computers have a connection to the intranet, and that the computer providing a web service has a web server (e.g. Apache) running.

Web services have the advantage over web-enabled applications that the user (consumer) of the web service can
develop its own simple sofware (e.g. in Perl) to perform high-throughput calculations. For example, a bioinformatician wanting
to perform BLAST-calculations on 100 different aminoacid sequences, can make a Perl script which calls a web service for
each of the aminoacid sequence, start it, and do something else, while the Perl script submits the 100 sequences to the BLAST webservice
somewhere else on the intranet, or even somewhere else on the internet.

Using web services, an application can call methods of other applications on different computers. For example, a simple application can
first connect to a web service that submits a number of search terms to a search engine (without having to use a web browser), and then submits
the results to a translating web service, which translates the results of the search into a different language.

As web services use the HTTP protocol, web services which run over the internet can be encrypted using https
(secure socket), so that hackers intercepting the messages, cannot read and understand the messages. Even more, as web services use XML for
the messages, these messages can be extra encrypted and authenticated through the use of the new XML-Security standard
(see www.w3.org/Security/)
for encrypting of XML and for electronic signatures

All together, web services is THE new way of implementing distributed computing

Furthermore: web services have the same advantages as web-enabling:

The cost for extra licenses of expensive
software is avoided as the software runs on one computer only (the
server).

If there are many users, one multi-processor computer can replace
many local workstations, leading to cost reduction.

The use of the software can be extended to
much more people than ever before. See also our achievements.

Validation of software (required by
regulatory authorities) is considerably more easy for centrally deployed software.

Web services technology

Mostly, web services use the SOAP technology. XML4Pharma has a vast amount of experience
of developing SOAP applications, in Perl, Java or C++.

For C-applications, SOAP as well as XML-RPC can be used. XML-RPC is the little brother of
SOAP, i.e. with less overhead. One can say that XML-RPC is a lightweight SOAP implementation.

XML4Pharma recently SOAP-enabled a good number of applications in the area of Bioinformatics. These
applications were written in C, C++, Java or Perl.

Software for which no source code is available, can often be web-services-enabled through the use of
"wrapping", i.e. developing a SOAP shell over the application. Mostly this is done using the Perl language, in which XML4Pharma has a good amount of experience.

Through this mechanism of "wrapping", even Fortran programs (usually very "web-unfriendly") can be made available as a web service.
Also this technique was used recently by XML4Pharma to web-service-enable Bioinformatics applications.