Distributed Service Architectures Yitao Duan [email protected] 03/19/2002.

30
Distributed Service Architectures Yitao Duan [email protected] 03/19/2002
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    1

Transcript of Distributed Service Architectures Yitao Duan [email protected] 03/19/2002.

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

Distributed Service Architectures

Yitao [email protected]

03/19/2002

Page 2: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Outline Overview CORBA JINI Summary

Page 3: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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?

Page 4: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 5: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 6: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Communication

ORB1

Stub

Client

Skel

Object

ORB2

Stub

Client

Skel

Object

IIOP

OBR: Object Request Broker

Page 7: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

CORBA ORB Architecture

DII: Dynamic Invocation InterfaceDSI: Dynamic Skeleton Interface

POA: Portable Object Adapter

ORB Core

Client

DIIClien

t Stub

s

ORB Interface

Impl Skeleto

ns

DSI POA

Object Implementation

OBJ REF

Page 8: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 9: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

CORBAservices (continued) Transaction Service

2PC among recoverable components Flat or nested transactions

Security Service authentication, access control,

message protection, audit, non-repudiation, security management

Page 10: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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/

Page 11: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Jini – An Overview Service centered Fulfillment of original

Java vision – groups of devices exchanging data and code.

The Jini vision: Networkanything, anytime, anywhere!

Built on top of Java Ne twork Transport

Ope rating Syste m

Jav a Te chnology

Jini Te chnology

Se rv ice A p p licatio n

Page 12: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Key Concepts Discovery Lookup Leasing Remote Events Transactions

Page 13: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 14: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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 …

Page 15: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Discovery and Lookup

Jini Lookup Service

Jini Service

Jini Service

Page 16: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Discovery and Lookup

Jini Lookup Service

Jini Service

Jini Service

Page 17: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Discovery and Lookup

Jini Lookup Service

Jini Service

Jini Service

Proxy Code

Proxy Code

Page 18: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Discovery and Lookup

Jini Lookup Service

Jini Service

Jini Service

Proxy

AttributeAttributeAttribute

Proxy

AttributeAttributeAttribute

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

Jini Lookup Service

Jini Service

Jini Service

Proxy

AttributeAttributeAttribute

Proxy

AttributeAttributeAttribute

PDA

Jini Client

Discovery and Lookup

Page 20: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Discovery and Lookup

Jini Lookup Service

Jini Service

Jini Service

Proxy Code

Proxy

AttributeAttributeAttribute

Proxy

AttributeAttributeAttribute

PDA

Jini Client

Page 21: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Discovery and Lookup

Jini Lookup Service

Jini Service

Jini Service

Proxy Code

Proxy

AttributeAttributeAttribute

Proxy

AttributeAttributeAttribute

PDA

Jini Client

Page 22: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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.

Page 23: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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.

Page 24: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 25: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 26: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 27: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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

Page 28: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

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 ServiceProvider

Service 1

Internet

Gateway Server

Page 29: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

CORBA Interoperable Object Reference (IOR)

Type Name (Repository

ID)

Protocol and Address Details

Object Key (Adapter & Object Name)

CORBA Interoperable Object Reference (IOR)

Page 30: Distributed Service Architectures Yitao Duan duan@cs.berkeley.edu 03/19/2002.

Binding of a persistent reference