[Bernstein09] Section 5.8. Summary

来源:百度文库 编辑:神马文学网 时间:2024/04/25 00:44:15
5.8. Summary
Manytypes of requests need to be executed as a multistep business process,not just as one transaction. Examples include processing an order,arranging a trip, or processing an insurance claim. Business processmanagement is the activity of creating, managing, adapting, andmonitoring business processes.
Likeany application program, a business process needs to be specified in aformal language. This can be an imperative language with the usualcontrol flow constructs, a finite state machine, or a graphicalnotation suitable for a visual programming tool.
Usuallya business process is supported by a special-purpose runtime system.Since a business process may run for a long time, days or even months,it must be possible for users to interrogate the process’s state.Hence, the business process runtime needs to log all the interestingevents that occur in a process that affect the process’s state. Theruntime system needs to offer functions for saving the state of abusiness process, if the process is idle or in anticipation of afailure, and for restoring the state when the process becomes activeagain or recovers from a failure.
Breakingup a request into a multitransaction business process loses thebenefits of isolation and atomicity. Therefore, a business processneeds to pay special attention to maintaining state in a way thatavoids interpreting the result of a partially executed process (andthereby break isolation) and that can interpret that state wheninvoking compensating transactions to cope with the failure of apartially executed process (to ensure atomicity).
Thereare several ways to maintain process state. There are special-purposeruntime systems that explicitly store state information while theprocess executes. Some systems use persistent queues to maintainprocess state. For business processes that engage in back-and-forthcommunication with a client, the client and business process server canuse a pseudo-conversation, which maintains the state of thecommunication along with some state information in the message. Arelated technique to cope with interactive transactions is to log itsI/O, so if it fails in mid-stream, its I/O can be replayed at recoverytime.