Service-Oriented Architecture Ontology Version 2.0 – Introduction
The purpose of this standard is to contribute to The Open Group mission of Boundaryless Information Flow, by developing and fostering common understanding of Service-Oriented Architecture (SOA) in order to improve alignment between the business and information technology communities, and facilitate SOA adoption.
It does this in two specific ways.
First, it defines the concepts, terminology, and semantics of SOA in both business and technical terms, in order to:
- Create a foundation for further work in domain-specific areas
- Enable communications between business and technical people
- Enhance the understanding of SOA concepts in the business and technical communities
- Provide a means to state problems and opportunities clearly and unambiguously to promote mutual understanding
Secondly, it potentially contributes to model-driven SOA implementation.
The ontology is designed for use by:
- Business people, to give them a deeper understanding of SOA concepts and how they are used in the enterprise and its environment
- Architects, as metadata for architectural artifacts
- Architecture methodologists, as a component of SOA meta-models
- System and software designers for guidance in terminology and structure
This standard defines a formal ontology for Service-Oriented Architecture (SOA). SOA is an architectural style that supports service-orientation. This is the official definition of SOA as defined by The Open Group SOA Work Group. For full details, see www.opengroup.org/soa/soa/def.htm#_Definition_of_SOA.
The ontology is represented in the Web Ontology Language (OWL) defined by the World-Wide Web Consortium (W3C). OWL has three increasingly expressive sub-languages: OWL-Lite, OWL-DL, and OWL-Full. (See www.w3.org/2004/OWL for a definition of these three dialects of OWL.) This ontology uses OWL-DL, the sub-language that provides the greatest expressiveness possible while retaining computational completeness and decidability.
The ontology contains classes and properties corresponding to the core concepts of SOA. The formal OWL definitions are supplemented by natural language descriptions of the concepts, with graphic illustrations of the relations between them, and with examples of their use. For purposes of exposition, the ontology also includes UML diagrams that graphically illustrate its classes and properties of the ontology. The natural language and OWL definitions contained in this specification constitute the authoritative definition of the ontology; the diagrams are for explanatory purposes only. Some of the natural language terms used to describe the concepts are not formally represented in the ontology; those terms are meant in their natural language sense.
This standard uses examples to illustrate the ontology. One of these, the car-wash example, is used consistently throughout to illustrate the main concepts. (See Chapter 8 for the complete example.) Other examples are used ad hoc in individual sections to illustrate particular points.
A graphically compressed visualization of the entire ontology is shown below.
The concepts illustrated in this figure are described in the body of this standard.
The class hierarchy is as follows.
The remainder of this standard is structured as follows:
- This chapter provides an introduction to the whole standard.
- Chapters 2 through 7 provide the formal definitions (OWL and natural language) of the terms and concepts included in the ontology.
- Chapter 8 contains the complete car wash example that is used as a common example throughout.
- Chapter 9 contains an additional elaborate example utilizing most of the classes in the ontology.
- Appendix A contains the formal OWL definitions of the ontology, collected together.
- Appendix B describes the relation of this ontology to other work.
- Appendix C contains a relationship matrix that details the class relationships implied by the OWL definitions of the ontology.
The SOA ontology specification was developed in order to aid understanding, and potentially be a basis for model-driven implementation.
To aid understanding, this specification can simply be read. To be a basis for model-driven implementation, it should be applied to particular usage domains and application to example usage domains will aid understanding.
The ontology is applied to a particular usage domain by adding SOA OWL class instances of things in that domain. This is sometimes referred to as “populating the ontology”. In addition, an application can add definitions of new classes and properties, can import other ontologies, and can import the ontology OWL representation into other ontologies.
The ontology defines the relations between terms, but does not prescribe exactly how they should be applied. (Explanations of what ontologies are and why they are needed can be found in, for example, Beyond Concepts: Ontology as Reality Representation and What is an Ontology?) The examples provided in this standard are describing one way in which the ontology could be applied in practical situations. Different applications of the ontology to the same situations would nevertheless be possible. The precise instantiation of the ontology in particular practical situations is a matter for users of the ontology; as long as the concepts and constraints defined by the ontology are correctly applied, the instantiation is valid.
There are two kinds of applications that can potentially conform to this ontology. One is other OWL-based ontologies (typically extensions of the SOA ontology); the other is a non-OWL application such as a meta-model or a piece of software.
A conforming OWL application (derived OWL-based ontology):
- Must conform to the OWL standard
- Must include (in the OWL sense) the whole of the ontology contained in Appendix A of this standard
- Can add other OWL constructs, including class and property definitions
- Can import other ontologies in addition to the SOA ontology
A conforming non-OWL application:
- Must include a defined and consistent transform to a non-trivial subset of the ontology contained in Appendix A of this standard
- Can add other constructs, including class and property definitions
- Can leverage other ontologies in addition to the SOA ontology
The words and phrases MUST, REQUIRED, SHALL, MUST NOT, SHALL, NOT, SHOULD, RECOMMENDED, SHOULD NOT, NOT RECOMMENDED, and MAY are used in this standard with the meanings defined in IETF RFC 2119.
Furthermore, the meaning of the word opaque (used in the later definition of the concept Element) is defined to indicate that any possible internal structure of something is invisible to an external observer.
Bold font is used for OWL class, property, and instance names where they appear in section text.
Italic strings are used for emphasis and to identify the first instance of a word requiring definition.
OWL definitions and syntax are shown in
An unlabeled arrow in the illustrative UML diagrams means subclass.
It is anticipated that this will be a living document that will be updated as the industry evolves and SOA concepts are refined. Future versions of this ontology may include additional core concepts.
Also, this ontology can be used as a core for domain-specific ontologies that apply to the use of SOA in particular sectors of commerce and industry. The Open Group does not currently plan to develop such ontologies, but encourages other organizations to do so to meet their needs.