|
Overview
of CORBA Services
Transaction
Service
• The Transaction Service supports
multiple transaction models, including the flat (mandatory in the specification)
and nested (optional) models.
• The Object Transaction Service supports interoperability between different
programming models. For instance, some users want to add object implementations
to existing procedural applications and to augment object implementations with
code that uses the procedural paradigm. To do so in a transaction environment
requires the object and procedural code to share a single transaction.
• Network interoperability is also supported, since users need communication
between different systems, including the ability to have one transaction service
interoperate with a cooperating transaction service using different ORBs.
• The Transaction Service supports both implicit (system-managed transaction)
propagation and explicit (application-managed) propagation. With implicit
propagation, transactional behavior is not specified in the operation's
signature.
With explicit propagation, applications define their own mechanisms for sharing
a common transaction.
• The Transaction Service can be implemented in a TP monitor environment, so
it
supports the ability to execute multiple transactions concurrently, and to
execute
clients, servers, and transaction services in separate processes.
Concurrency
Control Service
• The Concurrency Control Service enables multiple clients to
coordinate their access to shared resources. Coordinating access to a resource
means that when multiple, concurrent clients access a single resource, any
conflicting actions by the clients are reconciled so that the resource remains
in a consistent state.
• Concurrent use of a resource is regulated with locks. Each lock is
associated with a single resource and a single client. Coordination is achieved
by preventing multiple clients from simultaneously possessing locks for the same
resource if the client's activities might conflict. Hence, a client must obtain
an appropriate lock before accessing a shared resource. The Concurrency Control
Service defines several lock modes, which correspond to different categories of
access. This variety of lock modes provides flexible conflict resolution. For
example, providing different modes for reading and writing lets a resource
support multiple concurrent clients on a read-only transaction. The Concurrency
Control Service also defines Intention Locks that support locking at multiple
levels of granularity.
<<
BACK
NEXT>>
|