DevX HomePage

SOA Governance Brings Order to Services Chaos

Your most valuable SOA assets are worthless if you and your team can't find, use, and manage them. Find out how IBM Rational Asset Manager and IBM WebSphere Service Registry and Repository's governance solution can help you maximize your SOA investment to meet your business needs.

The growing popularity and advantages of Service-Oriented-Architecture (SOA) implementations are often accompanied by a continuous struggle to manage, and not lose control over, an ever increasing number of services and other reusable assets. As a result, organizations are plagued with too many redundant and/or poor quality services—or worse—unmanageable, rogue services created by teams that couldn't find the reusable assets they needed.

SOA reusability is hampered by poorly constructed or redundant services, as much as by business processes and SOA services that are not aligned with development and deployment goals. These conditions are directly attributable to poor communication across the organization, resulting in a lack of visibility into what everyone is doing. Furthermore, these types of problems expand exponentially with the increasing size of organizations and the extent to which teams of developers, testers, etc, are distributed across the company or around the world. It is all too common for SOA IT managers to lose track of what services were created, where services are stored, who is working on which service, when services are scheduled for deployment, and even who owns what services. It is also common for services to be managed on an ad hoc basis, using inefficient tools from Excel spreadsheets to e-mail and team meetings to communicate and keep track of services that are created or changes that are made to existing services.

It is easy to understand how chaos ensues under these conditions. What isn't easily recognized is that this level of inefficiency causes companies to miss key opportunities to capitalize on existing assets, control costs, and to increase developer and tester productivity through the reuse of code, models, tests, and a host of other software assets and artifacts across the organization and throughout the development lifecycle.

To put it simply, the success of your SOA development and deployment project requires a better and more effective way to manage the vast quantity of services you have built across different applications—as well as distributed groups and teams throughout the SOA lifecycle—from design to deployment. Good governance and management entails a range of activities supporting open visibility into everything from who has rights to access the services to the monitoring and reporting processes for capturing and communicating the results and usage of services.

The best way to achieve this is by instituting a complete SOA lifecycle governance solution that supports the organization's efforts to develop and deploy services and service-based applications. SOA governance entails creating a decision-making structure across the organization from the executive suite to individual lines of business and departmental organizations. Since it is essentially a form of IT governance for design, development, and deployment of services, SOA governance needs to entail management of business processes all the way through the design specifications, models, actual code, and test scripts for Web services.

IBM Simplifies and Automates SOA Governance
SOA governance and management policies and procedures are automated by two tools: IBM Rational® Asset Manager and IBM WebSphere® Service Registry and Repository software. Why two tools?* The development and deployment phases of the lifecycle each have their own specific requirements and set of unique challenges. During development it is important to ensure that you are not recreating a version of the same service multiple times. You also want to make sure the SOA testing process is effective and your team is collaborating throughout every stage of the project.

After services are deployed, they can be managed by WebSphere Service Registry and Repository software. Once deployed, it is important not only to know what services are available, how they are being used and who is using them, but also to make these services dynamically discoverable by SOA runtime tools such as an Enterprise Service Bus (ESB). You also need to understand the various interactions and dependencies between services. Rational Asset Manager and IBM WebSphere Service Registry and Repository automate these processes. Both are also designed to make it as easy as possible for anyone to use the tools and to find what they are looking for. Although they can be used separately, they are tightly integrated together. When used together these two products close the SOA lifecycle loop allowing services to be updated and managed throughout their lifetime.

Rational Asset Manager Governance for SOA Development
Rational Asset Manager facilitates governance by preventing costly mistakes, ensuring architectural integrity, and enhancing governance across the organization. It gives everyone on the team the ability to understand what assets exist while making it possible for anyone in the organization to create, locate, and use reusable assets. It also standardizes and enforces the definition and consistency of terms for any size project with the use of classification schemas and asset types.

Rational Asset Manager initiates the governance process as assets are submitted. You can browse and categorize, assets, and control who has access to various assets. You can version assets and measure metrics such as activity level in terms of asset usage. Additionally, it eliminates or minimizes redundancy so teams can avoid having to maintain and manage multiple and/or similar software assets no matter if the asset is code, tests, design specifications or any other artifacts.

Rational Asset Manager lets you configure one or more development communities for a specific audience by defining users, roles, and their permissions. When a new asset is created for the repository, the tool guides you through the step by step process of defining all the attributes and variables established and required by the community. All the activities that have to be performed on the asset can be viewed in a Web-based user interface. Information about the eventual acceptance or rejection of the asset is sent to the developer who worked on it. If the asset is approved it is placed into the repository where it is available to the people who are allowed to access and use it. When an asset needs to be changed or updated, Rational Asset Manager notifies the appropriate person through e-mail, RSS feeds, etc., and provides the information required to retrieve, fix or update the asset and check it back into the repository using the tools with which you are already familiar.

Governance activities will depend on the review process established by the Rational Asset Manager community. Some communities may have many levels of reviewers from business analysts and project managers to the senior programmers on a particular project. Others may just need to be approved by the project manager. Since this information was originally configured into Rational Asset Manager, e-mails or other types of messages are automatically sent to the appropriate people who need to be involved in the review process.

