The Artima Developer Community
Sponsored Link

Jini Extensible Remote Invocation
A Conversation with Bob Scheifler, Part VI
by Bill Venners
August 12, 2002

<<  Page 2 of 8  >>


Exposing the RMI Protocol Stack Layers

The purpose of JERI is to expose more of the underlying protocol stack layers than are currently exposed in J2SE or JRMP. JRMP has a notion of object references, for example, but it is not exposed in public Java classes. They are internal com.sun classes you are not supposed to use. There's a description in the RMI specification for protocol layering, but none of those services are public classes. So the idea behind JERI is to expose those layers explicitly within part of your public specification and allow customization.

In JERI, you can customize the different layers by plugging in different pieces or subclassing different pieces in order to tailor the behavior. JERI has three layers. There is a marshaling layer, where the marshaling of arguments and marshaling of return values and thrown exceptions takes place. There is an object invocation layer, which is a thin layer that identifies what remote object you try to make a call on. And then there is a transport layer that implements the messaging protocol of sending the remote call or the request to the server and getting the response back. The messaging layer doesn't know about these other layers above. It's a request/response messaging layer that has arbitrary bytes in it. It doesn't know what the bytes are. It is just responsible for transporting the bytes.

<<  Page 2 of 8  >>

Copyright © 1996-2018 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use