Process-Service Interactions using a SOA-BPM-based Methodology Bazán Patricia Linti Facultad de Informática UNLP La Plata, Buenos Aires, Argentina pbaz@info.unlp.edu.ar Roxana Giandini Lifia Facultad de Informática UNLP La Plata, Buenos Aires, Argentina giandini@lifia.info.unlp.edu.ar Gabriela Perez LIFIA - Facultad de Informática UNLP La Plata, Buenos Aires, Argentina gperez@lifia.info.unlp.edu.ar Javier Diaz Linti. Facultad de Informática UNLP La Plata, Buenos Aires, Argentina jdiaz@info.unlp.edu.ar Abstract— Reducing the gap between the definition, modeling and management of business definition, modeling and management of business processes and the realization of the main processes functions through software services requires a methodological approach. Addressing such gap, this paper focuses on the interactions between the activities of a business process and the functionality provided by software services. It presents a meta-model to formally specify such interactions. The proposed meta-model is instantiated through a case study. Lessons learnt through the development of an example were used to define a graphic editor prototype, as an automated tool for managing interactions between business processes and software services. The proposed approach enables the alternative application of top-down and bottom-up analysis techniques for modeling processes and services, and assists developers with an integrated tool for modeling business processes and software services in a seamlessly combined way. Keywords – Software Engineering, Business Process Management, Service Oriented Architecture, Business Process Management Notation, Meta-Modeling I. INTRODUCTION Business Process Management (BPM) is a strategy to manage and improve business performance by optimizing their processes through modeling, execution and performance measurement within a continuous improvement cycle [5]. BMP has gained considerable attention recently both for the communities of business administration and for computer science. Service-Oriented Architecture (SOA) is a new approach to designing and building flexible and adaptable system that assists the development of systems in a dynamic business environment [4]. In SOA based systems, services can be shared and reused in various business processes. The result is a highly adaptable environment, with lower costs for the development of the applications, better integration and rapid deployment. The integrated view of service orientation and process orientation leads to the definition of a methodological framework that sorts the concepts and establishes the business process lifecycle to give executable processes as a result. Previous works [6] [8] propose a general and comprehensive methodology for developing information systems based on the two approaches - SOA and BPM. The objective of such methodology is to provide a model for application integration, in order to align the business processes of an organization with software services that provide the functionality required by these processes. The methodology includes the following 8 stages: 1. Organization and Strategic Planning - outlining the profile of the solution and set clear goals and strategies to be used throughout the project. 2. Process-Oriented Requirement Identification and Specification - analyzing requirements from the point of view of the processes [6]. 3. Business Modeling - identifying business processes and their main constraints. Business processes are described as a set of tasks in which the actors participate according to a given workflow. 4. Process Modeling- modeling each of the processes identified in the business use cases by using BPMN [2] [3], obtaining a business process diagram. 5. Service Modeling - identifying and defining the degree of granularity of the services. The aim is to ensure that the services designed comply with requirements of autonomy and atomicity, guaranteeing that each service has a clearly defined functionality and that it is uniformly and entirely accessible [4]. 6. Component Definition - defining software components in terms of the services identified and their interaction mode (orchestration). 7. Component Deployment - deploying the results of previous stages on the chosen platform. It includes prototype development and integration with existing systems. 8. Management and Monitoring - assessing performance and seeking continuous improvements.