Service Oriented Architecture – Overview of Technologies and Standards

In constantly changing and dynamic markets enterprises are in an even greater need to maintain adequate IT support for their core competencies. This support requires integrating heterogeneous systems and applications that are built using different technologies and infrastructures, which hamper interoperability and seamless integration. The problems are aggravated additionally by the need to cross enterprise boundaries and the necessity to react to changes in that same environment in an ad-hoc manner. Service-oriented computing (SOC) provides a powerful abstraction basically allowing to perceiving all compute resources as entities that can be dynamically discovered and composed. These entities are called services in SOC: a service is exposed for use over a network, and it is always ready for use. Services are described in terms of interfaces specifying service functionality independent of platform technology or programming language used. This renders the service abstraction particularly advantageous when applied for tackling problems due to heterogeneity of IT landscapes. Service oriented architecture (SOA) is the accompanying architectural style. The roles in the SOA are: service provider, service consumers and service registry. Applications compliant with the SOA can be implemented in terms of various technologies and programming languages. Services communicate through messaging and are loosely coupled. The single technology that has been created to implement SOA inherently and from its onset is the Web service technology. It provides an abstract component model for representing and using services. Based on the heterogeneity and interoperability problems to solve, this technology is highly dependent on standardization; it enables reuse of legacy applications and aims at solving integration problems. The Web Service technology defines a stack of composable specification addressing orthogonal concerns that can be easily composed to meet the requirements of various application domains. Web services are the only service-oriented technology that has enjoyed a tremendous success in acceptance by industry and academia. The implication of its composable nature is that the execution infrastructure for service-oriented applications must support that composability of protocols. Web services mainly target machine-to-machine interaction, which is driven by the need to enable high degree of automation. The execution infrastructure for such applications is referred to as (Enterprise) Service Bus (ESB). It is a piece of middleware enabling the application of the concepts of service orientation. The papers in this issue of it give an overview of the most important aspects of SOA from the point of view of both, industry and academia. The paper of Dustdar and Papazoglou provides definitions of what services and composite services are and illustrates the basic principles of service-oriented computing and how they are reflected by the Web service technology. The distinguishing differences between Web services and other programming models are discussed. This overview paper compares the provision of enterprise solutions using the application service provider (ASP) model and the service-oriented computing approach, whereas the major benefit of services is revealed by their