Unit 10 Distributed Object-Based Systems
Unit 10 Distributed Object-Based Systems
Unit 10 Distributed Object-Based Systems
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
6
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
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.
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