Mapador was designed with an open architecture to fully support client implementations in heterogeneous, complex and unique environments.
Most of today’s business applications are mission critical applications that need to operate reliably and continuously for long periods. During this long lifetime, they will need to be maintained and enhanced as business conditions change and processes evolve or are replaced.
These strategic systems tend to be large and complex and are often a combination of mainframe, two- or three-tier client/server and web applications. It is an unfortunate but unavoidable fact that most software applications are destined to be maintained and enhanced by teams that were never involved in the original design. Thus, the team’s understanding of these systems must be based on their analysis of the available documentation and study of the system objects (e.g. code). Conflicting information is common, as, very often, the internal documentation does not reflect what is currently in production.
The development and maintenance teams recognize the need for a tool that is able to capture and describe the current “state” of the application objects and their relationships. Such a tool will be used extensively by developers, systems analysts and business analysts in the maintenance and future enhancements to the applications.
Mapador provides a coherent, complete and authoritative representation of all the application system objects and their inter-relationships. Objects such as business processes, steps, database tables, attributes, procedures, programs, scripts, windows, events, can be shown together with their dependencies.
The focus of Mapador is the presentation of intelligence related to business objects, including the dependencies between the various objects. Mapador integrates this large volume of ‘detail level’ information to give higher-level views showing the object interactions in the context of each application and how they relate to the broader system. These views can significantly aid the understanding of all team members and reduce the ‘learning curve’ dramatically.
The information is captured and organized in a centralized repository and presented in a user-friendly format, so that questions such as “what system objects call a specified rule” and “what system objects may be called if a validation routine is called” can be answered quickly and accurately.
Detailed Product Description
Mapador contains several subsystems that are utilized to prepare, parse, link and present a client’s portfolio content. Once implemented, these modules can be executed at client-driven, predefined intervals to keep the repository current and accurate.
Mapador has six independent application components that communicate with each other via well-defined interfaces.
1. Extract & Transform – This application is responsible for:
a) extracting source components from their native storage environment
b) transferring from the native host to the Mapador Server’s staging area
c) converting to usable text format (e.g. EBCDIC to UTF-8 conversion)
2. Parser Suite – This application is responsible for capturing the implied hierarchy of the source components and transforming it into an Abstract Syntax Tree (AST) that is suitable for further processing. The AST is serialized as XML using the Mapador Syntax Description Language (MSDL) schema.
3. Relationship Mapping – This application is the heart of Mapador. It is responsible for the following tasks:
a) normalizing component and relationship types and names
b) filtering out unwanted components and relationships
c) building the Global Graph, a directed graph of all components and relationships within the enterprise
d) discovering and adding new relationships the Global Graph
e) partitioning the Global Graph by areas of interests and/or user communities
f) serializing the partitioned graphs as XML files using the Mapador Graph Definition Language (MDGL) schema.
4. Distributed Repository – This application is responsible for:
a) loading the MDGL files produced by the Relationship Mapping application into a network of interconnected databases.
b) serving component and relationship data to connecting Mapador Client instances
5. Mapador Client – This application provides:
a) repository search and navigation functions
b) data visualization: tables, hierarchical lists and diagrams
c) analytical processing
6. Inventory & Process Control – This application is responsible for:
a) user authentication and access control
b) job scheduling for the other 5 applications
c) gathering component processing and usage statistics.
Mapador Client Delivery Views
Information in the Mapador repository can be displayed in many ways. Delivery Views have been designed to help visualize and analyze systems effectively, in order to achieve a high level understanding of how the application implements its business functions in a given computing environment.
The following are examples of different tabular and graphical representations that Mapador can produce in order to expose the most significant characteristics and relationships across applications and across platforms, within a systems portfolio.
These views present the business objects and their relationships.
Impact Analysis Views
Most organizations rely on employees’ memories or manual records. Mapador provides the tools to make informed decisions about system fixes and enhancements based on fully accurate and current information. This group of views identifies the various physical components of the system that will need to be changed as a result of a specific requirement.
This group of views and reports identifies the various physical and logical components of the system and helps understand the internal organization of these components. Code Analysis activities include analyzing source inventories, transaction reports, relationship diagrams and many cross-references among the various components.
The deliverables for data analysis identify the various data elements such as records, files and databases. They provide cross-references between the data components and executable components that operate on them.
Software Quality Analysis
This set of deliverables has been designed to expose the quality of the code from a maintainability perspective. Software Quality Analysis activities include the analysis of: lists of unreachable or unused components, reports of data type or data size inconsistencies and mismatches and areas with a high degree of code complexity.
Organizations often use metrics programs to provide an objective checkpoint on the quality of software products being produced and an assessment of the quality of the software development process. Mapador automatically captures these metrics. The results obtained can then be compared to the desired results for these checkpoints and further action taken when the desired results are not being achieved.
Using Mapador, IT organizations can keep constant and accurate statistics on how their code base evolves and changes. These views can aid managers to better allocate resources, have an instant understanding of critical ‘hot-points’ and monitor their application portfolio effectively.