When starting an Execution Environment, you can pass it environment parameters. During the initialization, standby sessions are created that connect to the Data Object Broker and wait for requests to start a TIBCO Object Service Broker session.
After the Execution Environment is started, TIBCO Object Service Broker returns to your client program the name of the Table Data Store (TDS) to which your Execution Environment is connected. When locating an Execution Environment, a handle to an Execution Environment that is already started is returned to the client program.
When the Execution Environment is stopped, all sessions are terminated and disconnected from the Data Object Broker. Your handle to the Execution Environment is no longer valid.
To start a session, you need a valid handle to an Execution Environment. When starting a session you can pass it session parameters. During session initialization, an available standby session is acquired, login security and profile processing is performed, and the login transaction is completed. After the session is started, the handle to the session is released back to the client program.
When stopping the session, the session is released back to the pool of standby sessions and control is returned back to the client program. Your handle to the session is no longer valid.
A stream is a transaction nesting level within which you can modify its transactional characteristics, and start and end a transaction. When you start a stream, the transaction nesting level increases by one and it temporarily suspends the ability to access the parent transaction context. When you end a stream, it decreases the nesting level by one and resets the transaction context to that of the previous stream level.
These characteristics are inherited from the user profile and the parent stream in the same way that the EXECUTE statement provides for inheritance. You can modify stream characteristics when the stream does not contain a started transaction.
When you start a transaction stream the transaction nesting level increases by one and it temporarily suspends the ability to access the parent transaction context. When you end a stream, it decreases the nesting level by one, and resets the transaction context to that of the previous stream level.
These characteristics are inherited from the user profile and the parent stream in the same way that the EXECUTE statement provides for inheritance. When a transaction ends, changes made to persistent table data are committed and all locks are dropped.
You can commit persistent table changes to TDS and external database tables; logical locks acquired during the course of the transaction are retained after the commit. You can also roll back and discard all changes to TDS and external database tables made since the last commit or transaction start.
You specify the name of an entry rule to be called and its arguments. When the rule completes within the transaction environment, control is returned back to the client program. In addition, the client program can pass DATA-IN and DATA-OUT areas to the session. The rule can read the DATA-IN areas using MAP tables or tools such as
$GETENVCOMMAREA. The rule can write to DATA-OUT areas using MAP tables or tools such as
$SETENVCOMMAREA. The rule can also access other data in the address space if the storage is registered to the MAP table facilities.
You can use the $RULENAME shareable tool to find out the name of a rule in the current transaction or in a parent transaction.