|
Binding Java Remote Method Invocation Interfaces (RMI) with Open Orb Python Protocol Interfaces
16.12.2002
Abstract
A distributed environment of today consists of distributed objects/components implemented in various programming languages on various ORB platforms. Such platforms can be Java, Python, Cobol, etc. One of the goals for software developers is to make their components available to as many users/customers as possible. To reuse code is cheaper than to “reinvent the wheel”. If the code we want to reuse is available only on another platform we are faced with a problem. How do we access interfaces across platform boundaries?
One answer to this is to create software that makes it possible to bind interfaces of one language with any interface of another language. To make these bindings is a lot simpler if there is a common marshalling protocol between them. For instance that method arguments, return values and exceptions for remote interface methods are serialized in accordance with the same protocol. The Internet InterORB Protocol (IIOP) is such a protocol. In cases where there is no common marshalling protocol for two different languages the programmer, or we, need to get down to the low level of TCP/IP, and look at the properties of the bytes, i.e see what really happens down there when a call is made between two components or objects if you like.
APIs exist that makes communication between different platforms easier. The Java RMI over IIOP API makes it possible for Java components to interact with components written in C++, Smalltalk and other CORBA supported languages. One can say it supports binding Java objects with objects bound through CORBA.
This document describes the design, implementation and testing of a binding object. This piece of software will bind together client components written in OOPP (Open Orb Python Prototype) with distributed objects, i.e. server objects, written in Java RMI.
|