Business rules in legacy systems
Governments and large corporations maintain huge amount of the legacy software as part of their IT infrastructure. In 2008, 490 companies of the Fortune 500 are still using legacy systems to process more than 30 billion transactions or $1 trillion worth of business each and every day. In 1997, the Gartner Group reported that 80% of the world’s business ran on COBOL with over 200 billion lines of code in existence and with an estimated 5 billion lines of new code annually. Current estimates range anywhere from 200 to 500 billion lines of code in use.
A recent report “Legacy Applications Trend Report” released by Information and Communications Technology Council states that in Canada 60,000 employees are working on legacy systems. This represents 10% of the 600,000 total ICT employments. The average Fortune 100 Company maintains 35 million lines of legacy code, and adds about 10% each year for enhancements and maintenance. The human resources issue is critical for keeping these systems running and with the retirements in the upcoming years, it is expected that many more modernization projects will appear. According to the same report, the human resources issue is still not handled with retirements: “people in the C-Suite don’t know they have a (HR) problem yet. Since they don’t perceive the problem, there are few HR initiatives for it” (CEO of MB Foster Associates Inc., a Chesterville, Ontario firm specializing in supporting HP legacy systems and data migration).
Discovery and understanding of business rules plays a major role in the maintenance and modernization of legacy software systems. The recovery of business rules supports legacy asset preservation, business model optimization and systems forward engineering [1]. According to a recent survey [2], about half of the companies who reported difficulties in modernizing their legacy systems, said that a major issue was the fact that hard-coded and closed business rules" make it difficult to adapt their systems to new requirements and migrate to more modern environments.
Recovering business rules
The Business Rules Recovery Technology consists of several tools which allow for:
- Easier maintenance of large legacy systems
- Easier migration of these systems to new platforms
The technology consists of an extensible and customizable framework for knowledge extraction from the legacy source code and related documentation upon which additional tools can be built. Calculations, other significant operations and their context are extracted. By context, we understand here conditions, available documentation, relations with other data items. Figure 1 presents all the different levels of data extracted. The source code is analyzed into an abstract syntax tree (AST) from which the business rules are extracted. To make this information usable to a wide audience – from COBOL maintainers to business analysts – the extracted knowledge has to be presented at different levels, with some not requiring any technical knowledge (End user data on Figure 1). More details about the process can be found in [6] and [7].
Often, the documentation of the legacy systems is not maintained; however, we assume that some documentation about the data exists. This assumption is made, because the data processed by these systems is very valuable. We make the best use of this documentation and link it to artifacts extracted from source code.
Because legacy systems are often very large – it is common to see systems of hundreds of programs, each possibly having over 50,000 lines – hence another feature is an easy and flexible navigation and visualization of extracted business rules, code and locating data elements.
The underlying data model will follow the developments in the Object Management Group (OMG) regarding Knowledge Discovery Metamodel (KDM) which aims at producing a common platform for software reverse engineering tools and the Semantics of Business Vocabulary and Business Rules (SBVR).
Bibliography
[1] Senik, D.: Doyletech Corporation, Associates Inc.: Legacy applications trend report. Technical report, Information and Communications Technology Council (May 2008)
[2] Software AG: Customer survey report: Legacy modernization. Technical report (2007)
[4] Bisbal, J., Lawless, D., Wu, B., Grimson, J.: Legacy information systems: issues and directions. Software, IEEE 16(5), 103–111 (1999)
[5] Ricadela, A., Babcock, C.: Taming the beast. InformationWeek (2003)
[6] Putrycz, E., Kark A. W.: Springer-Verlag (ed.) Recovering Business Rules from Legacy Source Code for System Modernization Advances in Rule Interchange and Applications, Proceedings of RuleML 2007, 2007, 107-118
[7] Putrycz, E., Kark, A. W.: Springer-Verlag (ed.) Connecting legacy code, business rules and documentation Advances in Rule Interchange and Applications, Proceedings of RuleML 2008, 2008, 17-30
