AN ARCHITECTURAL PERSPECTIVE OF THE RELATIONSHIP BETWEEN BPMN 2.0 AND BPEL Diego M. Campos, Jorge L. R. Becerra Universidade de São Paulo - Escola Politécnica Rua Luciano Gualberto, travessa 3, n. 380. CEP 05508-900 - São Paulo - Brazil diegomcampos@usp.br , jorge.becerra@usp.br ABSTRACT The BPMN 2.0 brings a notation that is readily understandable by all business users, it is a bridge for the gap between business process design and process implementation and a standard mechanism to exchange formats between different vendor tools. And BPEL is meant to be used to execute the process implemented. Following the above objectives, there are several articles that demonstrate how to relate both languages in various forms inside the software development process. But this paper shows the relationship using the concepts of software architecture instead of only the concepts of software process. This work aims to demonstrate the BPMN 2.0 and BPEL relationship in a software architecture perspective by defining a model driven architecture, using the concept of views, viewpoints and a software process. An example of a process is given in BPMN and the generated BPEL code is demonstrated. KEY WORDS BPEL, BPMN 2.0, business process, software architecture, architectural views, MDA. 1. Introduction The goal of BPMN is to provide a notation that is understandable by all business users, from the business analysts to the technical developers responsible for implementing the technology that will perform those processes and to the business people who will manage and monitor those processes. Another goal is to ensure that XML languages designed for the execution of business processes, such as BPEL (Business Process Execution Language) can be visualized with a business-oriented notation [2]. The first article about relating BPMN and BPEL shows a direct relationship utilizing the basic elements of the languages. This technique relates only the basics elements and is not efficient for complex models [13]. From this research, others articles appeared, trying to relate the models utilizing patterns [14][15], utilizing automata theory, conversion to Petri nets, formal logic approach, functional logic programming languages and others [10]. Only in 2008 appeared some researches suggesting a relationship from architectural views [16] [17]. At the present moment the problem is not completely solved because there is a fundamental discrepancy between BPMN, which is based on the graph theory and BPEL, which is essentially a programming language based on blocks [10]. The main objective of this work is to demonstrate a different approach by rising the level of abstraction to investigate the relationship between the BPMN 2.0 and BPEL,, looking through a software architecture perspective. And an example process of a purchase order is given to clarify the process and the relationship. To do this, a MDA [1] approach is utilized to define a modelling environment in a business process oriented way [4,6].The concept of architectural views is used to define the relationship. This paper is structured as follows. Section 2 presents the notion of BPMN 2.0, BPEL and a brief explanation of architectural views and viewpoints. Section 3 shows the MDA modelling approaches and the relationship of BPMN and BPEL in the software architecture perspective. Section 4 presents the related work, Section 5 the results and discussions and Section 6 presents the conclusion. 2. Conceptual nowledge 2.1 BPMN 2.0 Specification BPMN eases business process modelling by providing a notation and an interchange format that can be used to exchange BPMN process definitions between different tools. The goal of the specification is to enable portability of process definitions, so that users can take process definitions created in one vendor’s environment and use them is another vendor’s environment [2,12]. The specification organizes its modelling elements into categories. The four basic categories are: flow objects, data, connecting objects, swim-lanes, and artifacts. Flow objects are the main elements to describe the behaviour of a business process. There are three kinds of flow objects: events, activities, and gateways [12]. Flow objects are connected to each other by connecting objects, which are four kinds: sequence flow, message flow, association and data association. Data objects are used to provide input and output information on activities and are represented with five elements: data objects, data inputs, data outputs, data stores and properties. Modelling elements are grouped through swim-lanes, which may be pools and lanes. Artifacts are used to provide additional information about the process, there are two kinds, group and text annotation [2,3,12]. The Figure 1 shows the core subset of BPMN elements of the flow and connecting objects categories. Proceedings of the IASTED International Conference ( A 2012) November 12 - 14, 2012 Las Vegas, USA Software Engineering and Applications SE DOI: 10.2316/P.2012.790-042 K 360