Home > Introduction to Service-Orientation > Services (Part II)
|
...continued from previous page
Services in Business Automation

In the world of SOA and service-orientation the term “service” is not generic. It has specific connotations that relate to a unique combination of design characteristics. When solution logic is consistently built as services and when services are consistently designed with these common characteristics, service-orientation is successfully realized throughout an environment.

For example, one of the primary service design characteristics explored as part of this study of service-orientation is reusability. A strong emphasis on producing solution logic in the format of services that are positioned as highly generic and reusable enterprise resources gradually transitions an organization to a state where more and more of its solution logic becomes less dependent on and more agnostic to any one purpose or business process. Repeatedly fostering this characteristic within services eventually results in wide-spread reuse potential.

Consistently realizing specific design characteristics requires a set of guiding principles. This is what the service-orientation design paradigm is all about.

Services are Collections of Capabilities

When we discuss services, it is important to remember that a single service can provide a collection of capabilities. They are grouped together because they relate to a functional context established by the service. The functional context of the service illustrated in the figure below, for example, is that of "shipment." Therefore, this particular service provides a set of capabilities associated with the processing of shipments.


Figure: Much like a human, an automated service can provide multiple capabilities.

A service can essentially act as a container of related capabilities. It is comprised of a body of logic designed to carry out these capabilities and a service contract that expresses which of its capabilities are made available for public invocation.

Note that when we make reference to service capabilities on this site, we are specifically focused on those that are defined as part of the service contract. When services are implemented as components these capabilities are typically referred to as "methods," and when they are expressed as part of a Web service contract, they are called "operations."

|