Millions of lines of application code embody and enable the business processes that govern the day-to-day operations of today's enterprises. For enterprises to adapt to changing market conditions, their applications need to change at a similar pace. This has placed increased pressure on application development teams to deliver changes and enhancements in much shorter time frames, with less business risk, and, more often today, with less-experienced developers.
Because documentation is out-of-date or does not exist, analysts search the application source files to find the artifacts that will be affected by a change. However, determining which parts of an application to change based on the source files is time-consuming. Applications are built from a large number of artifacts, written in multiple programming languages, and stored as source files in multiple libraries in a variety of formats. Text scans typically find less than 80% of the relevant artifacts. Those artifacts that are not found with a text scan must be determined manually by following artifact relationships. As a result, an analyst can spend many hours or even days to be able to estimate the cost of an application change and to plan the work and be at risk that some relevant artifact has not been discovered and changed.
Software developers are similarly affected by the lack of good documentation and the complexity of the applications. Before they can make the required changes, they must understand the programs to be changed — which data elements need to be changed and which related components are needed for testing. Having to use text scans and then trace through source files are time-consuming for them too.
As younger developers replace those who retire, the amount of application knowledge is concentrated in the remaining experienced analysts and developers. They are called upon more often to answer simple questions from new developers. As development teams shrink, there are fewer people to deal with the growing diversity and complexity of a company's business applications. The ability to capture and work with knowledge about application structure, relationships, and control flows, as well as the interdependencies with the databases, transactions, and batch jobs become crucial.
IBM Rational Asset Analyzer collects information about your mainframe and distributed applications from the many places that the source files are stored and organizes this information in a single repository (see Figure1). This knowledge repository can give developers insight into an application's structure and its interactions with business data (Figure2).
Figure 1. The knowledge repository is created from source files
As a result, your development teams can save considerable research time and gain greater confidence that the analysis is complete and accurate. Here are just a few of the typical questions that Rational Asset Analyzer can answer:
- Which components would be affected by a database change?
- Which components do I need to test a program?
- How does this particular program relate to other components?
- Which components should we consider for remediation?
By having more information to aid in the understanding of the existing application, including its data relationships and dependencies, you can make changes and functional enhancements with fewer mistakes and with more focused and comprehensive testing, so you can complete projects on time and within budget.
Figure 2. Application insight examples
In Version 6, Rational Asset Analyzer includes the following additions and enhancements:
- IBM® WebSphere® Studio Asset Analyzer renamed and realigned
- Business rule mining for application modernization projects added
- IBM® WebSphere® ILOG Business Rule Management System integrated
- A RESTful interface to access the application knowledge repository added
- The ability to scan IBM Rational Developer for System z remote projects added
- Unstructured symbol scanning added
- User interface usability and performance improved
WebSphere Studio Asset Analyzer is now functionally aligned with Rational Asset Analyzer, Version 6.0, and renamed as a separate edition, Rational Asset Analyzer for System z, Version 6.0. Both editions provide equivalent functions but this gives you a choice of where z/OS application source files will be scanned.
- Rational Asset Analyzer for System z enables z/OS application source files to be scanned on the IBM® z/OS® platform, which is where these files normally reside. The resulting application information is stored in IBM® DB2® for z/OS®, which is the DB2 environment that many users prefer.
- Rational Asset Analyzer enables z/OS application source files to be scanned on a Microsoft® Windows® system. Although this means that these source files must be downloaded before they can be scanned, scanning and subsequent access to the analyzer repository does not consume mainframe CPU cycles. This option is preferred when you have capacity-constrained mainframes. This option uses DB2 for Windows to store the application information.
To ensure that a company can compete and survive, it must quickly adapt the rules that govern business decisions to changes in the marketplace. In most situations, business decisions are made by using rules encoded in the application source code and its databases. Being able to identify where decisions are made in application source code and what rules are being used is essential to many application modernization or consolidation projects.
Yet finding these business rules is not easy because of the way a program expresses a rule, using programming semantics and a variety of names for the business data. This requires someone with a knowledge of the business and programming skills to be able to recognize the rules as expressed in a program. Organizing the rules that you find in order to make it easier to later find duplicate and conflicting rules or to complete modernization projects sooner is also challenging. Copy-and-paste into documents or spreadsheets is a typical solution that requires a lot of extra effort.
Version 6.0 of both editions adds support for mining business rules. You can use this new capability to quickly find, identify, and organize business rules for follow-on remediation work. This business rule-mining support is implemented as a natural extension to the assets that are already stored in the application knowledge repository.
To help you find the rules, you can define business terms that can be used to collect related data element names. As you map a data element name to a business term, Rational Asset Analyzer automatically discovers related data elements by looking at the program logic. For example, in a Move statement, the target data element would be related to the same business term associated with the source data element. The more a business term increases in data element scope, the more candidate rules the application can help you find.
To help you organize the candidate rules, you can map them to the business activity and business process which they support (Figure 3). This provides a much more convenient, manageable, and useful way of saving these relationships for later analysis, than using documents and spreadsheets can.
Figure 3. Find, identify, and organize business rules
As Figure 4 shows, the Rational Asset Analyzer v6 editions integrate with the WebSphere ILOG Business Rule Management System (BRMS). This new capability gives you two options to share information:
- You can import the ILOG BRMS vocabulary to get a consistent set of business terms that can be linked to the terms that the developers used in the source code.
- You can capture a mined business rule by using the integrated ILOG rule editors for validation and management within ILOG.
This cooperative support between Rational Asset Analyzer and WebSphere ILOG BRMS helps analysts and developers to be more productive and to finish business rules remediation projects sooner.
Figure 4. Business rules integration overview
Rational Asset Analyzer captures a wealth of application knowledge that is stored and organized in an IBM DB2 relational database. Although this information is visible by using web- and Eclipse-based displays, there is always more to learn and new ways to use the knowledge. The power of this knowledge extends far beyond the interfaces provided. To that end, the repository data schema was documented in previous releases for access using DB2 and web services
Version 6 provides a comprehensive RESTful interface. The RESTful interface, along with the published data schema, enables you to use this information in many ways. For example, you can use it with your own tools or as part of reporting and dashboard tools, such as IBM® Rational® Insight performance measurement and management software, as well as in broader analysis efforts, such as those provided by IBM® Cognos® business intelligence and financial performance management software.
The Rational Asset Analyzer Eclipse integration plug-in makes it possible for IBM® Rational® Developer for System z® users to benefit from the Rational Asset Analyzer knowledge repositories, either local or remote, without leaving their working environment. A local Rational Asset Analyzer instance previously enabled those developers to scan workstation source files that were part of a remediation project
Enhancements to that plug-in in Version 6 make it possible to scan Rational Developer for System z remote projects
in a local Rational Asset Analyzer instance. This means that developers will have access to their project source files that are stored on z/OS. In addition, the integration plug-in is packaged with both editions of Rational Asset Analyzer.
Although more effective analysis comes from having application knowledge gathered and stored in context, there are times when this is not possible. For example, you might have source code for which no language scanner is available, or you might want to use source code comments in your analysis. Some application knowledge can be obtained from unstructured data by using a text search. However, that does not offer a convenient way of saving and using the information.
Distributed scanning support in Version 6 introduces an unstructured symbol scan option that you can use to gather symbols (programming verbs, data element names, program names, comments) from any file and store the symbol and its file name in the knowledge repository. By combining this knowledge with custom queries and relationship analysis, you get broader application knowledge and more useful analysis capabilities for unsupported languages.
The user experience is crucial when working with the amount and diversity of knowledge available with Rational Asset Analyzer and Rational Asset Analyzer for System z. Version 6 is part of ongoing work to improve the usability and, thus, the effectiveness of the web user interface. The new business rule-related dialog windows take advantage of Web 2.0 technologies to make the interactions more intuitive.
The Java™ 2 Platform, Enterprise Edition (J2EE) artifact analysis capabilities in the Rational Asset Analyzer V6 products are simplified:
- The manual steps to invoke the distributed scanner and identify the scan root are eliminated.
- The Java artifacts can now be queued for analysis through the same Inventory wizard used for MVS artifacts, and the scan process starts without the need for user intervention.
Additionally, the analysis times for Java artifacts are significantly reduced. In IBM test environments, reductions were greater than 80% when performing local scans and as high as 95% when performing remote scans, such as scanning Java artifacts on a Windows server from Rational Asset Analyzer for System z. Memory consumption is also improved.
Version 6 also includes components required for compiler-based scanning of COBOL and PL/I source code on Windows systems. This removes the dependency of having Rational Developer for System z installed for compiler-based scanning.
You will notice additional user interface enhancements throughout Version 6, all of which are to respond to enhancement requests and to make the UI easier for you to use.
- Useful information related to this article:
- Check the Rational Asset Analyzer web page and the Information Center for system requirements and documentation.
- Find technical developer content and resources on the developerWorks page for IBM Rational Asset Analyzer.
- Learn more about IBM WebSphere ILOG Business Rule Management Systems in this overview and from the related developerWorks page. The library provides access to the documentation.
- For mainframe-related development, stop by the IBM Rational Cafés Connecting Community site
- Browse the Rational Asset Analyzer developerWorks page for links to technical articles and many related resources.
- Visit the Rational software area on developerWorks for technical resources and best practices for Rational Software Delivery Platform products.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends.
- Follow developerWorks on Twitter.
- Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
- Explore Rational computer-based, Web-based, and instructor-led online courses. Hone your skills and learn more about Rational tools with these courses, which range from introductory to advanced. The courses on this catalog are available for purchase through computer-based training or Web-based training. Additionally, some "Getting Started" courses are available free of charge.
Get products and technologies
- Get the Rational Asset Analyzer free trial download.
- Evaluate Rational Asset Analyzer by spending an hour in the Enterprise Modernization for System z Sandbox
- Evaluate WebSphere ILOG Business Rule Management System software (see the Downloads section for options).
- Evaluate WebSphere ILOG Business Rule Management System software by spending a few hours in the SOA Sandbox
- Join the Rational Asset Analyzer forum to ask questions and participate in discussions.
- Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups such as the Rational Café, and wikis.
John Casey is an IT specialist who focuses on IBM System z enterprise modernization. He assists IBM clients throughout the world in understanding and adopting IBM Rational application development solutions for System Z users. During his 31 years with IBM, John has been involved in a variety of application projects on distributed and System z systems, and has written and conducted technical workshops inside and outside of IBM.