DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
Get regular email alerts when we publish new features!
DevX Update for IBM developerWorks

More Newsletters

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


  Next Page: Complete SOA Lifecycle
Page 1: SOA GovernancePage 2: Complete SOA Lifecycle