Nowadays E-Business turns out to be a trend. More and more business processes are executed in internet. People are fond of online banking or online booking system, which helps check banking balance, transferring money or booking flight tickets so easily and so quickly while they just need to sit cozily before their computers connected with internet, instead of going to the bank or traveling office in person where they might have to wait in a long boring queue. As more and more people prefer these web services while web resources, for example, net speed, space for storage, etc. are quite limited, thus, how to realize web services in a save and effective way becomes a hot researching field.
Web services, which are on the base of the service-oriented architecture framework, work as the foundation for modern distributed, heterogeneous business applications. The two-level programming model is used here to describe these kinds of services and it¡¯s also the characteristics of business workflow processes.
There are two distinct programming in workflow-based applications: one is programming in the large, where a process model describes the sequence which is composed of different activities being carried out; the other one is programming in the small which deals with the individual components. In the Web services environment, we use the Business Process Execution Language for Web Services (BPEL) to describe process model. The actual implementation of all activities, here so called web services, can be done in any language and programming model.
In BPEL, business processes are, in fact, the Web services, providing for a recursive aggregation model. A workflow management system (WFMS) which uses the BPEL specification is designed to manage the life cycle of business processes, to navigate through the associated process models, and to invoke the appropriate Web services, and we call it BPEL engine. The navigator is the core of the WFMS, which opens a transaction, receives an appropriate navigation request from a queue, retrieves all state information about the process instance and the associated process model from a database, carries out navigation, stores the new process state in the database, insert a message into a queue, and commits the transaction. The navigator typically works statelessly in a certain application server environment. The database operations are another main tasks by the navigator. They calculate necessary resources. And that¡¯s why we need to optimize BPEL engine¡¯s runtime database. The number of I/O operations and cycles for managing and fetching process model information should be reduces, so that the resources could be spared and optimized by caching them. The structure of the database where we store the process state information should support all the capabilities of the BPEL language. And this works perfectly for those complicated process models which use most of the capabilities, while creating huge overhead for simple process models, for example, simple sequential process.
In this diploma thesis, a method that optimizes the storage layout for different complexities of process models is to be developed. For instance, for a simple sequential process model a single table may be sufficient. The method includes five tasks: 1. to define categories of process models; 2. to define an optimal database structure for each of the categories; 3. to develop the code for analyzing a given process model; 4. to develop the appropriate navigation code, and 4. to measure the performance and determine the performance improvements of the optimized process models.
In the first and second chapters, WSDL and BPEL are to be introduced and their main grammar structures are clarified. The third chapter describes SWoM, which contains its technical requirements and the structure of process execution module. The fourth chapter tells about the concepts of database system used here. They are XML and synthesization of relational database schema. And a general view of DB2 is presented. The fifth part is the main design for this optimization which tells the goals and the process of design and implementation.