SOA is all about finding, modeling, improving, managing, monitoring, governing and, for those that are software services, implementing IT services in your organization. Yet there seems to be no tool that can do all that. Of course there are tools that claim they can do that; mostly from the IT world (trying to leverage their UML investment in this SOA world). Yet most of these tools don’t really provide features needed to assist you in SOA. Below are some of the key features we believe are needed for such a tool.
- Must be Enterprise wide. Many IT oriented “SOA” tools seem to stick to the concept of “IT projects”-however IT projects should have a place in this tool as often the service portfolio is updated due to projects (consume driven services)
- Must have the notion of a Service and a service landscape. This is regardless whether it’s a software service or not. Many IT oriented SOA products use UML’s stereotyped interfaces, but they lack the meta-model services especially for non software services. We are of course aware of the many initiatives (meta-models and ontologies) trying to create a meta model for services (some even based on an UML profile, such as OMG’s UMPS)
- Must have business architecture capabilities and alignment with the SOA. Here we are talking about modelling capabilities such as BMM, BPMN and SBVR; not just isolated but a solution integrating Business Architecture, Service Architecture and IT Architecture up until Application design.
- Must provide an integrated solution as stated in the requirement above: Business Architecture, Service Architecture, IT Architecture and drive/govern (application) design (tractability is key here: where are my services used, if I change this process or rule how does that effect my organization and potentially IT solutions)
- Must assist you with setting up, maintaining/managing and governing SOA policies. One of the key aspects of SOA is its policies. They however seem to vanish or been seen as project stallers.
- Must promote SOA supply chain: provide-manage-consume of services.
- Most include support for service provisioning (finding, modeling, specifying) and using services
- Should have the notion of using a manageable component architecture for delivering software services
- Could be linked to an IT service management tool (one that managed the runtime behaviour of IT service). This can be used to monitor use, performance and can be used for the billing of the pay-per-use scheme. An integrated solution would help you understand how the services are actually being used when making decisions on you SOA (e.g, outsource or not, core/competence analysis)
In fact we could (MoSCoW) go on and on- and we will probably add many more posts on this subject. My main point is: there is no real(!) tool support yet, When it is however needed badly. Especially because SOA is enterprise-wide, it requires to align/drive other architectures and it is used by many different roles (enterprise-, business- and service architects, business owners, business analysts, it/software analysts, it/software designers/operational manager and so on)
It seems the potential of SOA – integrated the whole enterprise is just not picked up by tool vendors yet. They just seem to leverage their made investment (whether it is in software or business/enterprise architecture). The mind shift required to reap the fruits of SOA with the company has just not been picked up the software vendors. Maybe wise, maybe not, who knows…
If you know true SOA tools please comment; if you are a software vendor seeking to provide a SOA solution-I’m happy to help with the requirements ;)