Font Size: a A A

Design And Program Of Union Workflow Engine System

Posted on:2010-06-25Degree:MasterType:Thesis
Country:ChinaCandidate:Y LiuFull Text:PDF
GTID:2178360302966140Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As the popularization of J2EE and the application of work flow concept, it is urgent to provide a cross platform (hardware platform) and cross product (software platform) workflow engine based on J2EE. UWFE(Union Workflow Engine)is a J2EE based one supporting IBM WebSphere MQ Workflow and BEA WebLogic Integration.The current paper discusses the model, design and development of union workflow engine, including:1. Flow schedulingWorkflow is a set of several precedence tasks, manifested by a piece of directed graph. According to this concept, in UWFE, each workflow template completes a request, normal or abnormal, without countermatch and circulation. When abnormality occurs, it turns to another request, processed by a new workflow-sub workflow.The entire workflow scheduling process is divided into scheduling and dispatching work orders. Process scheduling includes: process starting, process stopping, process hanging, process recovery, exception process information and an interface to obtain the orders flow. Task Scheduling includes: task printing, normal finishing of non-forking task and normal finishing of optional branch flow task, the abnormal return to a normal node under normal circumstances, the normal return to an abnormal node under normal circumstances, the normal return to a normal node under abnormal circumstances, the cancle of an abnormal node under abnormal circumstances, the abnormal return to a normal node under abnormal circumstances and the normal return under D state.Exception design is one for trouble handling when the system exception on business occurs. We treat exception as a request, and initiate a new workflow as a sub-workflow to process the request. When an exception occurs, it is necessary to notify the workflow, and then the workflow processes or transfers according to the re-defined approach. We do not think an exception is to modify the normal, and abnormal process is a compensation for the task of a certain task in a normal process. We believe that the exception process is a follow-up process when certain exception occurres in a normal process. The part for compensation can be achieved by using anti-operation nodes.In the scheduling stage, we designed a large number of interface methods and procedures on public single-query and statistics. These interfaces are mainly of non-frequently changing data query, such as process templates, task versions, etc.; there are also query on frequently changing examples, such as task instances, task service instances, work flow instances, process service instances and so on.Process scheduling must achieve certain requirements in performance in order to make better service. For the large engine throughput in a time unit, we designed the synchronous process scheduling and asynchronous scheduling mechanisms in the process. A brief description of this processing mechanism is as follows: at the end of the previous task, if it is synchronized scheduling mechanism, then the following task will be scheduled by the engine in a thread (a transaction); if it is asynchronous scheduling mechanism, then the task will only be informed to operate, the engine will start scheduling operations of a following task in another thread (the other transaction). So that we can parallel distributed scheduling pressures through the processing within the various services and different jvm (distributed processing), increasing the maximum throughput in the scheduling time unit.2. Transactions in systemsUnder the ciucumstances of distributed environment supporting overall transactions, UWFE supports overall transactions, and the transaction boundaries fall into two categories: task assignment and task acknowledgement (manual or automatic). While distributed environment does not support overall transactions, the transaction boundaries of UWFE are: task assignment, message sending, message receiving and task acknowledge.UWFE transaction processing includes the following three forms:First: release the business system as the EJB. This method is the most direct and least costly method. UWFE accesses to transaction and completes the operation through the EJB internal environment.Second: when the business system does not use EJB, use JTA methods- to look up a UserTransition from the J2EE server, and then begin a transaction (the last commit or roll back). This operation is provided by the standard J2EE transaction processing operations, and there are a lot of examples for reference.Third: Use the Resources object of UWFE, because this object is the one for Resources internal use. It is not recommended to use Resoources unless the users are very familiar with it.3. Interface encapsulationThere are two kinds of interface encapsulation in UWFE, one is external API, the API of the commercial workflow encapsulated by UWFE undergoes the extension of UWFE, which is applied in operational system and commercial workflow engine; the other is providing a partial operational defined interface, for the specific commercial workflow engine, it is API, which is completed by UWFE and external operational system. UWFE supports distributed release, which can utilize current resources effectively.There are two kinds of interfaces:Business service interface: these interfaces are mainly released together with the client, exchange data with application systems through standard interfaces in the same jvm, and exchange data with server through the EJB interface. Business service interface plays the role of connection.Standard interface: these interfaces are mainly released in the UWFE server, and control the process, query and statistical data by calling API of the engine in another jvm process.4. System releaseUWFE supports distributed publishing, which can use available resources effectively. The releasing ways supported by UWFE are:First: UWFEAgent and business workflow engine are released together as a scheduling engine, UWFE and business systems are business systems operating environment. Scheduling engine can be released on different jvms, and every jvm uses their own transaction control mechanism. The operating environment of business systems can be released on more machines, mainly on app servers of the operational system, these machines can access any machine or engine, a scheduling multiple machines, so that to complete the distributed call and load balancing.Second: centralized release. In this way, UWFEAgent and UWFE and business systems can be released in the same jvm, and use the same transaction control, so it is the most efficient way. However, due to its poor scalability to the system and unclear levels, cebtralized release can be used in the systems of limited peak pressure and business throughput per time unit.5.A design of retractilityUWFE employs encapsulating two terminals, exposes API and external implementation interface to commercial worklow engine and transaction system, shields internal implementation. For the extention of functions, corresponding methods need to be added in the two interfaces.
Keywords/Search Tags:UWFE, workflow, J2EE
PDF Full Text Request
Related items