In the IT world, the term “governance” means establishing and enforcing how a group agrees to work together. Governance is of course always important, but it becomes more important in SOA solutions (Service Oriented Architecture).
In SOA, service consumers and service providers run in different processes which are developed and managed by different departments. Needless to say, this requires a great deal of coordination to work together successfully – which is why governance is vital to SOA. For SOA to succeed, multiple applications need to share common services, which means they need to coordinate on making those services common and reusable. These are Governance issues, and they are much more complex now than in the days of monolithic applications (or even in the days of reusable code and components!)
The following list describes frequently asked questions related to SOA implementation and management:
- Is it possible to create consistent approaches to discovery, consumption, identification, design, development, implementation, and management of services that will be used? The correct services and solutions that meet business needs must be built.
- How will the services portfolio be managed?
- How will services be managed and who owns them?
- How is re-use for appropriate services ensured?
- How will change management for services and related solutions be managed?
- How is your approach to SOA communicated within the organization?
- How to ensure your SOA Reference Architecture stays relevant?
- How to ensure only approved services which adhere to policy and standards are deployed?
- How can services be managed in a complex environment?
- How can services be easily discovered in a complex environment?
- How will dependencies on services be maintained?
- What roles, responsibilities, and authority are needed for proper management of services?
- What processes and capabilities are needed for managing services within organization?
- How will exceptions to the standard and polices be managed?
- SOA Governance provides answers to the above questions by providing a model comprising process, organization structure and set of infrastructure tools.
Generally speaking, governance means establishing and enforcing how a group agrees to work together. SOA governance is in fact application of Business, IT, and enterprise architecture governance models. Specifically, SOA Governance extends the IT and enterprise architecture governance model, aligning them to provide required support for business governance.
SOA Governance typically makes use of some common elements:
- Guiding principles: Guiding Principles such as service re-use, use service funding model assist in the prioritization and decision-making for the design, deployment, and execution of the SOA Governance process.
- Processes: Processes are the actual set of activities being controlled, monitored, and measured for compliance, dispensation and communication. These process may also be governed to better align with IT, enterprise architecture and business governance. Service Portfolio Management, SOA Service Lifecycle Management, Solution Portfolio Management, SOA Solution Lifecycle are some of the examples of governance process.
- Roles and responsibilities: SOA Governance requires roles and responsibilities to be assigned to relevant people or to a group of people within organization. Their individual and collective responsibility will be to ensure the governance is supported and followed in practice. Some of the important roles and responsibilities are Business Steering board, IT steering board, enterprise architecture governance board, SOA governance board, and business domain experts group. In the SOA governance approach, a SOA Center of Excellence will be created with stakeholders from different backgrounds and competencies, for example: SOA Governance specialists, SOA architects, enterprise architects, operations, security and quality assurance specialists, business analysts, etc. Every role has different and defined objectives.
- Process Artifacts: Process artifacts are created and used for the communication plan, guidelines, SOA metrics, SOA Governance, checkpoint metrics, SOA processes change document, governance logs.
- Tools and technology: Tools and technology provide assistance in storing, enforcing, managing, monitoring capabilities for assets, process and Meta information related to governance.
Now, with this high level understanding outlined above, let’s answer some of the questions posed above.
- Yes it is. To do so, use tools for finding existing services, use policy and guidelines for consumption, use standards, guidelines and process for design, development, implementation and management of services to govern, create Meta information and process compliance reports.
- The Services portfolio will be governed and managed by SOA Governance process using the above tools.
- Services will be managed by SOA Governance process using tools, and ownership will be provided as Meta information as part of this process.
- There are tools that provide harvesting capabilities along with enforced policies to access and usage, which ensures appropriate services re-use.
- For change management of services, use an agreed upon SOA Governance process.
- In terms of communication, SOA Governance provides access to reference architecture, guidelines, principle, process, communication and artifacts in a establishing a common set of terms, concepts, and definitions used throughout the organization.
- SOA Reference Architecture stays relevant with proper SOA Governance.
- Only approved services which adhere to policy and standards are deployed if SOA Governance processes are followed.
- To manage services in a complex environment, SOA Governance with IT, enterprise and business architecture is used.
- In a complex environment, use harvesting tools to discover services.
- Repositories will maintain usages and dependencies for services.
- Properly managing services requires different roles, responsibilities and authority. A few of them are listed under a central ”Roles and responsibilities” repository
- The “Process” section above lists some of the necessities for managing services within the organization.
- During review process, exceptions to the standard and polices will logged and approved. These exceptions will be recorded as part of the Governance report for given service.
Each of these elements can be detailed using the process, elements and activities involved for a better match with organizations SOA maturity model.
SOA Governance can manage SOA projects, assets and help to prevent failures by using appropriate tools like Oracle Enterprise repository, Oracle Service Registry and Oracle Enterprise management pack for SOA.