In many ways, using Web services is similar to using HTML. When a user
requests an HTML page from a remote Web server, the Web browser on the
user's machine communicates with the remote Web server by transferring
ASCII data. Often, a program that is running on the Web server has generated
the HTML file that displays in the user's browser. The Web browser cannot
tell the language used to write the program that generated the HTML. The
language and the operating system of the remote program are transparent
to the Web browser. Web services provide this same transparency when using
Remote Procedure Calls (RPC).
A Remote Procedure Call (RPC) is any mechanism that allows a program running on one machine to invoke code that is actually running on some other machine. There are a number of implementations of RPC (CORBA, RMI, DCOM, traditional client/server implementations, etc.). However, none of these implementations provides the level of transparency seen when using HTML.
Web services is a set of standards (W3C) for doing RPC. When programs use these standards, the data transferred between the programs is all ASCII data in XML format. This allows a program (the consumer program) to invoke code (the provider program) running on another machine, even when that provider program uses a different language.
BBj provides the ability to "consume" Web services and the
ability to "offer" a Web service that executes BBj code.
Consuming a Web service is relatively straightforward, but does require a Java SDK and the Java JAX-PAC (both available without charge from www.java.sun.com).
Offering a Web service involves configuring a Web Server that is aware of Web services (e.g. Tomcat Web Server available without charge from www.java.sun.com). After correctly configuring the Web Server, writing the Web service is straightforward.
For information about consuming Web services, see Consuming Web Services.
For information about providing Web services, see Providing Web Services.