We present a series of posts on three Service Oriented Architecture (SOA) standards and how they relate to each other:
- Reference model – the OASIS Reference Model for SOA (SOA-RM)
- Ontology – The Open Group SOA Ontology (SOA-O)
- Modeling profile – the Open Management Group Service Oriented Architecture Modeling Language (SoaML)
SOA supports thinking and organizing in terms of services with distributed capabilities which may be under the control of different ownership domains, and is an architectural style as well as a paradigm for business and IT architecture.
These concepts are commonly held by standards pertaining to SOA:
• Service – Services correspond to repeatable activities that can be characterized as capabilities or the access to capabilities, that capabilities satisfy specific needs, that services are self-contained, that services are described, and that access and interaction with services are constrained by policies and contracts. We agree that the service implementation is opaque to service consumers who interact with the service.
• Effect (or real-world effect) – Interacting with services has a purpose and therefore has some outcome which potentially provides exchange of value between consumers and providers.
• Visibility – Participants, more specifically providers with capabilities and consumers with needs, are able to interact with each other. Availability of service descriptions and policies support these interactions.
• Service Description – Services are described with sufficient information in order to determine whether they meet the needs of prospective consumers as well as how to access and interact with them, including but not limited to interfaces, policies, and contracts.
• Policies and Contracts – Service policies represent some constraint or condition expectation on the use of services represented by a consuming participant or commitment of a providing participant, and that service contracts represent an agreement by two or more parties.
• Execution Context – In order for services to be invoked, there must be an established path between consumers and providers. In other words, to realize described effects, consumers and providers must acknowledge and comply with a consistent set of agreements in order to have a successful service interaction.
• Interaction – There is some activity involved in making use of capabilities offered by services in order to achieve desired effects.
The OASIS Reference Model for SOA (SOA-RM) provides a common vocabulary for understanding the “essence” of SOA. It is, by design, a highly abstract model targeting a large, cross-cutting audiences that includes non-technical readers as much as it does technical readers.
The Open Group SOA Ontology (SOA-O) builds on the OASIS Reference Model for SOA and provides additional SOA concepts and relationships taken from the viewpoints of different stakeholders as well as an enterprise-wide perspective. It also provides as a common language for formally describing SOA concepts that can be leveraged by abstract as well as solution-oriented reference architectures.
The Open Management Group Service Oriented Architecture Modeling Language (SoaML) provides a UML profile for modeling SOA artifacts and services for SOA as part of the transformation from a reference architecture to an SOA solution architecture.
Service Oriented Architecture
Service Oriented Architecture – Reference Model – SOA-RM
The OASIS Reference Model for SOA (SOA-RM) is intended to capture the “essence” of SOA, as well as provide a vocabulary and common understanding of the SOA. The goals of the reference model include a common conceptual framework that can be used consistently across and between different SOA implementations, common semantics that can be used unambiguously in modeling specific SOA solutions, and definitions that should apply to all SOA. The reference model provides a normative reference that remains relevant for SOA as an abstract, power model, regardless of the inevitable technology changes that have influenced or will influence SOA deployment.
- Dynamics of service
- Interacting with services
- Real-world effect
- Service description
- Policies and contracts
- Execution context
Service Oriented Architecture – Ontology (SOA-O)
The Open Group SOA Ontology is similar to the OASIS Reference Model for SOA in that it captures a set of related concepts within the SOA space and explains what they are and how they relate to each other. The objectives are to facilitate understanding of these terms and concepts within the context of SOA, and potentially to facilitate model-driven implementation. The ontology is represented in OWL to enable automation and allow tools to process it; e.g. reasoning applications could use the SOA ontology to drive service consumer and provider matching, service value chain analysis, and impact analysis. The formal representation enables integration with other concerns such as business motivation modeling, business process modeling, operations modeling, portfolio management, etc.
- Element and System Classes
- HumanActor and Task Classes
- Service Class
- ServiceContract and Effect Classes
- ServiceInterface and Informationtype Classes
- Composition Class
- ServiceComposition and Process Classes
- Policy Class
- Event Class
Service Oriented Architecture – Modeling Language (SoaML)
The Service Oriented Architecture Markup Language (SoaML) is an OMG standard that defines extensions to UML for services modeling adn provides functional, object-oriented, and component modeling capabilities. SoaML extends UML in order to provide additional capabilities for managing cohesion and coupling afforded by an SOA style. SoaML can be viewed as support instantiation of the OASIS Reference Model for SOA that provides a concrete platform for services modeling integrated with UML.
- SoaML – Identifying services
- SoaML – Specifying services
- Jim Amsden – Service oriented architecture Modeling Language (SoaML)