Chapter 7 Flashcards
What are the limitations of direct TP?
Server unavailable
client/communication failure
load balancing for server pools is difficult
no scheduling/prioritization of requests
what are Queued transactions?
Queues used as buffers for requests and replies between client and server
What happens if the client fails or loses connectivity, or the queue fails?
after recovery, the client needs to resynchronize with the queues.
If a fail/crash occur. What are the four possible states for client?
TA1 did not run and commit (last enqued id doesn’t match last request) -> client should resubmit the request
TA1 commited, TA2 did not (last enqueued id different from last dequeued id and no reply) -> clients waits for reply
TA2 committed, TA2 did not (last enqueued id different from last dequeued id and reply avail) -> client can process the reply using reply queue
TA3 committed (last enqueued id equal last dequeued id) -> client has processed the reply, can continue with new request
What happens if TA3 fails?
if the operation is undoable the TA3 can be reexecuted
If the operation is idempotent (its repeated execution produces the same state) the TA3 can be reexecuted
If the operation is neither undoable nor idempotent-> it’s the most complicated. Processing the reply should involve loggin current device state on persistent store along with reply id and comparing the logged state with the current device state when reprocessing a reply
EJB Message-driven beans
Entity and session beans can use JSM to send asynchronous messages
Message-driven beans used to receive and process messages (implement a message listener interface; stateless)
Message Broker architecture
It’s focused on enterprise application integration. It works as a bridge between heterogeneous applications. The client submits a message to the broker instead of submit it directly to the application. The message broker then translates the messages to the TP systems and send such messages.
What are the roles of DBMS in a messageing world?
Persistence manager for messaging systems (store/retrieve messaging data and state information); provide advanced DBMS capabilities to achieve a DBMS/MQS synergy.
What are the advantages of use a database as a message store?
The message system can exploit integral database features as storage definition; buffer, cache; index creation, management, and organization; latching and lock management; transaction management and coordination; logging services