Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.