Distributed Service Architectures Yitao Duan duancs berkeley edu
Distributed Service Architectures Yitao Duan duan@cs. berkeley. edu 03/19/2002
Outline n n Overview CORBA JINI Summary
Overview n n n How different entities communicate with each other? How is a service discovered by client? How does the system adapt to faults? How is security addressed? Mobility? Scalability?
CORBA n The OMG grew out of the object technology boom of the 1980 s. n n Its founders were Data General, Hewlett-Packard, and Sun. Today some 800 (and growing) companies comprise the OMG. Together these companies have created and continue to create standards for object-oriented computing CORBA 1. 0 (October 1991) CORBA 3. 0 -- Pre-release Spring 1999, Commercial release late 1999
Object Interoperability – CORBA Style n n All about Objects -Common Object Request Broker Architecture Interface defined in Interface Definition Language (IDL) n n A contract between objects Marshaling/unmarshaling arguments and results. Independent of implementation. Heterogeneous language support, mapped to C, C++, Java, COBOL, Smalltalk, Ada, Lisp, Python etc. Objects live within server and are passed by reference
Communication Client Object Stub Skel ORB 1 OBR: Object Request Broker IIOP ORB 2
CORBA ORB Architecture Client DII Client Stubs Object Implementation OBJ REF Impl Skeletons ORB Interface DSI ORB Core DII: Dynamic Invocation Interface DSI: Dynamic Skeleton Interface POA: Portable Object Adapter POA
CORBAservices OMG published 17 object services Naming Service n n Association of names to objects Locate components by name Trader Service – Object Yellow Page n n Match services by type and properties Concurrency Control Service n n A lock manager for transaction or threads
CORBAservices (continued) n Transaction Service n n n 2 PC among recoverable components Flat or nested transactions Security Service n authentication, access control, message protection, audit, non-repudiation, security management
JINI n n Jini technology was publicly released on January 25, 1999. Current Release: Jini Technology Starter Kit v 1. 2 (released 12/2001) http: //developer. java. sun. com/developer/products/jini/
Jini – An Overview n n Service centered Fulfillment of original Java vision – groups of devices exchanging data and code. The Jini vision: Network anything, anytime, anywhere! Built on top of Java
Key Concepts n n n Discovery Lookup Leasing Remote Events Transactions
Discovery n n Process used to find communities on the network and join them Enable spontaneous Jini community-building = finding (and joining) lookup services Protocols n n n Multicast Request Protocol Multicast Announcement Protocol Unicast Discovery Protocol
Lookup n n Enables a client to find a particular srvc Maintains a list of Service Items. n n n Service Item = Downloadable proxy object + Attributes Searchable by object type, ID, or attributes Services join the lookup services Clients download proxy objects and request service from them Proxy: performs …
Discovery and Lookup Jini Service Jini Lookup Service Jini Service
Discovery and Lookup Jini Service Jini Lookup Service Jini Service
Discovery and Lookup Proxy Code Jini Service Jini Lookup Service
Discovery and Lookup Attribute Proxy Attribute Jini Service Attribute Jini Lookup Service Jini Service
Discovery and Lookup Attribute Proxy Attribute Jini Service Attribute Jini Lookup Service Jini Client
Discovery and Lookup Attribute Proxy Attribute Jini Service Jini Lookup Service Proxy Code Jini Service Jini Client
Discovery and Lookup Attribute Proxy Attribute Jini Service Jini Lookup Service Proxy Code Jini Service Jini Client
Leasing n n n Enables Jini’s stable, self-healing, selfadapting nature. Acknowledges explicitly the fact that network is transient Resources are allocated for a specific time period. If the resource is needed longer, the client must renew the lease, demonstrating its continued need.
Remote Event n n Provide asynchronous notifications to Jini clients and services Adhere to Jini leasing so that event generation can survive the transient nature of clients on a network.
Transactions n n n Jini’s mechanism for allowing computations that may involve multiple services to reach a “safe” state Protects against partial failure Help address concurrency problems
Other issues n n Fault tolerance - Multiple lookup services in a community (also for load balancing) Mobility n n n Discovery and lookup support spontaneous form of communities Leasing clears the system off any stale information Scalability n n Lookup services are services Supporting multiple communities
Other issues (continued) n Security n n Distributed computing makes the issue tougher Jini doesn’t provide additional security mechanism Relies on Java 2 security Being worked on
Summary n CORBA n n Low level primitives for distributed computing Language independent Pass remote object by references Network transparent n Jini n n Flexible framework for building complex distributed systems Language-specific, OS independent Pass remote object by value (instances) Network aware
Jini Surrogate Architecture Category 3 (J 2 ME CVM w/RMI Profile) Jini client #1 Jini client #2 Jini Lookup Service Jini client #n Category 1 Telephone Service 1 Fax Category 2 PDA (MIDP, Personal. Java) Pager VCR TV set-top box Gateway Server Internet Service 2 Gateway Service Provider Service N
CORBA Interoperable Object Reference (IOR) Type Name (Repository ID) Protocol and Address Details Object Key (Adapter & Object Name) CORBA Interoperable Object Reference (IOR)
Binding of a persistent reference
- Slides: 30