Components . . .
What Makes Up An Enterprise Reporting System?
While no two environments are going to be the same, there is a generic pattern that is common across organisations and technology architectures. A map or overview is provided here:
Overview of Reporting System
Note that report user needs (or business requirements) go from left to right, while data flows back from right to left. As such, the assurance process covers the entire value chain and moves back and forth, ensuring that reporting requirements and information delivery are properly aligned.
Components of Reporting System
These enterprise reporting components are described below:
- Instrumentation - A device that measures some aspect of the real-world as events and records them.
Examples: Cash register, web server, handheld GPS, thermometer, card reader.
- Data Supply - A system that takes recorded events and delivers them reliably to another system. The data supply can be "push" or "pull", depending on whether or not it is responsible for initiating delivery. It can also be "polled" (or batched) if the data are transferred periodically, or "triggered" (or online) if data are transferred in case of a specific event.
Examples: Logfile FTP script, SQL process, EDI, web service.
- ETL - Extract, Transform and Load. The step where these recorded events are checked for quality, put into the appropriate format and inserted into the data store.
Examples: Most datawarehouse and Enterprise Application Integration (EAI) vendors sell this as part of their suite.
- Data Store - The repository for the data and metadata. Could be a flat file or spreadsheet, but usually a relational database management system (RDBMS) setup as a datamart, datawarehouse, operational datastore (ODS), sometimes employing cubes (OLAP).
Examples: MySQL, MS SQL, Oracle, Lotus Notes.
- Business Logic - The explicit steps for how the recorded events are to be converted into metrics, often implemented in a script (eg Perl) or query (eg. SQL).
Examples: Minute-by-minute temperature readings yield the "monthly average daily maximum" by adding and dividing in the correct sequence.
- Publication - The system that builds the various reports and hosts them (for users) or disseminates them (to users). Users may also require notification, annotation, collaboration and other services.
Examples: PHP, Crystal Decisions, Lotus Domino.
- Assurance - Any enterprise reporting system must offer a quality service to its userbase. This includes determining if and when the right information is delivered to the right people in the right way.
Examples: Service monitoring and alarming, user surveys, audits, focus groups, change requests and fault management.
Note that usually most of these systems are already in place (in some form or other) and controlled by other parts of the organisation. For example, Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) could be source systems responsible for instrumentation, data supply and ETL. Also, the data store is likely used for transaction processing too by Finance, Sales and Marketing and HR. Similarly, whoever is responsible for IT Governance may also take a strong interest in the assurance aspects of enterprise reporting.
The extent to which these established components are a help or a hinderance will be a key determinant in the success or otherwise of your project.