R E G U L A R PA P E R
Service oriented architectures: approaches, technologies and research issues Mike P. Papazoglou · Willem-Jan van den Heuvel
Received: 6 June 2005 / Accepted: 1 August 2005 / Published online: 3 March 2007 © Springer-Verlag 2007
Abstract Service-oriented architectures (SOA) is an emerging approach that addresses the requirements of loosely coupled, standards-based, and protocolindependent distributed computing. Typically business operations running in an SOA comprise a number of invocations of these different components, often in an event-driven or asynchronous fashion that reﬂects the underlying business process needs. To build an SOA a highly distributable communications and integration backbone is required. This functionality is provided by the Enterprise Service Bus (ESB) that is an integration platform that utilizes Web services standards to support a wide variety of communications patterns over multiple transport protocols and deliver value-added capabilities for SOA applications. This paper reviews technologies and approaches that unify the principles and concepts of SOA with those of event-based programing. The paper also focuses on the ESB and describes a range of functions that are designed to offer a manageable, standards-based SOA backbone that extends middleware functionality throughout by connecting heterogeneous components and systems and offers integration services. Finally, the paper proposes an approach to extend the conventional SOA to cater for essential ESB requirements that include capabilities such as service orchestration, “intelligent” routing, provisioning, integrity and security of message as well as service management. The layers in this extended SOA, in short xSOA, are used to classify research issues and current research activities.
Keywords Service oriented architecture · Asynchronous and event-driven processing · Application and service integration · Enterprise bus · Web services
1 Introduction Modern enterprises need to respond effectively and quickly to opportunities in today’s ever more competitive and global markets. To accommodate business agility, enterprises are supposed to streamline (existing) business processes while exposing the various packaged and home-grown applications found spread throughout the enterprise in a highly standardized manner. A contemporary approach for addressing these critical issues is embodied by (Web) services that can be easily assembled to form a collection of autonomous and loosely coupled business processes. The emergence of Web services developments and standards in support of automated business integration has driven major technological advances in the integration software space, most notably, the service-oriented architecture (SOA) ([15, 18]). The purpose of this architecture is to address the requirements of loosely coupled, standards-based, and protocol-independent distributed computing, mapping enterprise information systems (EIS) appropriately to the overall business process ﬂow. In an SOA, software resources are packaged as “services”, which are well deﬁned, self-contained modules that provide standard business functionality and are independent of the state or context of other services. Services are described in a standard deﬁnition language, have a published interface, and communicate with each
M. P. Papazoglou (B) · W.-J. van den Heuvel INFOLAB, Tilburg University, PO Box 90500, 5000 LE, Tilburg, The Netherlands e-mail: email@example.com
M. P. Papazoglou, W.-J. van den Heuvel
other requesting execution of their operations in order to collectively support a common business task or process . Services that utilize Web services standards, e.g., Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP), and Universal Description, Discovery and Integration registry (UDDI), are the most popular type of services...