Business Challenge
Created through years of proprietary development and the marriage of systems through merged and acquired businesses, our customer’s complex IT system lacked support and was becoming increasingly expensive to maintain. The client wanted to consolidate multiple solutions into one easy-to-maintain reporting platform.
Goals
- Improve current user experience by consolidating favorite features from existing reporting systems and combining them with the latest and greatest reporting management practices of Jasper Server
- Provide a scalable reporting platform that is powerful and easily extendable
- Establish a cost-effective reporting system to manage the entire reports lifecycle including development, deployment, processing and delivering reports to the end-user
- Save expenses on report factory maintenance by replacing numerous expensive and ineffective applications with single multi-purpose solution
Solution
The Sprinterra team created an enterprise reporting platform based on open source Jasper Server technology, which allowed the client to incorporate a new platform for various reporting needs. The team implemented an ad-hoc reporting feature that allowed users without specific knowledge to create queries and generate individual reports for in-depth data mining. The application is user-friendly and features a drag-and-drop report designer, which builds crosstabs, tables and chart-based reports using a standard browser. The new dashboard combines data and graphical indicators to deliver at-a-glance summaries of information for users. With a built-in delivery and export function, users can set rules and values under which the reports would be generated automatically and delivered to the defined recipients on any local or shared locations. The report scheduling wizard allows users to set up a job with report parameters and output options to run reports in the background once or on a regular basis. Ultimately, this reporting platform paves the way for implementation of a future cloud strategy, which will ensure scalability, reduce operating costs and effectively respond to modern challenges.
Tool functionality and technical approach:
Custom data source (single source):
- Reporting platform takes information from one source and presents it in an easy-to-read and interactive format.
- Custom data sources provide real-time access to databases: iGLS, Sybase IQ, Netezza, MSSQL.
- Web service layer handles complex data requirements such as multiple data sources (iGLS vs. Caliber), merging data from RDM, Oberon, MODS and more.
- A new query language is used to call web service layer directly from iReport Designer.
- Custom query executor is added to the reporting platform to support the new query language.
Jobs thread management:
- Control the number of jobs that can be run at one time with job groups
- Manage the pending jobs queue
- Separate queues for scheduled jobs and ad-hoc runs
- Ability to change job priority per request
Run scheduled jobs from external application
- Start, stop and suspend scheduled reporting platform jobs from external apps
- Pass report parameters
- Retry only failed steps of the job without re-running the whole job again
Clustering and Scalability
- Approximately 28 reports can be run at the same time in a single instance (7 instances in total)
- Load created by users is distributed through load balancing
- Load created while running reports is distributed via thread management
- Amount of reports running at the same time can be easily increased by adding a new machine
- New instance set-up requires no changes to configuration or code
- New instance deployment follows the standard deployment procedure
Execute Reports Against Sybase IQ Database
- Platform offers big data analytics and warehousing by using Sybase IQ database
- The same report can be connected to Sybase or Sybase IQ databases
- Reporting platform can use both Native Sybase IQ and Standard JDBC drivers
- Drivers can be switched in one click
Regular Report and Dynamic Report
- Users can run regular reports with a predefined set of columns and groups
- Dynamic reports allow users to control the report content: columns, groups and filter report output data
Report Execution and Scheduling
- Users can run a report in the following modes:
- Foreground (a report runs and returns the required data directly on the page)
- Background (user can use the server while the reports runs)
- Using the report scheduling wizard, the user can set up a job, report parameters and output options to run reports in the background
- Reporting platform allows users to track the status of their reports (scheduled, running, completed or delivered)
Delivery
- Reporting platform enables users to deliver the multiple report outputs to the end-users via FTS delivery, which includes delivery options including FTS, email and disk
- Reporting platform supports delivery and publishing in the following report formats: PDF, CSV, PSV, XML, HTML, XLS, DOCX, RTF, ODT, ODS and custom formats
Exporting Adjustments
- Export reports in any file format convenient to your client
- Get multiple tab Excel files with every report on its own tab
- Increase productivity with Excel Macros support
- Customize the report with Excel templates
Batch Reporting and Batch Run Mode
- Consolidate diverse reports into one batch and work with one output
- Schedule, run, export, deliver and publish batch
- Get single report split by periods as multiple outputs or all combined into one
- Set export, delivery and publishing parameters once and re-use them multiple times
- Schedule report in the background and continue working with the reporting platform
Benefits
- Corporate standards implementation due to unified platform and creation of common procedures
- Reduction of time-consuming operations
- Opportunity to easily migrate the system to cloud
- Fast learning curve through familiar user experience
- Ad-hoc reporting and dashboards
Solutions Used
- Turnkey development
- Platform migration and re-engineering
- Application integration and customization
- Integrated system testing