Maintaining Service Orientation: Core Concepts
Tuesday, May 13th, 2008I have received the question What is SOA? many times and I soon realized that a comprehensive answer to this question is not easy. Rather than searching a definition or offering a simplified answer, I decided to follow a different approach here. My plan here is to raise the level of abstraction slightly and describe a set of concepts and their relationships inside and outside of service orientation.
Concepts in service orientation
The three core concepts of service orientation are depicted on the diagram together with other IT architecture and IT system concepts and their relationships.
- Service categorization helps to distinguish between the different types, classes and forms of services.
- Service life cycle describes what happens to the service during its lifetime
- Service information model provides the meta-model for describing a service
Once these concepts are hardened – based on the architectural decisions – there could be many variations depending on the relationships defined between them. There could be many categories for a service. There could be many life cycles defined for the different categories of services. There could be many service information models to describe the different services. During the realization of these concepts the number of instances are defined. These numbers for each concept can vary between many and one, a variations of these describe different cases, where some may make sense, some may not.
Having a single category only makes really sense when all the other concepts are also singular, all the other combinations are valid, for example: L categories, M life cycles, N information models; or L categories, M life cycles, 1 information model.
Service orientation guided by architcetural decisions
The three service orientation concepts are guided by a set of architectural decisions. Besides the determining the relationship between concepts, architectural decisions also determine the behavior of the concepts and their instances. For example as the service description changes – using the service information model as the template – it may trigger a change in the category of the service and a technical service may become a business service as new business relevant attributes are defined. Continuing this example, the change in category may dictate to change the applicable service life cycle applicable to this new category of service.
In other words, the architectural decisions also have define how the applying one instance of a concept will affect the application of other concepts to an instance of a service.
IT solution guided by the same architectural decisions
The IT solution, as a response to the business requrements, consists of three domains: design, implementation and operation. These domains are also interrelated:
- design guides implementation, where implementation may influence the design;
- design may guide operation, and operation will influence the design;
- implementation is then handed over to operation, where operation may influence the implementation.
They are also guided by the same architectural decisions guiding sevice orientation, in addition to other achitectural decisions.
More service orientation related concepts…
As you may have noticed, many other service orientation related concepts are not even mentioned here, for example: services governance, business services, and so on. These concepts are not missing the model described here have not been extended that far to include them yet.
- The services governance may extend on any or all of the core concepts, for example: defining the details of service life cycle.
- Business services, which could be a category, may have a specific form of service description reflected in the service information model.
A simple realization of service concepts
The following example is a possible realization of the case where every concept has a single instance. The instances are also mapped to a possible implementation.
1 service category: Web services
1 service information model: WSDL
1 service life cycle: JEE Web application life cycle: build, assemble, deploy, run










Take mathematics, physics, or whatever science is closer to your heart as an engineer. Let’s look at how these disciplines described, modelled the world around us. Let’s take math (algebra) as an example…





