Service-Oriented Architectures (SOA) are a promising means to integrate heterogeneous systems, but virtually no technology-neutral approach to holistically understand SOAs exists. We tackle this problem by introducing a survey of technology-independent patterns that are relevant for SOAs, and are working towards a formalised pattern-based reference architecture model to describe SOA concepts.
Service-oriented architectures often have the goal to integrate various systems of one or more organizations in a flexible way to be able to quickly react on business changes. Integration based only on services, however, falls short in reaching this goal because the application-specific business object models of multiple external systems (especially legacy systems) need to be integrated into the service-oriented system. When multiple business object models must be integrated into one system, serious data integration issues might arise. Examples of such problems are incompatible data definitions, inconsistent data across the enterprise, data redundancy, and update anomalies. We present patterns that address these issues and describe how to integrate the application-specific business object models of various external systems into a consistent process-driven and service-oriented architecture.
Abstract. Process-driven SOAs are using processes to orchestrate services. Designing a non-trivial process-driven SOA involves many difficult design and architectural decisions. Examples are: Different kinds of processes exist: longrunning, business-oriented and short-running, technical processes. How to best integrate them and how to map them to execution platforms? A SOA has many different stakeholders, such as business analysts, management, software designers, architects, and developers, as well as many different types of models these stakeholders need to work with. How to present each of them with the best view on the models they need for their work? A realistic process-driven SOA contains many systems that need to be integrated, such as various process engines, services, and backend systems, running on heterogeneous technologies and platforms. How to perform integration in a way that is maintainable and scalable? This article introduces a pattern language that deals with process modeling, execution, and integration. Its main goal is to help solution architects, as well as process and service designers, to master the challenges in designing a stable and evolvable process-driven SOA.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.