The purpose of this Technical 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:
Secondly, it potentially contributes to model-driven SOA implementation.
The ontology is designed for use by:
This Technical 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 Technical 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.
SOA Ontology – Graphical Overview
The concepts illustrated in this figure are described in the body of this Technical Standard.
The class hierarchy is as follows.
SOA Ontology – Class Hierarchy
The remainder of the Technical Standard is structured as follows:
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 Technical 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):
A conforming non-OWL application:
The words and phrases MUST, REQUIRED, SHALL, MUST NOT, SHALL, NOT, SHOULD, RECOMMENDED, SHOULD NOT, NOT RECOMMENDED, and MAY are used in this Technical 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 fixed-width font.
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.