As business processes and requirements shift over time, application development teams often struggle to keep up with the demand for new software functionality. In many cases, however, the functionality that is defined for a development project may actually already exist elsewhere in the enterprise application portfolio. If software functions can be exposed as enterprise services and made discoverable and accessible, development teams can re-use the existing software assets instead of coding them from scratch. This practice can result in substantial savings in time and resource expenditure.
It is challenging, however, to produce application services that can fulfill their financial potential. First, you must ensure that you’re building the right services. Services have to be clearly aligned with strategic goals and the needs of your evolving applications. They need to be consumable by a wide array of different applications that have been built using different technologies and run on different platforms. And, they need to meet enterprise security and performance goals.
A planning governance solution will help you ensure that you are building enterprise service to plan and to priority. It will help you manage the demand for application services from the business, while helping you remain aligned with your strategic goals and investments. Effective planning governance will help ensure that you build the right services with the right functional granularity.
Once you have identified and prioritized your candidate application services, development governance will help you ensure that enterprise service development is synchronized with existing application lifecycles so that new application releases can be used to expose required services, and that services needed by applications are ready in time for planned application upgrades. Development governance will also provide consumer contract management and change impact management capabilities to minimize the risk of application failure due to changes to underlying services.
Application services will require operational governance to ensure that they meet defined service level and security requirements. Operational governance should also provide federation capabilities to ensure that services are readily consumable across technology, administrative, and organizational boundaries.
A unified governance solution provides consistent, uniform policy definition, validation, implementation and enforcement throughout the plan-build-run stages of the enterprise service lifecycle. For example, policy governance for application services will allow architects to define SLA and security requirements in terms of associated policies that can then be validated through development and implemented and enforced in operations. The policy governance solution should provide security token mediation capabilities that allow services to be consumed by applications regardless of technology or platform.
SOA Software’s product suite manages SOA Governance throughout the plan-build-run service lifecycle, anchoring the process with strong policy governance. In planning, SOA Software’s Portfolio Manager allows planning stakeholders to develop an SOA roadmap, compare it to existing and planned services, and assign priority to selected services. In development, SOA Software’s Repository Manager makes sure that enterprise services confirm to appropriate standards and guidelines, providing powerful change management capabilities. It also governs the consumption process, facilitating controlled and measurable asset reuse. When services are deployed, SOA Software’s Service Manager implements and enforces defined policies for security, performance, and reliability to ensure that enterprise services function as intended. SOA Software’s Policy Manager works in concert with these products to keep policy definitions, and associated metadata, consistent as the service matures from planning through development and then into operation.