0% found this document useful (0 votes)
428 views5 pages

CORBA Object Services Overview

The 16 CORBA services provide capabilities for distributed computing including naming, trading, transactions, security, concurrency control, licensing, lifecycles, relationships, persistence, externalization, properties, querying, collections, and time. Key services include the naming service for object IDs, trader service for service discovery, transaction service for distributed transactions, and security service for authentication.

Uploaded by

Vinay Upadhyay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
428 views5 pages

CORBA Object Services Overview

The 16 CORBA services provide capabilities for distributed computing including naming, trading, transactions, security, concurrency control, licensing, lifecycles, relationships, persistence, externalization, properties, querying, collections, and time. Key services include the naming service for object IDs, trader service for service discovery, transaction service for distributed transactions, and security service for authentication.

Uploaded by

Vinay Upadhyay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

CORBA Services

16 object services are provided by CORBA.


I Services supporting enterprise distributed computing
(1)Naming Service:Objects have a unique ID used internally.
The naming service allows arbitrary names to be associated with
an object.
Names are unique within a naming context
Naming contexts form a hierarchy.
The resulting naming tree is similar to directory structures in file
systems.
(2)Trader service:Allows providers to announce their services by registering
offers.
Clients can use a trader to locate services by description.
Naming service - White Pages
Trader service - Yellow Pages.
(3)Event service, and (4) Notification service
event objects can be sent from event suppliers to event consumers
Event objects are immutable - information flows strictly in one
direction, from supplier to consumer.
Events travel through event channels that decouple supplier from
consumer.
The event channel supports both the push and the pull model of
event notification.
push model - the event supplier calls a push method on the event
channel, which reacts by calling the push method of all registered
consumers.
pull model - the consumer calls the pull method of the event
channel, effectively polling the channel for events. The channel then
calls a pull method on the registered suppliers.

(5)Object transaction service (OTS)


To build distributed applications.
supports flat and nested transactions.
maintains a current transaction context for ORB and non-ORB
transactional activities.
the context is passed to any object that implements interface
TransactionalObject.
The transaction operations begin, commit, and rollback are defined on
the current context.
(6)Security service
authentication, secure communication, delegation of credentials
(impersonation), and non-repudiation.
SSL is fine to establish simple authentication and secure
communication properties.
SSL does not support more advanced concepts such as
delegation or non-repudiation
II Services supporting architecture using fine-grained Objects
(7)Concurrency Control Service:
supports acquisition and release of locks on resources.
Locks can be acquired either within a transactional context or
within a non-transactional context.
Locks can be acquired in several lock modes - read, write, and
upgrade.
read lock allows multiple readers
write lock ensures single writer
upgrade lock is a read lock that can be upgraded to a write lock
because it guarantees mutually exclusive read access.

(8)Licensing service

The service defines two service manager to find out whether or not
its use is legitimate.
A licensed object contacts the license service manager and obtains a
reference to a producer-specific license service object.
All further activities are with this specific object. The licensed object
informs the specific service object that its use has started and passes
information such as the component name and version, the object
reference, and a user context.
specific service object - checks whether or not a valid license exists
for this user context
(9)Lifecycle service
supports creation, copying, moving, and deletion of objects and
related groups of objects.
For object creation - the lifecycle service supports registry and
retrieval of factory objects.
factory object can be used to create new objects.
(10)Relationship service
allows general relationships between objects to be specified and
maintained.
introduces an associative model (rather than using language-level
pointers or references) that allows relationships over objects to be
created without changing the involved objects.
(11)Persistent state service (POS)
supports persistence of CORBA 2 objects
POS was finally deprecated and replaced in CORBA 3 by the new
persistent state service (PSS).
provides an abstraction layer that shields persistent objects from the
persistence mechanism.
Example: objects can be stored in files, in relational or object DBs,
or in structured storage as used by compound document architectures.
Two basic operations are storing an object and retrieving an object.
(12)Externalization service

Externalization of an object needs to implement the Stream


interface.
externalize method on an object implementing the Stream interface.
This stream object invokes the externalize_to_stream method of the
streamable object and passes an object implementing the StreamIO
interface.
The streamable object can then use this streamIO object to write any
of the OMG IDL-defined data types or to write embedded objects.
The streamable object can also externalize an entire graph of objects
defined using the relationship service.
(13)Properties service
Properties can be added, retrieved, and deleted individually or in
groups.
If an object implements interface PropertySetDef, properties can be
further controlled by one of four property modes.
Properties can be normal (can be modified or deleted),
read-only (can be deleted but not modified),
fixed-normal (can be modified but not deleted),
fixed-read-only.
(14)Object query service
Helps to locate objects by attributes.
similar to the object trader service, but instead of locating servers it
locates object instances.
Queries are based on the attributes that objects make public or
accessible via operations.

