Why you need Rational Asset Manager
Many software development organizations do not have a central place to store their reusable, high-value assets; therefore, they often store an asset as just another version of an artifact among the millions of other versioned artifacts in a software configuration management (SCM) system. Sometimes, they resort to storing the assets on a Web server or on a wiki site. Even when companies provide a consistent place to store and search for these assets, the metadata that describes them is typically either inconsistent or nonexistent. Such makeshift arrangements make it difficult to find, assess, and reuse assets quickly. Rational Asset Manager ends this confusion, frustration, and waste.
Rational Asset Manager also enables you to track versioned artifacts back to the assets that were used to create them. This traceability makes it easier for developers to maintain existing assets and create new versions, which saves them time, thus saving the company money.
The addition of Rational Asset Manager to your development environment enhances the capabilities of software that it integrates with, including all of these tools (also see Figure 1):
- IBM® Rational® ClearQuest®: The asset discussion forums in Rational Asset Manager integrate with those of Rational ClearQuest. You can see all of the change request queries that are related to the asset or submit a new change request for a specific asset. Additionally, you can further customize the configurable asset review process by using Rational ClearQuest record and state transition capabilities. Rather than having to store an asset as an attachment in Rational ClearQuest without being able to search its contents, you can now search and govern assets with Rational Asset Manager and even search the content of the assets.
- IBM® Rational® ClearCase®: Rational Asset Manager can store assets as complete, unified business solutions, which makes them easier to reuse. You can categorize your assets according to your organization's unique classification hierarchy, tag them with labels or metadata that you define, or find them by simply using a full-text search. By using the governance capabilities, you can restrict reuse of assets stored in Rational ClearCase to those that have been reviewed and approved.
- Concurrent Versioning System (CVS): Rational Asset Manager can also use CVS to store and version assets.
- Lightweight Directory Access Protocol (LDAP): Rational Asset Manager can integrate with LDAP or custom registries to use existing user and group information and to authenticate users' authorizations for access.
- Eclipse: Developers can search, reuse, modify, or create new assets within their development environments. This ability is available in any application that is based on Eclipse Version 3.2.2 or higher, such as IBM® Rational® Software Architect Version 7, IBM® Rational® Application Developer Version 7, IBM® WebSphere® Developer for System Z, and other IBM Software Delivery Platform products that are based on Eclipse V3.2.2.
- IBM® WebSphere® Service Registry and Repository: Rational Asset Manager adds service asset development governance, traceability, utilization monitoring, maintenance, search and reuse of services stored in WebSphere Service Registry and Repository. You can restrict its use to only the services that you want to reuse or to make visible to development teams or to the services where you want to govern the lifecycle.
Figure 1. Rational Asset Manager integration diagram
How Rational Asset Manager works
Rational Asset Manager is a customizable, role-based repository for storing published assets, which are complete solutions that have the potential for reuse. This repository can work with various hardware and operating system platforms and offers two types of interface: Web and Eclipse clients. These interfaces include tools that help you search, organize, and download assets. You can also communicate with other users, provide governance, and get statistics.
The purpose of Rational Asset Manager is to organize the work completed under your current production model. It provides additional metadata that informs users about the context and development history of the files in an asset. In this way, users can make future decisions based on this metadata, reuse the assets in other contexts, and reduce redundant work.
After an asset has been developed, reviewed, and approved, you can then download and deploy it to your system or middleware infrastructure. You can either make your assets available on an application server, or you can publish the interfaces for a service asset to service registries, such as WebSphere Service Registry and Repository.
Rational Asset Manager increases your capabilities and gives you several advantages:
- Search and reuse: Rational Asset Manager makes it easy to find assets through advanced search, keyword search, filters, user-defined categories, and tags.
- Governance: Repository administrators can assign permissions to users with different roles and levels of access, require users to provide specific information when submitting an asset to the repository, and create review processes for assets to ensure accuracy and completeness.
- Collaboration: All repository users can use the Rational Asset Manager interface to report a problem, raise a discussion, rate an asset, make requests, send e-mail, and subscribe to RSS feeds that provide information about asset activity.
- Statistical analysis: Strategists and management can use auditing capabilities within the product to monitor impact analysis.
- Process improvement: With a sample IBM Rational Method Composer plug-in, you can do asset-based development using the IBM® Rational Unified Process® (RUP®). For details, see RUP for Asset-Based Development V3.0 and Asset-Based Development Governance Plug-in V1.0.
- Quick-start catalog: The catalog setup included with Rational Asset Manager enables you to implement your service-oriented architecture (SOA) asset reuse program quickly and easily.
Rational Asset Manager offers two clients primarily designed to accommodate two different user groups in your organization:
- A server-based Web browser client with a repository-wide perspective and reporting capabilities for executives, administrators, managers, reviewers, and strategists.
- Administrators configure the Rational Asset Manager server connections for specific integration end points.
- Community administrators configure communities, populate user accounts, and control access.
- Managers visit the repository for tracking purposes and to evaluate the asset's potential of specific assets or types of assets as part of the corporate strategy.
- Reviewers use the Web client's collaboration capabilities to participate in asset reviews.
- An Eclipse client for developers and testers that integrates into the existing development environment, so they can search, browse, download, and update assets without leaving their Eclipse-based workspaces. The Eclipse client adopts the server configurations designed in the Web-based client.
Additionally, users can create or customize their own clients to connect to the repository.
An example of how companies can benefit by using Rational Asset Manager
The rest of this article explains how asset management can help in the software development lifecycle. Rational Asset Manager integrates with WebSphere Service Registry and Repository, Rational ClearCase, and Rational ClearQuest to manage and to facilitate interdepartmental collaboration. This business scenario illustrates the software development process from inception through post-deployment management.
Scenario: Software assets for an insurance company
JKE Enterprises is a fictitious insurance company with a globally distributed development team. They implemented Rational Asset Manager to solve the increasingly serious problem of how to maintain effective asset reuse across the whole company. They are interested in asset management because their groups have large, complex databases and filing systems scattered across disciplines all over the world. This has made it difficult for people in other departments and locations to successfully search, find, and use their existing assets.
They now use Rational Asset Manager to manage all of the existing processes, designs, architectural models, development processes, and test cases that may already exist from any organization or department in the company, worldwide. This enables any employee to find assets from anywhere in the company. In this scenario, they are going to add a new claims processing capability to an existing Insurance for Individuals and Families portal for their highly ranked Web service.
JKE Enterprises recently had a scare when they detected that one of the GPL licenses had changed for one of the open source components that they normally reuse. It took a couple of weeks just to quantify which teams and assets use the open source reporting technology. Their management team was concerned that they didn't have access to the information that they needed. They could not notify the appropriate teams quickly about the vulnerability nor provide a clear migration path to the replacement asset.
The company already has a service registry. However, the proliferation of inconsistently developed services presents a challenge. They want to govern service asset development to ensure consistent development of services across the organization so that they can be published to their registry and deployed to their application server. The IT Operations team found that some developers create services with Web Services Description Language (WSDL) files and others simply use XML files. Some of the better developers tend to include a description of the service and who supports it, along with sample test data and scripts to verify and test the service when it is published and deployed.
Planning and implementation scenario
JKE Enterprises wants a single, consistent way for developers to search all of their assets, including the services that they can reuse. The company also wants to control which services different teams can reuse and to document traceability of the service assets used in each of their developed assets. Here are the activities that they need to do to reach these goals, given their situation.
Activity 1: Determine the nature and extent of the problem
JKE Enterprises has established a strong Web presence and wants to expand the capabilities of its Web site. Eric, a member of the executive team, identifies a new claims processing function as an opportunity to reduce customer support costs and eliminate the manual tasks involved in claims processing. He presents his idea to the board of directors. After deliberation, the board of directors tells the executive team to move forward and actively research viable technical alternatives.
Activity 2: Agree on what qualifies as assets
The CIO's team identifies an architecture team and defines the types of assets that they want to manage. They create a service asset type in Rational Asset Manager with required attributes, such as name space, local name, and support person. This includes relationships to a service policy asset, a service interface asset, and a service implementation asset. They stipulate that a policy asset must contain an artifact with a file that has a .policy extension, and a service interface asset must include a WSDL and an XML artifact, but that service implementation assets have no constraints. They use the Asset-Based Development documentation to guide them through the process of defining their assets.
Activity 3: Agree on asset funding, review, and governance
The management team discusses what departments will maintain the assets for this project and develops a comprehensive financial plan for the project. The management team answers these questions: What department maintains the assets and pays for their upkeep? How often will updates be made available? How will updates be communicated when they become available?
JKE Enterprise's customer-facing, Web-based solution development team will own these assets. In keeping with the current process model, the department will release a formal refresh of the code online. This refresh will include updates to the documentation and code, but it will limit the non-crucial user interface changes, holding all major GUI modifications for the next major release. All customers with current legal licenses will be notified quarterly by e-mail of the upcoming development effort and the anticipated date of the code refresh.
Activity 4: Find the process model
Summary: In this part of the scenario, Annie finds and evaluates process models that already exist in the company. The discussion forums contain information that helps her quickly find the model that is a perfect fit in this development environment.
Eric e-mails Annie, the lead analyst in charge of all customer-facing Web-based solution development, and discusses the proposed solution. Together, Annie and Eric delineate a list of requirements. Annie then uses Rational Asset Manager to search for any process models that already exist in other departments so that she can compare the existing models to their list of requirements. Annie types the keywords
Claims, Process, Model into the search feature of Rational Asset Manager and finds 13 different process models. She browses the descriptive text and the artifacts for each of theses models and determines that two of them are directly relevant. She continues to read more about them in the discussion forum for each asset.
Any user can contribute to the discussion forums in Rational Asset Manager, and these forums can also be connected with Rational ClearQuest. Annie reads through the discussion forums and finds that one of the two solutions has a defect open against it, because it does not work properly with one of the databases that the department Web site relies on. The other solution appears to meet all of the requirements and has no defects that would prevent its use. She has saved many months in research and development and found a complete, fully tested model to use and adapt for this project. She has immediate access to all of the files and code associated with the asset and downloads a copy for further study. Annie creates a new process model asset and names it Claims Processing Model v2.0. Explicit relationships are defined between the two assets so that when other employees search for this type of process model in the future, they will find both models together. Over time, defined custom relationships makes assets very easy to find.
Activity 5: Create the requirements
Summary: In this part of the scenario, Annie uses Rational ClearQuest to communicate and track the requirements for the new claims processing solution. Annie sends the requirements to Archie, a software architect, with a direct link to the model that he should use when designing the solution. Archie evaluates the new Claims Processing Model v2.0 asset and also uses Rational Asset Manager to browse for existing Web services that he can reuse.
Annie then uses a forum in Rational Asset Manager to create a new requirement: Adding the claims processing capability to the company Web site. This forum type is mapped to requirements in Rational ClearQuest, and when she creates the forum topic, a new requirement record is automatically created in Rational ClearQuest. Annie puts a direct link to the Claims Processing Model v2.0 asset so that the architect can find it easily.
Archie, the software architect, receives the notification that the new requirement has been submitted. He opens the Rational ClearQuest record and clicks the link to the Claims Processing Model v2.0 asset. Rational Asset Manager opens the page describing the asset that Annie found. Archie immediately browses the asset's details and finds the asset that contain the first model. Archie helped create the first model five years ago when he worked on the claims processing capabilities for internal requests. He reads through the requirement record again and continues to evaluate the new asset.
He then uses Rational Asset Manager to search for any existing services that can be reused to meet the requirements. He finds a fairly comprehensive list of assets and WSDL files in the search results list. Archie narrows the search results with specific filters and then, using the WSDL records, opens WebSphere Service Registry and takes a closer look at some of the services available for the solution. Archie finds one Web service asset, FinancialService Implementation v1.0, that looks very promising. He is ready to download the asset and take an even closer look when he realizes he doesn't have authorization to view assets in the Rational Asset Manager community that the Web service asset belongs to. He clicks a button to request permission to view the asset. Within minutes, the community administrator has added him to the community with the permissions that he needs to work with the Web service asset. Because these solutions can be very complicated, Rational Asset Manager gives companies complete control over who works with assets and how they can work with them.
Activity 6: Design the solution
Summary: In this part of the scenario, Archie uses existing Web services, implementations, designs, and the new model that Annie provided to create the architecture and design the new claims processing system. He uses Rational Asset Manager to find existing solutions, to tag his new solution, and to subscribe to the assets so that he can monitor how they change throughout development.
Archie begins to implement some of the services needed for the solution. He starts with a two assets that he found: the FinancialService Implementation v1.0 and FinancialService Design v1.0 assets. He opens a discussion forum with the development team in Rational Asset Manager and asks them to evaluate possible improvements and any potential risks in the existing service. He updates these assets with the appropriate claims processing information and submits the new assets as the Claims Processing Implementation v1.0 and Claims Processing Design v1.0. He creates an explicit relationship between them and the FinancialService Implementation assets. From the Web client user interface, Archie also quickly subscribes to the new claims processing assets. He will receive a notification whenever the assets are updated. He tags both assets with a tag called
Corporate Finance so that he can group similar assets by this name and easily find them again.
When he is ready to begin designing and creating the architecture for the solution, he opens his Eclipse development environment, which contains the Rational Asset Manager Eclipse client plug-ins, and finds the two assets by using the tags. He uses the Web services that he found earlier and begins creating the architecture for the Claims Process Website Design v1.0. He creates relationships between the claims processing assets so that they are linked for anyone who wants to reuse them in the future.
Activity 7: Use Rational Asset Manager throughtout development
Summary: In this part of the scenario, Dave and his development team create the solution for the claims processing function. The development team uses Rational ClearCase, but much of the development activity is transparent to Rational Asset Manager. They discuss development tests through the forums and log major bugs in Rational ClearQuest.
Without leaving Rational Asset Manager, when Archie finishes the design, he e-mails the Claims Processing Design v1.0 asset to Dave, the development team lead. Dave follows the link directly to the asset in Rational Asset Manager and scans the complete, easy-to-follow history of the asset. He notices the financial service assets that the new solution is modeled on, evaluates the Web services from WebSphere Service Registry and Repository by using the Rational Asset Manager interface, and links directly to the requirements from the executive team in Rational ClearQuest.
Dave has his team implement the new claims processing asset, using the specifications and existing solutions that Archie included in his design. After Dave's team implements the Web services and develops the supporting code and user interface, the solution is ready to test. Dave and his team submit various test cases to Rational Asset Manager as an asset that they call Claims Processing Test Suite v1.0. This asset has explicit relationships defined to the other claims processing assets. They use these development tests to find any preliminary bugs. One developer finds that the claims processing capability on the Web site is not logging the correct values. He opens a defect report in Rational ClearQuest, which creates a Rational Asset Manager forum where developers can discuss and solve the problem. Darnell, another developer, has seen this problem before and imports the assets into his workspace from the current branch in the CVS. He implements a new class in the API to solve the problem. Then he updates the discussion forum so that any other developers who come across this problem have an appropriate fix. He also updates the claims processing asset and checks it back into Rational ClearCase before he closes the defect in Rational ClearQuest. The development team updates the test suite with the new test cases to include the testing of the new function.
Activity 8: Test and review the asset
Summary: In this part of the scenario, the extended test team, developers, reviewers, and review board members test and review the asset by using the Rational Asset Manager review process, which is integrated with Rational ClearQuest. After the asset has been fully tested and accepted, the release engineer modifies the build so that the new code can be sent to production. Annie completes the final testing, checks the requirements, and sends the asset to production.
When Dave's team is satisfied that their solution meets the requirements in Rational ClearQuest, the Claims Processing Solution v1.0 asset is submitted for a review in Rational Asset Manager. The reviewers include testers and developers from other teams. They review the asset, logging any bugs directly into Rational ClearQuest through the Rational Asset Manager discussion forum. The review board members are those individuals who give the final approval for the before deployment into the production environment. The review board members are notified by e-mail in the personalized dashboard (called My Asset Manager) that an asset is in Plan Review state, waiting for their sign-off before the asset can be used in production.
The review board members are Annie (the analyst), Archie (the architect), and Dave (the lead developer). Annie sees the asset first and starts the review. Everyone on the team begins using the test cases to test the product. Because the asset was built on a fully tested solution, this version passes its test cases with only minor adjustments. Before long, the asset is fully reviewed, all of the defects that were opened in ClearQuest are fixed, and the review board members approve the asset. After the solution has been accepted in unit testing, the release engineer updates the build process and adds metadata to the asset, indicating where the asset is being used. The release engineer creates another Rational ClearQuest record for the Claims Processing Solution v1.0 and sets the state for IT Operations to receive the record and proceed to deploying the new service to production. Annie runs one last performance and requirements test cycle to ensure that the Web site is of the highest quality
Activity 9: Deploy the repository
After the IT Operations team receives the Rational ClearQuest record indicating that it is time to deploy the repository, they retrieve the code from Rational ClearCase and deploy the updated Insurance for Individuals and Families portal on the company's Web site. They deploy the enterprise archive file that contains the business logic and service implementation. Then they publish the service interface asset to the service registry -- first to the development WSRR (Web service registry and repository) instance, then to the test instance, and then to the production instance.
Activity 10: Evaluate and improve
Summary: In this part of the scenario, the executive gathers accurate reports about repository and asset use to evaluate the process for future improvements.
In the first month that the Web site is live, the number of service calls actually goes down. The executive team wants a report on the internal process of creating the Insurance for Families and Individuals portal solution as they continue to create best practices and evaluate their agility in a solution-based development environment. The Rational Asset Manager repository administrator prepares a report by using the metrics and statistics available in Rational Asset Manager. With one click, he extracts the data into a comma-delimited file that he can use to generate a comprehensive report in Microsoft® Excel.
In this business scenario, IBM Rational Asset Manager was an integral part of development throughout the research, design, implementation, review, and deployment phases of this project. Executives, architects, developers, and reviewers collaborated on finding, reusing, updating, and testing an asset for a new development initiative. Without Rational Asset Manager, research and development costs would undoubtedly have been higher, perhaps even much higher, especially if it they had not discovered the existing model.
Moreover, the integration of Rational Asset Manager with existing Rational software in the development environment greatly expanded and enhanced the usefulness of those products. All of this was possible without replacing or modifying any business or development processes that JKE Enterprise already had in place.
- Learn more about Rational Asset Manager, which helps you create, modify, govern, find, and reuse any type of development assets, including SOA and systems development assets.
- Read Maximize reuse of your software assets with Rational Asset Manager, Part 1. This demonstration walks you through an introduction and overview of IBM Rational Asset Manager.
- Read Maximize reuse of your software assets with Rational Asset Manager, Part 2. This demonstration takes you through the process for creating and using assets with Rational Asset Manager.
- Try the Rational Asset Manager demos. These demonstrations provide a look into the advanced functionality of Rational Asset Manager.
- Visit the Rational Asset Manager product area to learn more.
- Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
- Download trial versions of IBM Rational software.
- Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
- Participate in the Rational Asset Manager discussion forum, where you can ask and respond to questions or share your experiences and thoughts with others who are using this software.
- Check out developerWorks blogs and get involved in the developerWorks community.