Services modeling and the services modeling tools are designed to help you effectively identify, design and develop services using model-driven development as part of a service oriented development process. The services modeling tools are based on the Service-oriented architecture modeling language (SoaML) from the Object Management Group (OMG). You can use the services modeling tooling to model the design, composition and interrelationships between services in a service oriented architecture.
You can use the services modeling tools to plan, design and visualize a service-oriented architecture and how the services fit together. You can create a services model from scratch or derived from a business process model that was possibly provided by someone else to communicate the business process and IT requirements.
When you begin services modeling, you typically start by identifying candidate services (called capabilities in SoaML) and then analyzing them in order to determine the priority of further design and implementation. For the prioritized services, you then create service interfaces which define both the operations that will be provided by a service as well as any operations a consumer of a service must provide. You go on to define service participants, both atomic and composite, and the connections between them, to specify which and how services will be realized and exposed. You can transform the service model to produce a code skeleton for a developer to implement. You can also use a service model in a deployment model to plan the deployment of your services.