The tool's sophisticated discovery and federated search capability across the development lifecycle, along with its secure intellectual property sharing capability, improves governance. It also ensures architectural integrity and better communication for globally distributed and outsourced development projects.

Is there interoperability with other tools? You bet. Rational Asset Manager comes as an easy to install plug-in for an Eclipse development environment. Assets can be versioned through integration with tools you already use—including IBM Rational® ClearCase for complete software configuration management with version control and IBM Rational® ClearQuest. The Rational ClearQuest integration provides asset defect tracking and asset review customization. The WebSphere Service Registry and Repository integration provides traceability of services from development into runtime.

Although Rational Asset Manager is the primary source of information about most development assets, you can track various references to WebSphere Service Registry and Repository service interfaces for more detailed information about services and other related run-time information. Asset types and classification schemas that are relevant to the target users are configurable so that development communities can be configured with a connection to one or more WebSphere Service Registry and Repository service registries.

WebSphere Service Registry and Repository is targeted towards either users who want to use deployed services or systems that want to invoke services dynamically during run-time. The Rational Asset Manager software synchronizes with the WebSphere Service Registry and Repository software to coordinate the development of service assets (code, models, test, etc.) and related metadata with the interfaces of deployed services. Although Rational Asset Manager is the primary source of information about many kinds of development assets, you can track various references to WebSphere Service Registry and Repository service interfaces for more detailed information about services and other related run-time information.

* IBM has recently announced a combined solution, WebSphere Service Registry and Repository Advanced Lifecycle Edition that provides the ability to govern the service lifecycle from creation to consumption





WebSphere Service Registry and Repository Completes the SOA Lifecycle
WebSphere Service Registry and Repository facilitates storing, accessing and managing service information, called service metadata, so that you can easily select, invoke, govern and reuse your services. The repository serves as a central location in which you can advertise and find information about any service deployed in or used by your organization. Furthermore, it is the enabling structure that allows you to understand the capabilities and requirements of the services as well as the crucial issues governing them including policies defining who can see, change, create or use a specific service.

The publish and find capabilities of WebSphere Service Registry and Repository give users greater visibility and easier access to existing services. Its service discovery engine can find and keep track of deployed services within your SOA. It also features an advanced query mechanism to search and find the services that best fit the requirements of a given process. You can search for a service or asset using tags, document types, or other types of classifications.

You can upload services to and download services from the WebSphere Service Registry and Repository and perform numerous types of searches across both tools. Rational Asset Manager enables new or modified services to be published to the WebSphere Service Registry and Repository. Once a service asset is published, the repositories are synchronized enabling Rational Asset Manager software to support advanced search and retrieval capabilities.

The enrich capability enables dynamic and efficient access to services information by both runtime applications and processes that facilitate better connectivity and efficiency. With an enterprise service bus (ESB), WebSphere Service Registry and Repository increases runtime flexibility of applications and processes by providing dynamic selection of services (for example, Web services) based on service metadata stored in WebSphere Service Registry and Repository, making intelligent decisions to route messages.

WebSphere Service Registry and Repository's management capability works with service metadata, as well as service interactions, dependencies and redundancies. It allows services to be classified as per your business objectives and attach policies for service usage. It can capture information about service health and performance from monitoring tools and associate with it with the service, thereby maintaining an authoritative source of all service metadata.

The govern capability of WebSphere Service Registry and Repository plays an enabler role for SOA governance by supporting:

Access control
You can control the visibility and access to service metadata for sharing and reuse by using role-based access.

Service classification
You can classify services and related metadata into groups that are meaningful in the domain of your organization and that align with your business needs.

Service lifecycle
WebSphere Service Registry and Repository supports tracking of service metadata as it makes its way through its governed lifecycle, including approvals, deprecation and retirement in development, testing, staging and production environments. You can easily implement best practices for service lifecycle management with the ability to promote services and associated metadata based on lifecycle validations.

Impact analysis
By maintaining relationships, WebSphere Service Registry and Repository has extensive support for analyzing the impact of service introduction, deletion or alteration. Using graphical views, you can determine the impact of making changes to services in your SOA environment.

Policy support
You can publish policies that apply to services stored in WebSphere Service Registry and Repository, including policy specifications that are compliant with the Web Services Policy Framework (WS-Policy). These policies are enforced by runtime products, such as an ESB, and help you institute best practices in your SOA deployment.

Governance profile
To help you get started easily and quickly, WebSphere Service Registry and Repository provides a well-defined service model that includes templates, associated lifecycles, governance policies with a generic validator, a classification system, roles and perspectives. You can customize the model to suit your business needs.

SOA governance is arguably the most critical component of any SOA implementation. Without it, your SOA services are just a jumbled collection of unusable assets. Together Rational Asset Manager and the WebSphere Service Registry and Repository software deliver a full-service lifecycle governance solution that spans both development and deployment services—turning all your SOA assets into easy-to-find and manage reusable services.

More Resources


Rikki Kirzner is a freelance writer and veteran computer industry professional with experience as an analyst and former Research Director for IDC, Gartner Group, and Meta Group and as a Senior Editor. Rikki writes about software, development tools, open source, SOA, domaining, and Web-based computing.