1. Field of the Invention
This invention relates to the creation and delivery of report data from a remote data repository. Particularly, this invention relates to making report data available in the event access to the source data repository is unavailable.
2. Description of the Related Art
A remote data repository may be utilized in many different systems to allow multiple users from connected computers to access a central data source. Accessed data may be formatted as it is delivered to the users based upon request parameters. For example, a web based system may deliver a report of data presented in a webpage that may be formatted according to instructions within the link to the data repository that retrieves the particular data. One such application is the Eclipse Foundation's Business Intelligence and Reporting Tools (BIRT) application.
BIRT is an Eclipse-based open source reporting system for web applications, particularly those based on Java and J2EE. BIRT employs two primary components, a report designer and a runtime component that can be added to an application server. BIRT also includes a charting engine that can be used to add charts to applications.
BIRT allows users to add a variety of report formats to their web applications such as lists, charts, crosstabs, letters & documents, and compound reports. Lists represent the simplest type of report format for data allowed by BIRT. Longer lists can employ grouping to organize related data together. For example, data of orders may be grouped by customer, or products grouped by supplier. If the data is numeric, totals, averages and other summaries may also be incorporated. Charts are another type of report format allowed by BIRT. Numeric data may be easier to interpret when presented as a chart. BIRT allows chart report formats such as pie charts, line & bar charts and others. Such charts may be rendered in SVG and support events to allow user interaction. Crosstabs are yet another type of report format allowed by BIRT. Crosstabs (also referred to as a cross-tabulation or matrix) present data in two dimensions. For example, sales per quarter or hits per web page may be easily represented in a crosstab report format. Letters and Documents are still another type of report format used by BIRT. Notices, form letters, and other textual documents may also be presented with BIRT. Such documents may include text, formatting, lists, and charts as well. Finally, BIRT also allows compound report formats. In many cases, it may be desirable to develop a report that combines one or more of the foregoing report formats into a single document. For example, a customer statement may list the information for the customer, provide text about current promotions, and provide columned lists of payments and charges. Also, a financial report may include disclaimers, charts, and tables. BIRT facilitates a report format allowing the combination of any two or more of the foregoing report formats.
Data for BIRT can be provided from networked databases (local or Internet, including VPN networks), web services, Java objects to a BIRT report. In addition, BIRT can provide JDBC, XML, Web Services, and Flat File support, as well as support for using code to get at other sources of data. Using the Open Data Access (ODA) framework, BIRT allows a user to build a new user interface and runtime support for any type of tabular data. Further, a single report can include data from any number of data sources. BIRT also supplies a feature that allows different data sources to be combined using inner and outer joins. Inner and outer joins refers to the intersection of data from different sources. “Inner joins” refers to a report from multiple tables of cross referenced data that does not reveal any missing cross references. For example, a database table of employees and a database table of departments. A report of information about each employee, might list several items about the employee's department. If an employee exists who has not yet been assigned a department, that employee would be missing from the report. Analogously, a report may group employees by department such that a department with no employees would be missing from the report. In contrast, a report performing an “outer join” would find all rows of the employee table (even if they do not have a department number) and all departments (even those with no employees). (The report might identify “not available” for the department information columns of such an employee, and would show the department number of an empty department, with no employees listed under it.)
A typical report in BIRT comprises four main parts, data, data transforms, business logic and presentation. Reports present formatted data sorted, summarized, filtered and grouped according to the user needs such that the data may undergo a data transform. Although databases can perform some of this work, BIRT can do this for simple data sources such as flat files or Java objects. BIRT allows sophisticated data transform operations such as grouping on sums and percentages of overall totals. BIRT can also employ business logic in its operation. Real-world data is seldom structured exactly as desired for a report. Many reports require business-specific logic to convert raw data into information useful for the user. If the logic is just for the report, it can be scripted using JavaScript support provided by BIRT. If the application already contains the logic, it can be called into the existing Java code. Finally, BIRT provides presentation capabilities. Once the data is ready, BIRT offers a range of options for presenting it to the user including tables, charts, and text, as previously mentioned. A single data set can appear in multiple ways, and a single report can present data from multiple data sets.
In addition to BIRT, some other data management and presentation tools have also been developed. Such tools operate to deliver reports of data to different user located remotely from the data repository.
U.S. Pat. No. 7,130,812 by Iyer et al., issued on Oct. 31, 2006, discloses a system and method for information management is provided. The system provides for collection of data from multiple, dissimilar and disparate sources having various collection schedules by a plurality of data collectors. It further provides a central database for storage of the collected data with front-end alerts and triggers. The central database has a central data store module for data storage and a central configuration module for configuring the data as well as the components of the system. The system includes a reporting module for generating and forwarding user specific scheduled reports from the accessed data in the central database. The presentation of the data could be any time, anywhere and in any format required by the end user. The system also provides an administration module for collecting, monitoring and configuring the collected data, data collectors, central database and the reports for the end users.
U.S. Pat. No. 7,051,038 by Yeh et al., published on May 23, 2006, discloses a system and method for a reporting information service using metadata to communicate with databases and a user interface. The invention includes software in a data access component, a report component, and a user interface component for populating, maintaining, and dispatching reports responsive to user requests for the reports via metadata. The data access component provides a logical view of data in a database via data access metadata. The report component populates, maintains, and dispatches reports via report metadata characterizing the reports. The user interface component renders the report dispatched from the report component via user interface metadata specifying rendering attributes for the report.
Existing systems and methods do not teach convenient techniques that can adjust to situations where the data repository may be inaccessible. Particularly, there is a need for techniques that allows a user to seamlessly review a previously generated report even though the data repository is currently unavailable. In addition, there is a need for such systems and method to make the saved reports accessible in user situations where no HTTP server and none of the reporting application software are available. These and other needs are met by the present invention as detailed hereafter.