![]() |
WebSphere supports the object transaction service (OTS) and follows the CORBA transaction service specification for propagating transaction contexts; it forwards the transaction context from a client to the server. An ORB uses incoming transaction contexts to either handle transactions transparently or ignore transaction contexts that it does not understand.
For transactional support, a CORBA client of an Enterprise JavaBean must rely on one of the following options:
WebSphere C++ CORBA clients and servers only provide a client-side transaction service; they can only act as a transactional client to a server which supports a transaction service (for example, a WebSphere EJB server). Objects on a WebSphere C++ CORBA server are not recoverable.
In many cases the Enterprise JavaBean infrastructure within WebSphere automatically initiates transactions, even if the application code does not. If an Enterprise JavaBean calls a CORBA server from within a transaction, the following may happen:
If an EJB client is to use a CORBA server in the scope of a transaction, consider the following transaction timeout issue. If the Enterprise JavaBean is executing a loop, or if the server object takes an excessive amount of time to execute, and the Enterprise JavaBean executes within the scope of a single transaction, then built-in transaction timeouts can be exceeded. This causes unexpected failures that have nothing to do with CORBA architectural issues. This is natural behavior, but not necessarily expected if you are not familiar with the issues. This can be avoided by creating a new transaction each time through the loop.
For clients to third-party ORBs, you can use the coexistent ORB solution to start 3rd-party transactions.
Related concepts... | |
Parent: CORBA object services | |
The naming service | |
The security service | |
The CORBA programming model | |