The Need of SOA Governance! 0
Service Oriented Architecture is mostly popular because it promises interoperability between heterogeneous applications and technologies with least hassle in application integration. A service’s loose coupling to host applications gives it the ability to share data across enterprises more easily. Using SOA’s increase reusability, overall costs could be minimized with increased response times to ITs change requests. This results in rapit evolvement of IT systems, for both old and new.
However, as the organization matures, they tend to face the following challenges with SOA:
- Number of new services increases
- Number of dependencies among services increases
- Number of service users (both internal and external to the organization) increases
- Users develop interest in different versions of the same service
- Users sign up for different service level agreements, e.g. John’s request will go through high performance servers, while Jennifer’s requests go through regular servers.
If not properly handled, and organization’s SOA could transform into a complex unmanageable mesh. To avoid this situation, an organization should (but not limited to) perform the following throughout the entire lifecycle of services:
- Properly manage services creation, adhering to rules laid down by an organization
- Increase reuse of services, by “socializing” existing services
- Properly analyze dependencies of a given service, before changing it
- Provide service versioning and allow users to consume different versions of a given service
- Properly validate services for standard compliance
- Properly test services to assure quality of services
- Document both technical and business aspects of services to help consumers and providers
- Properly define who accesses what services
- Measure service behavior at runtime. (e.g. How many times this service is called, by how many consumers, etc..)
In other words, SOA should properly “steer” its enterprise IT system. This process is called “SOA Governance”. Governance is derived from the Latin term for steering.




