In SOA, we generally talk about identifying the services, implementing it, composing it and governing the services. The key factor that missing out here is service classification and service capability model. Understanding what type of service exists like technical, common services, industry specific, business services, what are the capabilities supported by services, like service supporting only swift format for payment transfer, what are relationship between services and business process , would help to effectively utilize these services.
Service classification is an important step in realizing and creating an effective SOA implementation. .A Good classification system can simplify the task for finding services, promoting re usability and service composition. It is easier to search for services using query like – “find all services serving home loan”. In the above query, home loan is a entity, which is part of your classification system.
Classifying the services can describe the capability of services -like “the transaction time for the service’s, security requirements for the service” and other service capabilities based on your requirements.
In order to create entity and relationships, you can use Ontology Web language and than create taxonomies. Taxonomy is a system of hierarchical types that can be used to describe entities. The types are expressed in a class and subclass system. For instance in the above example – Loan is type of entity, which has sub classes Home Loan and Auto Loan.
The classification system would be typically created in your Service Registry. For creating OWL files you can use open source toolkit like Protege or Jena framework. The meta-model created using ontology can be used by the runtime (for instance an ESB) to pick up the right service based on the service context.