Analysis Tools for Hogan® Systems

Computer Sciences offers an industry-leading package of core banking software called Hogan Systems. This highly customizable application enables banks to offer a vast array of services unique to retail and small business customers; in effect, it is the software that makes a bank be a bank.

Hogan's capability comes with corresponding complexity, which must be managed effectively by the owning bank and its IT staff. Semantic Designs provides Component Connectivity (CC) Tools to help the bank and its staff understand how a configured Hogan actually works, enabling faster and more accurate impact analysis and updates of banking services to its client base.

Hogan is tens of millions of lines of code, organized as:

  • Umbrella, the overall architecture
  • PEM, which is a combination of:
    • a huge metadata database, which is the key customization method for Hogan, containing:
      • Screen layouts and assignments to screen devices
      • Data record layouts and assignments to files or databases
      • Configuration data directing applications function and sequencing
    • a database to store bank-selected record types
    • an efficient I/O management facility, directing screen, sequential, heirarchical, and DB2 database record I/O.
  • Thousands of COBOL computation units which carry out actions as directed by the PEM metadata. Normally these units perform I/O using PEM services, but in practical systems applications do traditional I/O operations anyway.
  • JCL scripts which manage the execution of COBOL jobs

How does one understand a Hogan System?

Bank analysts often want to understand what the bank actually does before deciding how to approach a new implementation. The IT staff of a Hogan-based bank continually revise the PEM configuration metadata to add and revise core banking capabilities to meet new demands from bank management and business analysts. Clearly the raw code is available for inspection. But to understand what a Hogan system does requires requires a deep understanding of how the PEM meta-data drives how program elements are sequenced and which programs are accomplishing which tasks on what databases. As a key example, analysts usually need to know how the Hogan COBOL programs call one another; each COBOL program consults the meta-data to decide whether and which other COBOL programs to invoke. Without the instance PEM meta-data, one simply cannot determine the call structure. In general, almost all linkages between the Hogan elements are completely controlled by the PEM instance meta-data. To plan a trip, you not only need a map showing the cities, but you also need to know specifically how the roads connect them (see GUI example below).

While helpful in exploring the PEM meta-data itself, the traditionally available Hogan inspection tools from CSC do not handle the indirectness of the metadata control over application execution and I/O, nor do they have any understanding of the actual source code. Conventional COBOL/JCL source analysis tools provide no insight because the meta-data driven aspect coupled with centralized I/O through PEM prevent them from understanding knowing specifically how the meta data controls the application. Using such conventional tools is a big improvement over just inspecting code manually, but does not address the key issues to make it difficult for Hogan users to understand and adjust their Hogan applications. Such tools also require that such users have deep knowledge of Hogan and code, which is increasingly rare in IT environments with strained budgets. But failure to understand or revise the applications correctly can lead to both severe internal and external issues, precisely because this is core banking software. Owners of Hogan software are always clamoring for better ways to see how Hogan is organized from their perspective.

SD's Component Connectivity (CC) tool for Hogan processes all the Hogan code elements, especially PEM, and builds up a repository of information. This includes analysis of the COBOL code with respect to the specific PEM meta-data. To address the key issue described earlier, the CC tool uses precise global flow-analysis techniques from the compiler world, to determine which CALL statements are controlled by which specific PEM meta-data values, and therefore where such CALLs can lead. It performs similar analyses to determine file and screen accesses as controlled by PEM. The results are provided in easy to navigate reports and user interfaces. These reports and UIs provide direct answers the key questions of analysts and IT staff, enabling them to accomplish their job more effectively and reliably.

The types of information captured by Component Connectivity for Hogan are:

  • JCL elements, including Jobs and Procs, what programs are executed and what I/O resources are assigned to those programs
  • COBOL elements, including programs ("compilation units") and copylibs, which jobs control them, and which files they access
  • Screens used, and which programs interact with them
  • Files and Database access, by which programs, whether through standard COBOL facilities or as managed by PEM:
    • Flat files used
    • Heirachical files used
    • DB2 data bases used; for EXEC DB2, provides tables and columns accessed
The Component Connectivity information is acquired using language-precise source code scanners for COBOL, JCL, PEM and optionally HLASM, and special tools to combie the fine detail of the elements into a integrated whole.

The information is provided both as an HTML report (with tens of thousands of pages) covering the entire Hogan system, as well as via a GUI for easy navigation across the components (see above). Where-used information is provided by program and is precise to source line number. COBOL program structure is provided to help focus attention on the COBOL program parts relevent to particular issues. An option provides access to the COBOL source code, hyperlinked for full cross reference.

See a full Component Connectivity example with explanation.

Contact Semantic Designs for further details.

Hogan is a Registered Trademark of Computer Sciences Corporation.

For more information:    Follow us at Twitter: @SemanticDesigns

Component Connectivity