Is the service aligned with the business?
The first test of a service is about its business alignment. If the service is not traceable back to a business task or
goal, it might not yield benefits required for SOA implementation. If all of the following questions are answered
affirmatively, the service is aligned with the business:
-
Does the service provide functionality that supports business processes and goals?
-
Is the business willing to fund the service through its lifecycle: provisioning, management, governance, and
maintenance?
-
Is the business willing to share the service internally or externally with clients or business partners? For
example, implications might be additional costs, business secrets, security, and so forth.
-
Are there existing or future opportunities within the enterprise to reuse the service?
Is the service composable?
Composable services can participate in a service composition. Applications can be created using both hardwired and
loosely wired composition approaches.
Good-fit questions here include the following:
-
Does the service meet the required Quality of Service attributes as defined in the composition's nonfunctional
requirements?
-
Is the service stateless? (See State Management for Services.)
-
Is the service self-contained? Can the service be deployed independently to meet a business goal, even though it
might cooperate with other services at run time to perform business processes? This means that there are no
implicit dependencies of the service on other embedded functionality. All dependent services are either replaceable
or self-contained.
-
Is the service's implementation technology-neutral? Technology-neutral means that the service does not
impose support of nonstandard (and unknown to the consumer) protocols or devices. For example, the constituent
component requires intervention through a nonstandard application interface.
Important:
This test applies only when the service is deployed in the consumer's environment. For example: A business
provides an image retrieval service to its customers. It can provide this capability to its subscribed
customers by using a Web service. Alternatively, the business can offer its customer the image retrieval
capability exposed as a Web service and a collection of images. In the second case, the customer will be
burdened by the implementation of the technology search.
Does the service have an external description (or can one be created)?
The most basic property of a service is that it has an externalized service description. The externalized service
description might either be generated automatically by using tools or manually coded.
You can use these questions for this criterion:
-
Does the service have an externalized service description that is distinct and separate from the underlying
physical implementation? A current example of this is WSDL.
-
Can the service be discovered and bound by using the service description?
-
Does the service description contain metadata about itself? That is, the service description must be
self-sufficient, containing or referencing all of the information necessary to understand the message exchange
between consumer and provider of a service.
Is the service reusable?
Can this service be used by the business stakeholder within all processes where its function is required?
Is the service technically feasible?
Technical feasibility ensures that the service can actually be realized (implemented and deployed) according to
functional and nonfunctional requirements, using available technologies. Ask this:
|