
This tutorial is intended to describe the process of designing, implementing and assembling and deploying an RMI-IIOP server application using the SAP NetWeaver Developer Studio. It shows how you develop both Java and CORBA clients that use the application.
Although it is quite simple to implement, this application depicts a more complex scenario involving bi-directional communication between the client and server application parts. That is, the server-side application makes remote calls back to the client and includes the results from the callbacks into the response to the client (the client behaves as a server-side remote object during the callbacks).
Application Calls Flow
The implementation of the server-side application starts with the development of the remote object - in our example, this is a stateless session bean. The callback object is represented on the server-side by a remote interface declaration (that is, an interface that extends the java.rmi.Remote interface, or any other interface that inherits the latter). Since the bean performs remote calls on methods of the callback object, it must possess the corresponding stub class. Therefore, you must generate a stub class for the callback object and insert it into the server-side application archive.
The next significant implementation step is to generate the IDL based representation of the enterprise bean and the callback object. Having the IDL files is a prerequisite that later helps you to develop the client application in different programming languages. In our example, we develop a C++ CORBA client, and a Java one. Using an appropriate IDL compiler, you get the source code files in the programming language you are about to use to develop the client application.
The IDL compilers must be provided by the vendor of the ORB that you use on the client-side.
The last implementation step is to implement the client that calls the enterprise bean.
By the end of this tutorial, you will be able to:
Systems, Installations, and Authorizations
This example will not work with JDK versions 1.3.x or lower!
Knowledge