Service Oriented Architecture (SOA) is one of those technologies that is a catalyst for change, and not only change in the IT environment, but also in the business environment. SOA encourages a world of shared services, reuse and agility. It provides a mechanism to quickly assemble highly distributed systems, built from modular, self-contained services.
This nirvana of quickly assembling new distributed applications is great in terms of rapidly responding to business change. Management of these services however requires strict governance processes if you want to avoid your environment turning into a SOA “Wild, Wild West.”
Governance in an enterprise SOA environment presents a unique set of challenges. Once a new service is deployed into your enterprise, you don’t necessarily know where, how or by whom the service will be used. The following needs to be taken into account when managing these services:
•Security: It is relatively easy for a developer to start using a service, as the schema provides information used by most development tools to create the infrastructure needed to start using the service. Services security needs to be addressed to ensure that the right level of authorization is required in order to make use of a service
•Usage Registration: In order to do capacity planning, planning of new deployments or decommissioning, you need to know whom the users of a service are, and what their access patterns look like • Usage limitations: The fact that your service can perform task B does not mean it is the best way to perform Task B a million times a day. Providing usage guidelines and limitations is the first step, the ability to monitor and enforce these is the goal
•Deployment, Testing and Upgrade procedures: In a highly distributed environment, quality glitches in a service can have serious implications for applications which the service developer might not even be aware of. Versioning of services, adhering to service contracts and deployment of updates needs to happen in a controlled fashion
•Decommissioning procedures: As with the previous topic, decommissioning of a service in an enterprise SOA environment needs to happen in a controlled fashion
While technology helps us to solve the business problems, we need to make sure that it doesn’t create other problems down the line. A successful SOA environment requires a well-thought out governance plan