3.4 Service-Oriented Architecture
The architecture prescribes general functional and constructional requirements (the
principles). As stated in section 2 we define SOA as a consistent and coherent set of de-
sign principles that need to be taken into account in the development process of services.
Marks and Bell [14] provide nine criteria that services must meet: coarse-grained, well-
defined service contracts, discoverable, business aligned, reusable, durable, loosely cou-
pled, composable, and interoperable. More principles for service design exist, but it is
not our goal to present a complete list. Instead, we want to show our way of thinking.
The functional requirements deal with the external function and behavior of a service,
e.g. “A service is coarse-grained” and “A service is business aligned”. The construc-
tional requirements deal with the internal construction and operation of the service, e.g.
“A service is composable” and “A service is loosely coupled”.
Are all of these principles consistent? In our view they are not. For instance, if a
service is completely business aligned to the business process of one service consumer,
it is probably not reusable and vice versa. Enterprises, however, need a consistent set of
principles in order to make design decisions in a systematic way. Therefore, an enter-
prise has to formulate explicitly whether and under what conditions one principle has
priority over another one.
Table 1 summarizes the terminology explained in this section.
4 Comparing Methodologies
Table 2 depicts the scopes of several methodologies for service-orientation. We have
divided them into general methodologies and specialized methodologies.
4.1 General Methodologies
Methodologies that cover the largest part of the service development process are the
methodology of Papazoglou and van den Heuvel [15], the IBM methodology SOMA
[16], and SOAF [17]. Papazoglou and van den Heuvel distinguish between the phases,
that they call, planning, analysis and design, construction and testing, provisioning,
deployment, execution and monitoring. This methodology is in our view the most com-
prehensive approach at this moment in time. Not only does it deal with SoFD, SoCD,
and SE, but also with SI (in the deployment phase). It provides guidelines on how to
perform these steps.
SOMA distinguishes between the three major activities, that the authors call, identi-
fication, specification, and realization. The methodology does not make a clear distinc-
tion between the function and construction of the service. It does not deal with SI. Since
only a high-level description of SOMA is publicly available, we cannot say anything
about the depth in which the design activities are described.
SOAF addresses the phases, that the authors call, information elicitation, service
identification, service definition, and service realization. It clearly described what steps
to take and what the relationship between the different steps are. However, it focuses
mainly on what steps to take and not on how to take these steps. It is described at a
higher level of detail than the methodology from Papazoglou en van den Heuvel.
105