Está en la página 1de 14

Unit 10

Distributed Object-based
Systems
Introduction
 The notion of an object plays a key role in establishing
distribution transparency.
 Everything is treated as an object and clients are offered
services and resources in the form of objects that they can
invoke.
 Example: CORBA

2
Distributed Objects
 The key feature of an object is that it encapsulates data, called
the state and the operations on those data, called the methods.
 Methods are made available through an interface.
 An object may implement multiple interfaces.
 For a given interface, there may be several objects that offer
an implementation to it.
 The separation between interfaces and the objects
implementing the interfaces allows us to place an interface at
one m/c , while the object resides on another m/c.
 This organization is referred as a Distributed Object.

3
Distributed Objects
 When a client binds to a distributed object, an implementation
of the objects interface, called a proxy is loaded into the
client’s address space.
 Proxy is similar to client stub and what it does is marshal
method invocations into messages and unmarshal reply
messages.
 The actual object resides at the server.
 Incoming invocation requests are passed to a server stub,
skeleton, which unmarshalls them to proper method
invocations at the object’s interface at the server.
 Such objects are also referred as remote objects.

4
Distributed Objects

Common organization of a remote


object with client-side proxy. 5
CORBA
 It is Common Object Request Broker Architecture.
 The global architecture of CORBA consists of 4 groups of
elements connected to Object Request Broker(ORB).
 It forms the core of the DS, it is responsible for enabling
communication between objects and their clients while
handling issues related to distribution and heterogeneity.

6
CORBA

The global architecture of CORBA.

7
CORBA
 The CORBA facilities are split into 2 groups: horizontal
facilities and vertical facilities.
 Horizontal facilities: consist of general-purpose high-level
services that are independent of application domains such as
user interfaces, information management.
 Vertical facilities: consist of high-level services that are
targeted to a specific application domain such as e-commerce,
banking etc.

8
Object Model
 In this model, the implementation of an object resides in the
address space of a server.
 Objects and services are specified in the CORBA Interface
Definition Language (IDL).
 An interface is a collection of methods and objects specify
which interfaces they implement.

9
CORBA

The general organization of a CORBA


system
10
Object Model
 The services offered by ORB:
 Handling basic communication between client and an object, i.e.,
ensuring that an invocation is sent to the object’s server and that
the reply is passed back to the client.
 Manipulating object references: it offers operations to marshal
and unmarshal object references so that they can be exchanged
between processes.
 It provides a means to obtain an initial reference to an object
implementing a specific CORBA service.

11
Object Model
 The proxy at the client application implements the same
interface as each object it is using.
 The proxy is the client-side stub that merely marshals an
invocation request and sends that request to the server.
 A response from that server is unmarshaled and passed back to
the client.

 There are occasions when a client needs to find out during


runtime what the interface to a specific object looks like and
then compose an invocation request for that object.
 For this, CORBA offers a Dynamic Invocation Interface (DII)
to clients, which allows them to construct an invocation request
at runtime.
12
Object Model: Server side
 CORBA provides an object adapter, which takes care of
forwarding incoming requests to the proper object.
 The unmarshaling is done ny means of stubs called skeletons.
 Server-side stubs can either be statically compiled from IDL
specifications , or be available in the form of generic dynamic
skeleton.

13
CORBA
Service Description
Collection Facilities for grouping objects into lists, queue, sets, etc.
Query Facilities for querying collections of objects in a declarative manner
Concurrency Facilities to allow concurrent access to shared objects
Transaction Flat and nested transactions on method calls over multiple objects
Event Facilities for asynchronous communication through events
Notification Advanced facilities for event-based asynchronous communication
Externalization Facilities for marshaling and unmarshaling of objects
Life cycle Facilities for creation, deletion, copying, and moving of objects
Licensing Facilities for attaching a license to an object
Naming Facilities for systemwide name of objects
Property Facilities for associating (attribute, value) pairs with objects
Trading Facilities to publish and find the services on object has to offer
Persistence Facilities for persistently storing objects
Relationship Facilities for expressing relationships between objects
Security Mechanisms for secure channels, authorization, and auditing
Time Provides the current time within specified error margins

Overview of CORBA services 14

También podría gustarte