Saturday, 30 October 2010

Service Quality or Filtering out candidate services

Ever wondered how to filter out the services or candidate services you have identified...below is filter criterion you could use.

· Business Alignment

o Is the service provides business functionality which helps in realizing the business process & business goal?

o Is there any existing or future need for the service within enterprise?

o Is the business ready to fund the activities involved full lifecycle of the service?

· Technical Feasibility

o Is it technically feasible to realize the service?

· Service Composability

o Is the service can be composed to form business process and at the same time, meeting NFR like performance requirements?

· Statelessness

o Is service stateless in nature?

· Reusability

o Is the service contains agnostic logic which can be positioned as reusable enterprise resource?

· Discoverability

o Is the service can be supplemented with metadata by which it can be effectively discovered and interpreted?

· Standard Service Contracts

o Is the services within a service inventory adheres to same contract design standards?

· Loose Coupling

o Is the service contract decoupled from technology & implementation details?

o Is there going to be any impact on the service consumer if underlying service implementation technology changes?

· Abstraction

o Is the service contracts self sufficient & contains only essential information?

Only those services which clear service quality test should be exposed as service and ones which failed to clear the test should be developed as normal business component.

Good Reference for further reading :

  • SOA Principles of Service Design by Thomas Erl
  • IBM SOMA Methodology