Web Services are functions or procedures that are accessible to other computer programs over a network, using a standard transport protocol and encoding. Typically, the transport protocol used is HTTP, the encoding is XML-RPC or SOAP, and the messages communicated between programs are exchanged as XML documents.
Web Services are all about interoperability. By encapsulating programming language-specific function or procedure call syntax into a standardized XML document syntax, Web Services allow any program deployed on any operating system to utilize a candidate function or procedure exposed as a Web Service.
Exposing program functions or procedures to be called remotely isn’t a new idea. Database stored procedures and EJBs are two longstanding examples of remote procedure calls. What’s new with Web Services is the level of interoperability built into them.
To call a database stored procedure, you must use a proprietary or standardized API such as JDBC. However, such APIs allow your program to call only functions or procedures that exist in a target database. These APIs also require a proprietary network protocol. Corporate firewalls typically don’t allow proprietary protocols to pass through them, so their use can limit the level of interoperability.
To call an EJB, you can either use the EJB API or CORBA, but this solution allows only an Enterprise Java program, or a program written with a programming language that uses a CORBA API, to use the target EJB. ...