Abstract
E-Business research and practice can be situated on following multiple levels: applications, technological issues, support and implementation (Ngai and Wat 2002). Here we consider technological components for realizing business processes and discuss their foundation architecture for technological enabling. The article provides an introduction to the terms, techniques and realization issues for eventdriven and service-oriented architectures. We begin with a definition of terms and propose a reference architecture for an event-driven service-oriented architecture (EDSOA). Possible applications in the area of E-Business and solution guidelines are considered in the second part of the article. Service-oriented Architectures (SOA) have gained momentum since their introduction in the last years. Seen as an approach to integrate heterogeneous applications within an enterprise architecture they are also used to design flexible and adaptable business processes. An SOA is designed as a distributed system architecture providing a good integration possibility of already existing application systems. Furthermore, SOA is mostly suitable for complex and large system landscapes.
TopIntroduction
E-Business research and practice can be situated on following multiple levels: applications, technological issues, support and implementation (Ngai and Wat 2002). Here we consider technological components for realizing business processes and discuss their foundation architecture for technological enabling. The article provides an introduction to the terms, techniques and realization issues for event-driven and service-oriented architectures. We begin with a definition of terms and propose a reference architecture for an event-driven service-oriented architecture (EDSOA). Possible applications in the area of E-Business and solution guidelines are considered in the second part of the article.
Service-oriented Architectures (SOA) have gained momentum since their introduction in the last years. Seen as an approach to integrate heterogeneous applications within an enterprise architecture they are also used to design flexible and adaptable business processes. An SOA is designed as a distributed system architecture providing a good integration possibility of already existing application systems. Furthermore, SOA is mostly suitable for complex and large system landscapes.
As no single agreed-upon definition of SOA exists, we will use here the SOA understanding as stated in (Schröpfer and Schönherr 2008): “SOA is an architecture style that combines elements of software and enterprise architectures. Its main components are services that are autonomous as well as interoperable and provide re-usable functions via a technically standardized interface. Services can interoperate and exist on all layers of an application system like business process, presentation, business logic, data management layers. Services can be aggregated or coupled based on lower-level services. These can be derived from existing IT systems but also designed and implemented from scratch.” This definition already provides the important SOA characteristics such as:
- -
Service encapsulation: the functionality presented by the service is not visible. Only the interface describing service behavior is stated
- -
Loose coupling: Services are designed and can work individually, so that they do not rely on each other’s functionality
- -
Service autonomy: a service can be managed independently from other components
- -
Reusability: a service may be reused within other business process of several enterprises
- -
Service composition: services can be combined to more complex processes or to a complete business process
- -
Service discovery: services need to be described and stored for future search and reuse.
A service is encapsulated business functionality, that can’t be decomposed without harming its functionality. Further SOA definitions are provided by OASIS and OpenGroup including reference designs (OASIS 2006, OpenGroup 2006).
SOA can be realized using different technologies. Web Services ((W3C)) are often associated with service-orientation and are one of the technologies a SOA can be built upon. Intensely discussed in industry and research, SOA is often seen as an IT revolution. In these discussions the context of already existing distributed architectures based on object-orientation (Erl 2008) or agent technology is often overseen. Thus, SOA is an evolution towards distributed, business process- oriented architectures considering the steady development towards distributed approaches to software and application integration architectures. Also seen as an integration technology, Enterprise Service Bus (ESB) (Erl 2008) is often used to combine existing applications. It allows an integration of already existing enterprise applications making the communication structures more simple and transparent.
Key Terms in this Chapter
CEP: Complex event processing is a concept to identify meaningful events and event patterns according to specified rules as well as assigning a suitable reaction to the event.
Event: An event is a state change of a variable under observation, e.g. business object.
ESB: Enterprise-service bus is a middleware used to integrate enterprise applications by providing a message-based communication platform.
BAM: Business Activity Monitoring is a technology used to monitor and observe business processes to provide a fast and efficient reaction to incoming events.
Web Service: Defined by W3C as a “software system designed to support interoperable machine-to-machine interaction over a network”.
EDA: Event-driven architecture is a system structure which elements are triggered by events to fulfill their functionality.
SOA: An architecture that combines elements of software architecture and enterprise architecture. It is based on the interaction with autonomous and interoperable services that offer reusable business functionality via standardized interfaces.