by Veronica Gacitua and Claus Pahl
Increasingly, enterprises are using service-oriented architecture (SOA) for software application integration. The technical problem - integration at the service level is one of architecture. The business model domain that drives the integration can, however, be linked to the service architecture level by adding a service-centric architectural perspective into business process modelling. Service architectures can be reused in the form of architectural patterns and styles, which provides quality improvement and cost reduction.
IT Architecture and Enterprise Application Integration
An IT architecture is an enterprise-wide system of software applications. Enterprise application integration (EAI) methodologies provide integration solutions based on domain and application engineering techniques. In conjunction with SOA, the architecture focus is evident and forms the core of this project.
Reuse of Business Process-Driven Service Architecture
Focusing on architectures can bridge the gap between business domain-level concerns and service-level platform aspects. We propose a three-layered framework with business domain modelling, application architecture and service-centric integration architecture to structure an integration problem:
at the business modelling layer, the business processes constrain and drive the integration of software applications
at the application architecture layer, business process models are refined into architecture design models by means of architectural constraints and service classification and identification
at the integration architecture layer, the actual integration of software applications is realized in the form of service compositions.
Our project objective is to enhance this incremental process by adding a reuse focus that allows architectures to be reused in the form of enterprise-wide architectural patterns and styles. This pattern-based approach serves to guide SOA-based application integration and migration. A coherent, service-centric architecture-modelling notation based on the recently standardized Business Process Modelling Notation (BPMN) is the central element of this integration architecture approach. The reuse aim is addressed through style-based and pattern-based modelling and a pattern refinement calculus.
This project is carried out by the Software and Systems Engineering Group at Dublin City University. The project was motivated as a result of our collaboration with major software consultancy firms and the involvement of team members in large-scale SOA and EAI projects in sectors such as mining and IT providers, where questions of quality and cost-effectiveness and the possibility of reuse to address these questions have emerged.
Process and Service Architecture
The first objective of our framework is software architecture-driven integration. An incremental architecture development technique is our proposed solution. Software architecture is the instrument with which to realize the integration of heterogeneous applications in an IT architecture.
BPMN provides the notational basis for our architecture-driven integration. We extend BPMN to a service-centric architecture description language to enable the enrichment of business models towards a service-centric business architecture. Business domain models provide a complementary information architecture on top of business processes. Together, they can be constrained and refined through reference architectures and architectural styles at the service-centric application architecture level. A graph-based formalization of BPMN allows rigorously defined architecture constraints to be used.
Pattern-Driven Architecture Reuse
The pattern-driven reuse of service architectures is the second framework objective. Patterns are used in software design to structure architectures and allow the reuse of successfully applied architectural designs. Patterns are architectural abstractions that can cross and therefore integrate existing service application boundaries.
We focus on architectural patterns in terms of process activities and services and their part in the composition of processes. The BPMN architectural extension is the basis for pattern-based techniques:
pattern identification is supported by a BPMN-based pattern language for both business-level and service-level patterns, at the business domain layer and at the integration architecture layer respectively, and an empirically developed repository of patterns
pattern mapping - transforming incrementally from process patterns to architectural service-based patterns using application integration layer techniques - addresses architectural style and pattern refinement, supported through a pattern refinement calculus.
Graph-theoretic formalisms define the service-based pattern language and calculus.
Bringing quality and cost-effectiveness into service-based IT architecture integration and migration through reuse are the benefits of the proposed integration architecture approach. Techniques such as architectural patterns have quality attributes associated to them, like performance or reliability, which capture observable properties of software applications. The software architect can influence these application system qualities based on a suitable choice of architectural patterns already at the service level. Other, more design-level quality attributes, such as maintainability, are also strongly affected by the application's architecture. Quality-driven architecture is the essence of the proposed approach.
Model-driven development for architecture-based integration is another perspective that explains the benefits of this approach in terms of layered abstraction up to the business level and at least semi-automated incremental transformation and refinement of service architecture descriptions.
School of Computing, Dublin City University
Tel: +353 1 700 5620