Two query languages

(i)the Object Database Management Groups ODMG-93 object query language


(OQL)
(ii) SQL with object extensions.
Defines its own simple collection service. Collections are used while
processing queries to form result sets and are then returned to the querying
client.
collections provide ordered set semantics - operations to add and remove
elements or sets of elements.
provides an Iterator interface to support enumeration of the elements of a
collection.
Defines four entities query objects, query evaluators, query managers, and
queryable collections.
A query object encapsulates the query itself and operates in two stages.
(i) the query is prepared and then the query is executed.
(ii) A query evaluator can take a query and operate over a queryable collection
to process the query and return a result (collection).
(iii) A query manager creates query objects and delegates queries to the relevant
query evaluators.
(iv) The querying client finally uses an iterator to work through the collection of
returned results.
(15)Object collections service
The collection service supports collections of various abstract topologies, such
as bags, sets, queues, lists, or trees. The role model is the Smalltalk collectionclasses library .
(16)Time service
deals with the inaccuracies inherent in a distributed system with multiple
asynchronous clocks.
In many applications, real time information is used to correlate internal events,
such as creation of files, with universal time.

Common questions

Powered by AI

The CORBA Lifecycle Service enhances object management by supporting the creation, copying, moving, and deletion of objects and object groups. It allows for the registry and retrieval of factory objects, which can be utilized to create new objects dynamically. This flexibility facilitates dynamic lifecycle management of distributed objects, aligning object operations with application requirements .

The CORBA Security Service provides mechanisms for authentication, secure communication, delegation of credentials (impersonation), and non-repudiation. SSL is sufficient for simple authentication and secure communications but lacks advanced features such as credential delegation and non-repudiation. These advanced features are critical for secure distributed applications that require comprehensive security protocols beyond the basic capabilities of SSL .

The Externalization Service in CORBA allows objects to be serialized through the implementation of the Stream interface. By using an externalize method, objects can write data types defined in OMG IDL or embedded objects to a StreamIO object. This service streamlines integration with various persistence mechanisms, like files or databases, by providing an abstraction that separates object logic from storage specifics, enhancing interoperability and flexibility in distributed environments .

The Object Query Service enables efficient querying by supporting the creation of query objects, which encapsulate and prepare queries for execution. The service utilizes query evaluators to process these queries over collections, managed by query managers. Queryable collections return result sets that clients can iterate using provided interfaces. This structure allows sophisticated querying and retrieval processes, facilitating effective data manipulation in distributed systems .

The CORBA Concurrency Control Service manages resource locks in both transactional and non-transactional contexts. Locks can be acquired in read, write, and upgrade modes. A read lock allows multiple readers concurrently, while a write lock ensures exclusive access. An upgrade lock starts as a read lock but can escalate to a write lock, ensuring non-conflicting read access with the option to switch to exclusive write access when necessary. This flexibility allows efficient and safe management of resource access across different contexts .

The CORBA Relationship Service introduces an associative model that permits the creation and maintenance of object relationships without altering the objects involved. This contrasts with language-level pointers or references, which are more rigid and require object modification to establish relationships. The service allows relationships to be defined more dynamically and flexibly, providing a more versatile way to model complex interactions between objects .

The CORBA Naming Service uses a directory-like structure to facilitate object identification by allowing arbitrary names to be associated with objects. These names are unique within a naming context, which are hierarchical and form a naming tree. This hierarchy is similar to file system directories, enabling clear navigation and organization of objects within a distributed system .

The CORBA Event Service supports two models for event notifications: push and pull. In the push model, event suppliers directly push events to consumers through an event channel. In the pull model, consumers poll the channel for events. The Notification Service extends this by offering more quality of service features and capabilities for event filtering and structured events, providing a richer set of functionalities than the Event Service alone .

The Object Transaction Service (OTS) facilitates distributed transaction management by maintaining a current transaction context that can be used across both ORB and non-ORB activities. It supports flat transactions, which handle operations in a single, atomic transaction, and nested transactions, which allow transactions to be layered hierarchically, where subtransactions can commit or rollback independently of the outer transactions .

The Time Service addresses time synchronization challenges by handling inaccuracies inherent in distributed systems with asynchronous clocks. It allows real-time information to correlate internal events with universal time, helping improve synchronization and order of operations across different network nodes, thereby enhancing consistency and timing reliability in distributed applications .

You might also like