8. Architecture Overview JINI Services Remote Method Invocation TCP/IP The JINI Architecture Java Virtual Machine Data Link Layer
9. JINI Service-Oriented Architecture JINI Service Lookup Service Client Publish Bind/Invoke Find Attribute Proxy Proxy Lookup Service Publish Bind/Invoke Find Attribute Proxy
10.
11.
12. JINI Service JINI Client (Consumer) LUS – Lookup Service JINI Process 1. JINI service discovers LUS and registers its service 2. JINI client discovers LUS and locates the desired JINI service 4. JINI client uses proxy to contact JINI service directly 3. JINI client receives Java proxy for JINI Service
13. Discovery Service Provider Proxy Attributes Lookup Service Client Service provider or client seeks a Lookup Service
14. Join Service Provider Proxy Attributes Lookup Service Client A Service provider registers a service proxy and its service attributes with the Lookup Service Proxy Attributes
15. Lookup Service Provider Lookup Service Client A client requests a service by its type and/or its attributes. A copy of the proxy is moved to the client. Proxy Attributes Proxy
LUS - that acts as a broker/trader/locator between services and clients. (Note that the JINI specification is fairly independent of network protocol, but the only current implementation is on TCP/IP). When new services become available on the network, they register themselves with a lookup service. When clients wish to locate a service to assist with some task, they consult a lookup service. Code is moved around between these three pieces, and this is done by marshalling the objects. This involves serializing the objects in such a way that they can be moved around the network and later reconstituted ( deserialized ) by using included information about the class files as well as instance data. The scenario of using JINI services is as follows: first, the client uses the lookup server to find the service(s) it wishes to use. The lookup service then returns information to the client (in the form of a Java Proxy) which allows the client to contact the service directly. Thereafter, the client and service exchange information directly and the lookup server is no longer required.