CA 02469180 2004-05-28 SYSTEM AND METHOD FOR BUSINESS INTELLIGENCE METADATA EXCHANGE FIELD OF THE INVENTION The invention concerns the sharing between business intelligence (BI) systems, of data and metadata describing reports and associated data and metadata describing the related environments among both homogeneous and compatible heterogeneous computer systems. BACKGROUND OF THE INVENTION In complex business intelligence systems, it is common to have to deal with issues concerning the differences in data representation, schemas, and types of data source. Within business intelligence systems a content management subsystem stores, serves, and manages static and dynamic application objects that are required by other Business Intelligence subsystems to perform an activity. These objects are created according to application needs and include data source definitions, report definitions, pre-assembled web pages, and Adobe Acrobat I S PDF documents. Thus organizations use content management software as the primary source of both static and dynamic metadata required to run a business intelligence application. The content management software provides structure and checks and balances to ensure the integrity and authorized access to the information under its responsibility. In BI systems, many application objects are required to be shared between various instances of an application suite. This sharing of application objects is required in order to replicate the same business application on several homogeneous or heterogeneous computer systems. This includes situations where a third-party developer packages a collection of reports, for use with a particular business intelligence system (such as ReportNet TM by Cognos Corporation), for specific industries, such as retailers, and offers such collections of reports for sale. These reports rely on specific arrangements of data sources, access policies, configuration information, and other parameters that relate the information in the reports. This means that the CA 02469180 2004-05-28 definition of this other information must also be distributed with the collection of reports. It is also usual for the third-party developer or exporter to define limitations on the configuration or organization of the importing or target system. In current BI systems, the processes used to share data and metadata among computer systems often require the use of complicated import and export definitions, third party tools, and require constant user interaction. Administrator users of source systems may spend hours configuring metadata exchanges and attempt several tries before a successful exchange is achieved. Often administrator users must exchange installments of application objects until all application objects have been successfully exchanged between source and target systems. to SUMMARY OF THE INVENTION The invention provides for a method and system that alleviates many of the disadvantages of earlier methods and systems. The invention makes use of a single data structure to define all of the information and 15 parameters necessary for the efficient sharing and exchange of entire or partial BI applications. The invention enables a user to capture preferences that are applicable to both ends of the exchange, namely the source and the target systems. It provides for users to be presented with a comprehensive list of preferences and smart defaults from which they can select, and in some cases overnde, at both the source and target end points of the exchange. The actual metadata 2o exchange is persisted as an exchange structure in a computer system file system called an exchange archive. The invention allows a source or exporting user (often an administrator) to select sections of the source BI application that are exchangeable without removing all aspects of control from the receiving or target end. For instance, the invention allows an administrator to move report 25 definition data and metadata from a development or test environment (source) into a production environment (target). This means changes can be developed in a safe, development environment and tested in that environment before deploying them to a live, production environment. Similarly, the exchange structure and supporting export and import processes simplify the
CA 02469180 2004-05-28 upgrade process from one release of a reporting application to a subsequent release of that reporting application. The contents of the exchange archive can also be used to restore a damaged application, or as backup. BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the invention are described with reference to the following drawings. Figure 1 shows a network environment suitable for business intelligence systems which make use of the invention. Figure 2 shows a simplified version of a BI system in which embodiments of the invention may be practiced. Figure 3 shows those parts of the content manager system involved in the invention. Figure 4 represents a simplified view of a data structure used in one embodiment of the invention. Figures 5 and 6 show simplified examples of the user interface in the form of screenshots. Figures 7 and 8 are flowcharts for the exporting and importing processes respectively. DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION Turning first to Figure 1, which shows a typical network environment in which embodiments of the invention may be practiced, we sea a number of clients 110, 111, interacting with a server 120 over a network 100. These clients are general purpose, and their actual function may vary, but in this case they represent user-controlled terminals having software installed that allows thin client operation, often a web browser and associated applets. The server is also a general purpose computer having installed in it software to carry out Business Intelligence functions and ancillary operations, including content management. The server 120 is connected to one or more data sources, or data warehouses 130. These data sources contain business data used to produce reports required by users. These reports may be displayed on screens of the client
CA 02469180 2004-05-28 computers 110, 111, but in some cases hard copy can be produced a ing printers (not shown) associated with the clients or server. In the following descriptions the content management function, or content manager, has been shown separately from the rest of the business intelligence application suite to emphasize its role in embodiments of the invention. Normally it is considered an integral part of that suite. Figure 2 shows in outline form the major aspects of a business intelligence system capable of making use of embodiments of the present invention. The Business Intelligence (BI) application suite 210 makes use of a content manager 220 to store and serve report definitions from which to construct reports 230. The content manager 220 stores and serves definitions of one or more 1 o business data sources 200, among other environment data, required by the reporting subsystem (not shown). The one or more business data sources 200 are typically read- only, since they contain historical information from which business trends and other analyses can be produced. The BI application suite 210 carnes out many different functions, including facilitating the development of report formats and the format conversion of different data sources which permit 15 large businesses to maintain a uniform reporting process, even where they original data has different formats and content. Figure 3 shows the major elements involved in the exchange of information required to transfer entire or partial BI applications between an original source system and a new target system, both systems using the same BI application suite, but having (usually) different data 2o sources and users. The difference between the systems is defined in part by the environment data. Note that in some situations, such as where the invention is used for backup and restore, the original (source) and new (target) environments are the same physical equipment, having the same users and business data sources. In the Figure 3, the elements of the source or exporting system 300 include the content manager 220, with its associated export process 250. The source 25 environment descriptors 311 with the source report definitions 310 (along with definitions of database connections, model packages, and like definitions, not shown) are translated by the export process 250 into a form suitable for importation and stored in the archive 320. The elements of the corresponding new or importing system 301 include another instance of the content manager 220 and its associated import process 260. The import process 260 creates new
CA 02469180 2004-05-28 target environment descriptors 332 with target report definitions 331 (together with items such as appropriate database connections, and model packages, not shown) from information in the archive 320. These environment descriptors and various definitions and items are then made available to the content manager 220 for reporting purposes. Figure 4 shows a simple exchange definition structure 410 (or export/import definition) for use in embodiments of the invention. The structure includes definitions of reports, database connections, and model packages 420, as well as export environment parameters with their default values and restrictions 430, and import environment parameters with their default values and restrictions 435. 1o The fimctionality of embodiments of the invention is next explained from a user perspective. The source or exporting user or system administrator first exports content manager data and metadata describing the application objects and their environment into an exchange definition file on the archive system. Prior to running the exporting process, the user can choose what environment data should be included in the exchange definition. These data might include: 15 ~ report definitions ~ reporting schedules, ~ report execution histories, ~ groups and roles, ~ contacts and distribution lists, and 20 ~ data sources and their related signons. 'Signons' are userids and passwords for use between a reporting application suite and its data sources. In some embodiments of the present invention the exporting user is able to choose what environment data is made available to the importing user and what defaults are selected for any particular option. In these cases, a simple user interface for such instances of options and z5 selections might make use of check boxes to select data to be included, and radio button or similar user interaction paradigms to provide other information as well as selecting and indicating default behaviour for the importing process.
CA 02469180 2004-05-28 In some embodiments of the invention the user is able to choose to encrypt the file containing the exchange definition for additional security. Irt embodiments of the invention, an importing user (also usually a system administrator) on a target system imports the data from the exchange definition file in the archive into the content manager. During the preparation phase prior to the importing process being executed, where parameters and environment data permits, the importing user may select options or change default selections depending on the contents of the exchange definition file (as previously defined by the exporting user). Again, selection boxes and radio button or similar paradigms may be used. Figures 5 and 6 show illustrative user interface displays for an importation process to suitable for embodiments of the invention. Figure 5 shows a first importing screen 501 for an import wizard, the screen 501 having elements each related to one or more parameters in the exchange definition file. Figure 6 shows a subsequent screen 601 from the same embodiment, and this illustrates more options related to parameters in the exchange definition file. In some situations conflicts can occur when there is an optional object in the target system, z5 and where an existing object might be either preserved or replaced by the same named object from the exchange definition file. This pertains to items such as groups and roles, schedules, report distribution lists, descriptions of the actual data sources (data sources), and object permissions. Where such a conflict occurs the importing user is prompted to make an appropriate choice. 2o Figures 7 and 8 are example flowcharts for the export process and import process, respectively. These are illustrative of embodiments of the invention. In Figure 7, the exporting process starts 700, and the user selects report and other definitions to be included, 710, defines the environment parameters 715, and also defines the restrictions and default values for relevant environment parameters 720. The exchange definition file is created using the selected 25 definitions and the environment parameters with their restrictions and defaults, and then written to the archive 725. The process ends 739, although the user may choose to repeat this process to create several more exchange definition files. In the Figure 8, the import process starts 800, and an exchange definition file is read from the archive 805. From this file the report and other definitions are recreated 810, and the
CA 02469180 2004-05-28 environment parameters are created 815. The user then selects any options and confirms any default values for relevant environment parameters 820, and the process ends 830. Embodiments of the invention thus make available to the exporting and importing users, or administrators, relevant export and import options in a convenient and flexible way. A single data descriptor block, the exchange definition file, which includes the report definitions and the related environment data, is used by both the export source process and the import target process, and permits appropriate importing defaults to be provided and, where appropriate, overndden. Embodiments of the invention can be implemented in digital electronic circuitry or in computer hardware, firmware, and software or in combinations thereof. Apparatus of the present to invention can be implemented in a computer program product tangibly embodied in a machine- readable storage device for execution by a programmable processor. The method of the present invention can be performed by a programmable processor executing a program of instructions to perform the functions of the invention by operating on input data and generating output. Many alterations and modifications may be made by those having ordinary skill in the art 15 without departing from the spirit and scope of the invention. Therefore, it must be understood that the illustrated embodiments have been set forth only for the purposes of example, and that it should not be taken as limiting the invention as defined by the following claims. The following claims are, therefore, to be read to include not only the combination of elements which are literally set forth but alI equivalent elements for performing substantially the same function in 2o substantially the same way to obtain substantially the same result. The claims are thus to be understood to include what is specifically illustrated and described above, what is conceptually equivalent, and also what incorporates the essential idea of the invention.