user manual

276 BES Developers Guide
System Contracts
Local Transaction support: the application server manages resources
directly, which are local to the Resource Adapter. Unlike XA Transactions,
local transactions can neither participate in the two-phase commit (2PC)
protocol, nor participate as a distributed transaction (whereas the
transaction context is simply propagated); instead, local transactions solely
target one-phase commit (1PC) optimization. A Resource Adapter defines
the type of transaction support in its Sun standard deployment descriptor.
When an application component requests an EIS connection as part of a
transaction, Borland Enterprise Server starts a local transaction based on
the current transaction context. When the application closes the
connection, Borland Enterprise Server commits the local transaction, and
cleans up the EIS connection once the transaction is completed.
XA Transaction support: a transaction is managed by a transaction
manager external to the Resource Adapter and the EIS. A Resource
Adapter defines the type of transaction support in its Sun-standard
deployment descriptor. When an application component demarcates an
EIS connection request as part of a transaction, the Borland Enterprise
Server is responsible for enlisting the XA resource with the transaction
manager. When the application component closes that connection, the
application server unlists the XA resource from the transaction manager,
and cleans up the EIS connection once the transaction is completed.
In compliance with the Connectors 1.0 specification, VisiConnect provides
full support for all three specified transaction levels.
One-Phase Commit Optimization
In many cases, a transaction is limited in scope to a single EIS, and the EIS
resource manager performs its own transaction management - this is the
Local Transaction. An XA Transaction can span multiple resource managers,
thus requiring transaction coordination to be performed by an external
transaction manager, typically one packaged with an application server. This
external transaction manager can either use the 2PC protocol, or propagate
the transaction context as a distributed transaction, to manage a transaction
that spans multiple EISs. If only one resource manager is participating in an
XA Transaction, it uses the 1PC protocol. In an environment where a singleton
resource manager is handling its own transaction management, 1PC
optimization can be performed, as this involves a less expensive resource
than a 1PC XA Transaction.
Security Management
In compliance with the Connectors 1.0 specification, VisiConnect supports
both container-managed and component-managed sign-on. At runtime,
VisiConnect determines the selected sign-on mechanism based on
information specified in deployment descriptor of the invoking component. If
VisiConnect is unable to determine the sign-on mechanism requested by the
component (most often due to an improper JNDI lookup of the Resource
Adapter connection factory), VisiConnect will attempt container-managed