by Victoria Torres, Vicente Pelechano and Pau Giner
Business Processes (BPs) play a very important role in the development process of applications. They allow us to specify organization goals by means of tasks and the participants in charge of these tasks. Moreover, taking into account that the Web is being established as a software development platform, it is necessary to provide methods and tools that allow the systematic construction of these applications. This work presents a method for constructing service-oriented Web applications that provide not just data management, but also support for distributed business process execution.
Web applications can no longer be conceived as isolated systems. In fact, in order to achieve sets of shared goals in a business environment, applications must cooperate with each other. The increasing adoption of Web services technology facilitates this cooperation, and this work presents an extension to a Web Engineering method for the systematic construction of business-driven Web applications based on a service-oriented paradigm.
This extension involves reconsidering the method in use at two different levels. On the one hand we have extended the method at the modelling level, firstly introducing the required primitives in both the navigational and presentation models to cope with BP issues, and secondly introducing the Business Process Model (BPM) for the specification of BPs (see Figure 1). On the other hand, at the architectural level we have introduced a process engine (see Figure 2), which is in charge of orchestrating the set of services that form the modelled BPs.
As Figure 1 shows, the method comprises a set of models that allow us to specify, in the problem space (the modelling level), the system being developed. Briefly, these models capture system structure, behaviour, navigation and presentation. In addition, the BPM was introduced into the method. This allows us to specify which BPs must be supported by the Web application. These BPs are specified as a set of organized tasks that are performed either by the functionality defined in the Structural Model or by functionality that is included in the Services Model and is provided by external partners. The notation used to specify this model is the Business Process Modelling Notation (BPMN) OMG Specification.
Moreover, to build the model-equivalent artefacts for implementation we rely on model transformation techniques. We have defined both Model-to-Model and Model-to-Text transformations, which we use depending on the intended target artefact. Model-to-Model transformations generate the Navigational Model (NM) that supports the corresponding BPs. Model-to-Text transformations translate (i) NMs into Web pages implemented in a specific language (asp, php, perl, jsp etc), and (ii) BPMs into a BP-executable language (WS-BPEL, WSFL, XLANG, BPML, Petri Nets etc).
Regarding architectural extensions, we have introduced two new elements at the business logic level (see Figure 2). The first element refers to a process engine. This element is in charge of orchestrating different services that join together to accomplish a specific goal. In particular, due to increasing adoption of Web service technology, we have considered the introduction of process engines that provide support for the Web Services Business Process Execution Language (WS-BPEL). This language allows us to describe the behaviour of a BP based on interactions between the process and its partners through Web service interfaces. However, as this language was not designed to support processes that involve interaction with people, we had to introduce a second element into the architecture. This element refers to the Task Manager (see Figure 3) and behaves as a mediator between the process engine and the Web application when human tasks are invoked.
As a result, we are combining Web Engineering best practices with Business Process Management solutions in order to endow Web applications with support for BP execution. The Web Engineering community can rely on existing process engines (which control message interchange in an organized fashion) to build Web applications that provide support for process execution. At the same time, BPM solutions can be endowed with richer graphical user interfaces that are defined at the modelling level and are completely integrated with Web applications.
Universidad Politécnica de Valencia SpaRCIM, Spain