1. CORRECT DIAGRAM
  2. The architecture diagram in the ICEIS proceedings is incorrect. The correct diagram is shown below:

     

  3. A DEMONSTRATION FOR THE PAPER "INTEGRATION OF OBJECT-ORIENTED FRAMEWORKS HAVING IDL AND RPC-BASED COMMUNICATION"

The implementation outlined below is only for a demonstration of the feasibility of the architecture in the paper "Integration of Object-Oriented Frameworks having IDL and RPC-based communication". It may not be the best implementation possible and may not represent the highest performance achievable by the architecture. The architecture integrates an RMI-based framework with an EJB-based framework. Neither of these frameworks are actually used in the implementation. Rather, their behavior is simulated. What is implemented are the adapters. The objective of the demonstration is to show what type of message transformations need to take place in order to integrate an RMI with an EJB framework.

Two calls are implemented in the demonstration for sending a call from the client framework to the remote server framework. They are: rpcCreateObject and rpcExecuteCall

rpcCreateObject

The syntax of an rpcCreateObject() call:

DOR rpcCreateObject(CharacterArray fmwkName , CharacterArray className, MarshalledArg marg)

An interface is named as <hostname of the remote framework>_<other part of name>. For simplicity, in the demonstration, the framework ("fmwkName") name is the hostname. The className argument is the name of the server class to instantiate. The MarshalledArg class is composed of RpcArg objects. The RpcArg class includes a type identifier along with a String representation of the data. (A definition of the RpcArg and MarshalledArg is included in the download). The marg parameter represents the arguments to initialize the server object.

In the demonstration, the call to rpcCreateObject is made as follows:

"rpcCreateObject" <newline>

<class name> <newline>

<type identifier> <newline>

<String value of parameter> <newline>

<type identifier> <newline>

<String value of parameter> <newline>

...

<EndOfCall>

The above class returns a Distributed Object Reference as a String which can be parsed into two parts:

  1. A first part representing the framework name, N
  2. A second part, separated from the first by a space, which contains a framework dependent object reference, P

An example of a DOR is "localhost abd012345"

The return value is thus a single line composed of a string with a space in the middle.

rpcExecuteCall

This call has the following syntax:

MarshalledArg rpcExecuteCall (DOR dor, CharacterArray methodName, MarshalledArg marg)

The "dor" parameter is returned from a previous rpcCreateObject call. The methodName parameter is the name of the method to call. The arguments of the method are passed in the "marg" argument.

The sequence of messages sent in this case is:

"rpcExecuteCall" <newline>

<dor> <newline>

<methodName> <newline>

<type identifier> <newline>

<String value of parameter> <newline>

<type identifier> <newline>

<String value of parameter> <newline>

...

<EndOfCall>

You can download the zip file for the demonstration. It is java-based, you will need a jdk package to run it.

1

Hosted by www.Geocities.ws

1