Technical Overview of BARR/VKM
Abstract
This paper gives an overview of BARR/VKM and discusses some of the techniques Barr Systems uses to make BARR/VKM easily configurable and extensible. The paper also discusses some of the methods developed to improve the reusability of product components.
BARR/VKM (Visual Knowledge Manager) is a report distribution system that provides organizations with the ability to organize, manage, view, and archive computer-generated reports. It supports all of the major host data streams and can support extremely large data sets. BARR/VKM is available as a COLD, HTML, or PDF solution, and runs on a common Windows® platform. It consists of three main applications: the Administrator, the Spooler, and the Viewer.
The Administrator
The Administrator Application defines:
The Administrative component of BARR/VKM uses the visual front ends of internal conversion components to identify and process reports. By adding a conversion component implementation to the list of components, developers automatically provide for the administration, spooling, indexing, and viewing of other report formats.
User Access Rules define which users will have access to any given report. Two privileges can be given to any user: control over Viewer or control over Administrator. However, it is recommended that only the person involved with the entire operation of VKM have the Administrator privileges. This administrator can also restrict users from viewing reports after certain dates defined in the Administrator Application.
Subdocuments are a related set of pages within a report. For example, if the ABC Bank wishes to view a report of all customer statements for year 2000, then the statements can be sub-documented by the branch number, or by the month. The subdocument rule will also allow the administrator to define certain pages of a report as viewable only by specified users. This advanced security feature is extremely important in many industries, such as the financial industry, where discretion is imperative.
Index Rules allow access to certain reports and report information more quickly, rather than compelling the administrator to page through the report or do a text search until the desired information is found.
The Spooler
Based on information provided by the Administrator Application, the Spooler Application normalizes reports and extracts indices. The Spooler runs on a batch process and is platform independent. It can support multiple output data streams, which means that it can direct output to printers, COM and COLD machines, and other devices while normalizing and indexing pages for viewing. After print applications have been defined in the Administrator, the Spooler will use this information to present report pages to the normalization facility. The normalization facility returns normalized pages, which the Spooler stores in a persistent manner. The Spooler also indexes reports and emits additional data streams as required.
The Viewer
The Viewer Application interrogates the BARR/VKM database to determine user access rights. It will obey the rules created in the Administrator Application, including document security, and retention dates. Once user access rights are determined, the Viewer will create a navigation tree. From this navigation tree, users can select and view individual pages, either by indexing or through actual document selection.
There are three categories of viewers:
-
A thick client
-
A thin client
-
A web client
The thick client hosts the user interface and contains the business logic. This client is suitable for departmental LAN solutions, as it avoids the need for having application and database servers.
The thin client hosts the user interface and communicates with an application server that provides the business logic. This solution is known as a three-tier solution. The components can execute on any tier, which lets viewers implement any configuration that makes sense in the business environment. It also provides for multiple configurations depending on the organization's environment. It is suitable for Intranet solutions, and can provide more functionality than a Web-enabled solution.
The Web client is similar to the thin client. It supports Internet Explorer 4.x and above, as well as Netscape Navigator 4.6 and above.
BARR/VKM Functionality
BARR/VKM uses a large number of shared components that are responsible for its operation. For example, the conversion components establish the conversion rules for each report. Application developers can add components not included on the list by simply deriving their components from a common base and adding them to the list. It is very easy to add support for a new data stream format. The conversion components also provide methods to render a page into a common intermediate format, which is used by the Viewing application to create viewable and printable renditions of the page.
Reports and their associated data sets are stored as flat files. The system always stores a report in a normalized format, which means that an application can reprint individual pages randomly without recycling the report. To obtain individual pages, a page index data set is created in the Administrator Application. This random access file contains a record for each page. Each record contains the offset of the page in the report data set, and the size of the page. This format ensures that applications can retrieve each page with a maximum of two I/O components.
If the input data stream does not include indices, users can define them in the Administrator application. The Spooler will invoke these index rules on a page-by-page basis. Indexed values are placed in data sets associated with each report. Each index has its own data set and contains a minimum of two fields: the value of the index and its page number.
At the end of each report run, BARR/VKM sorts these fields in ascending order. This approach allows the Viewer application to obtain indices using a modified binary search. For example, the Viewer can obtain the first hit against an index file containing between 8 and 16 million occurrences in a maximum of 24 I/O operations.
Summary
BARR/VKM is an extremely flexible system for report management and viewing. Its design allows for the addition of new data streams without recompiling multiple systems; instead, developers simply add a new component. The new component defines the report processing rules, the normalization rules, and provides conversion to a common intermediate format. Administrative enhancements provide for report delivery to different types of media. Security is a strong point of the BARR/VKM system. It allows administrators to secure reports down to pages within a report. BARR/VKM also lets organizations provide mixed and matched viewer configurations that suit their needs. For example, centrally located departments can use thick clients to view report pages, regional departments can use thin clients, and customers can use the Web client to view subdocuments.
|