BBj and Web Services


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 Capabilities

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

Offering a Web service involves configuring a Web Server that is aware of Web services (e.g. Tomcat Web Server available without charge from 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.