Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Service Architectures Yitao Duan 03/19/2002.

Similar presentations


Presentation on theme: "Distributed Service Architectures Yitao Duan 03/19/2002."— Presentation transcript:

1 Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002

2 Outline Overview CORBA JINI Summary

3 Overview 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?

4 CORBA The OMG grew out of the object technology boom of the 1980s. 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

5 Object Interoperability – CORBA Style All about Objects - Common Object Request Broker Architecture Interface defined in Interface Definition Language (IDL) 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

6 Communication ORB1 Stub Client Skel Object ORB2 Stub Client Skel Object IIOP OBR: Object Request Broker

7 CORBA ORB Architecture DII: Dynamic Invocation Interface DSI: Dynamic Skeleton Interface POA: Portable Object Adapter ORB Core Client DII Client Stubs ORB Interface Impl Skeletons DSI POA Object Implementation OBJ REF

8 CORBAservices OMG published 17 object services Naming Service Association of names to objects Locate components by name Trader Service – Object Yellow Page Match services by type and properties Concurrency Control Service A lock manager for transaction or threads

9 CORBAservices (continued) Transaction Service 2PC among recoverable components Flat or nested transactions Security Service authentication, access control, message protection, audit, non-repudiation, security management

10 JINI 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/

11 Jini – An Overview 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

12 Key Concepts Discovery Lookup Leasing Remote Events Transactions

13 Discovery Process used to find communities on the network and join them Enable spontaneous Jini community-building = finding (and joining) lookup services Protocols Multicast Request Protocol Multicast Announcement Protocol Unicast Discovery Protocol

14 Lookup Enables a client to find a particular srvc Maintains a list of Service Items. 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 …

15 Discovery and Lookup Jini Lookup Service Jini Service

16 Discovery and Lookup Jini Lookup Service Jini Service

17 Discovery and Lookup Jini Lookup Service Jini Service Proxy Code

18 Discovery and Lookup Jini Lookup Service Jini Service Proxy Attribute Proxy Attribute

19 Jini Lookup Service Jini Service Proxy Attribute Proxy Attribute Jini Client Discovery and Lookup

20 Jini Lookup Service Jini Service Proxy Code Proxy Attribute Proxy Attribute Jini Client

21 Discovery and Lookup Jini Lookup Service Jini Service Proxy Code Proxy Attribute Proxy Attribute Jini Client

22 Leasing Enables Jini’s stable, self-healing, self- adapting 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.

23 Remote Event 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.

24 Transactions Jini’s mechanism for allowing computations that may involve multiple services to reach a “safe” state Protects against partial failure Help address concurrency problems

25 Other issues Fault tolerance - Multiple lookup services in a community (also for load balancing) Mobility Discovery and lookup support spontaneous form of communities Leasing clears the system off any stale information Scalability Lookup services are services Supporting multiple communities

26 Other issues (continued) Security Distributed computing makes the issue tougher Jini doesn’t provide additional security mechanism Relies on Java 2 security Being worked on

27 Summary CORBA Low level primitives for distributed computing Language independent Pass remote object by references Network transparent Jini Flexible framework for building complex distributed systems Language-specific, OS independent Pass remote object by value (instances) Network aware

28 Jini Surrogate Architecture Category 1 Category 2 (MIDP, PersonalJava) Category 3 (J2ME CVM w/RMI Profile) Service N Service 2 Jini Lookup Service Jini client #1 Jini client #2 Jini client #n PDA Telephone Fax Pager TV set-top box VCR Gateway Service Provider Service 1 Internet Gateway Server

29 CORBA Interoperable Object Reference (IOR) Type Name (Repository ID) Protocol and Address Details Object Key (Adapter & Object Name) CORBA Interoperable Object Reference (IOR)

30 Binding of a persistent reference


Download ppt "Distributed Service Architectures Yitao Duan 03/19/2002."

Similar presentations


Ads by Google