Font Size: a A A

Research On Problems Of Software Service Business Processes Design

Posted on:2013-02-18Degree:DoctorType:Dissertation
Country:ChinaCandidate:X LiuFull Text:PDF
GTID:1268330425982869Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the idea and framework of service-oriented computing, human, computer and web are connected in business processes to achieve certain business goals. Busi-ness processes are widely used. The design of software service business processes consists of three important phases:selecting and reusing software services; designing and enforcing process constraints; and designing long-running transactions and com-pensation. Focusing on these three phases, our research is on key issues concerning improving the design of business processes.First, with respect to the phase of "selecting and reusing software services", our study focuses on service behavior manipulation in business processes. A key feature of service-oriented business process is to wrap software components as web services to reuse in service orchestration. The benefit of this methodology is the loose-coupling of components. When the business logic is defined, the services are selected to cooperate toward certain business goals. In the service composition, service behavior may not conform with the expectation of the overall business design:the business process only needs part of the service’s behavior, but there is no guarantee that the behavior can occur. We propose a scenario-driven service behavior manipulation approach, in which UML sequence diagrams are used as scenario-based specifications to describe business requirements on the behavior of the service. First, BPEL-Petri net model (BPN model for short) is constructed to represent the service behavior based on its BPEL specifi-cation. Second, the service behavior is analyzed based on paths of the BPN model by utilizing the notion of concurrent transitions. The set of behavior with occurrence of the scenario depicted by the UML Sequence Diagram is obtained by traversing the BPN model. Finally, by using the result of behavior analysis, the manipulator services are built to extract or filter out the behavior at run-time by monitoring, checking, and filtering the messages between the user and the target service. In addition, we developed a prototype tool called BASIS to facilitate the behavior manipulation and conduct a case study to illustrate the feasibility of this approach.Second, with respect to the phase of "designing and enforcing process constraints", our study focuses on preservation of data integrity constraints within business pro-cesses. With the services selected and manipulated to satisfy business requirements, the business process is designed with enforcement of workflow and data constraints concerning business logic. Data play essential roles in business processes. Data con-sistency, which is defined as a set of integrity constraints when the business process is designed, is a key issue to the correctness of business processes. In traditional business processes, data consistency is managed by underlying databases. This approach is problematic:(1) it is difficult to trace the origin in business processes when consistency failure is detected in databases;(2) consistency on distributed data of business pro-cesses cannot be effectively handled by current distributed data management technol-ogy;(3) it is not reasonable to assume the shared data storage service would preserve application-specific data integrity constraints, when business data are shared with other applications. We presents process strengthening mechanisms that guarantee to preserve integrity constraints by the business processes. First, with respect to declarative (rule-based) business process model and a given set of data integrity constraints, the guard injection approach is developed to inject additional predicate formulas into the guard of business actions to strengthen the enableness condition of data update actions, so that possible executions are restricted. Second, if a business process is modeled using workflow-based language like BPEL, the guard injection technique can be extended to check possible violation as early in the execution as possible. We developed a manipulation approach for business process data consistency. Upcoming executions are checked in bounded symbolic executions to see if there will be violations caused by some update. With these two approaches, the strengthened processes guarantee data consistency whenever the process updates the database(s). In addition, we show that the strengthening mechanisms are "conservatively complete", i.e., executions preserving the data consistency are allowed as many as possible.Finally, with respect to the phase "designing long-running transactions and com-pensation", our study focuses on the approach of compensation design and ensuring the correctness of long-running transactions. Transaction is one of the key activities of business processes. A series of actions are grouped in a transaction to exhibit certain behavioral properties, such as atomicity. Transactions in business processes are re-ferred to as long-running transactions, because the executions of these transactions last long, and have interactions with the environment. Due to the openness, long-running and sharing in the business processes, failed transactions cannot roll-back the world of the system. Compensation is therefore necessary. Compensation is a special process called when failure occurs in long-running transactions. There are two major problems in current work on long-running transactions.(1) There is no proper definition of the transactional properties of long-running transactions. That is, there is no proper requirement for the effect of fault handling and compensation. Most current work either assume the whole system state can be canceled, which is too strong, or assume nothing on the fault handling and compensation, which is too weak.(2) No guidance for design of long-running transactions and compensation. Most current work either require all operations are designed with a cancellation structure, or leave the complete design of compensation to the process designer. According to these problems, we propose the approach for designing and ensuring correctness of compensation in long-running transaction. First, an algebra-based design language BaT is abstracted from current business process implementation languages and theoretical work supporting long-running transactions. Second, design principles are proposed for compensation in long-running transactions. That is, on the scope-based transactional blocks, to ensure, on data critical to the business logic, either the commitment of all of the transaction or none of it (all-or-nothing principle), and that compensation is assured in case of failure in "parent" transactions (compensation principle). Finally, the design guidelines are given as sufficient conditions ensuring the design of compensation satisfies the principles, and validation using bounded model checking is also discussed.
Keywords/Search Tags:service-oriented computing, business process design, selecting and reusingsoftware services, designing and enforcing process constraints, designing long-runningtransactions and compensation
PDF Full Text Request
Related items