Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Current Events
Join our developers event to win one of the valuable prizes!
posted 5 years ago
viewed 24069 times
Share this article

ART - a simple yet effective Open Source Reporting Tool


We are very happy to welcome ART project as one of our CUBRID Partners who have joined our Affiliates Program.

ART is an open source Web application written in Java which helps users to generate reports using plain SQL. After you write an SQL query, which retrieves the data to report, you choose how often you want this report be generated and how to display it. For example, on the last day of every month you may want to see the total volume of sales in every region. With ART it is very easy to setup such a report. As an option, ART can output a report in tabular, crosstab, charts, drill down, as well as schedule them to be delivered directly to a specified email address. Moreover, you can enable ART to deliver certain information via RSS (this is an interesting feature!). When using its smartphone-friendly Web interface, you can see reports in real-time as well as choose to export them to spreadsheet or PDF files. Very convenient!

From ART home page: "Several key features have been introduced in recent releases. Besides reviewing the results in a browser (tabular/pivot, dashboards) and exporting to plain xls/pdf, support for JasperReports was added in version 2.0. You can now prepare "pixel-perfect" reports - like invoices, purchase orders, etc using the free IDE iReport, and deploy the report using ART to let it be executed by anyone in your organization. Support for OLAP is also available now using the JPivot/Mondrian projects."

The SQL queries in ART can be parameterized by means of rules, so you can generate dynamic reports. You will also like the fact that ART allows to differentiate users by the level of their permission in the system. In other words, you can set some users to have only "view" rights, the others can schedule reports while mid-level admins can manage other users. There are also admin, senior admin, an super admin rights.


Figure 1: User roles in ART reporting tool.

Since ART is a Java application, it can run on virtually any platform. The installation is simple: on you first login, you need to indicate the database connection information where ART repository should be stored. It supports CUBRID, Oracle, MySQL, PostgreSQL, SQL Server databases, and by default ART comes with an embedded HSQLDB database. The embedded database also provides a sample demo data to try with ART.

Here is my favorite description of ART taken from its home page which explains what it is:

Look and feel might not be as attractive [as other commercial BI solutions], OLAP analysis may not be as slick; but for most scenarios... it just works!

And I should agree with ALL of these statements, and you will too, once you try ART. It just works! Check out these screenshots available on the project site to see how ART generates reports.

From my personal experience with ART, I should say that it is a very useful tool. It would be really nice if they provided enough tutorials which would show off ART's rich set of reporting features. New users would really love to see in action (video???) how to create particular reports. These all would compensate its UI and other small limitations. But ART developers are quite responsive. I believe soon they will create great tutorials! Or, if you use ART, please contribute back to the project by publishing a blog or a tutorial how to use ART. Help the developers! That would be awesome!

In conclusion, I would like to quote Timothy Anyona, the core developer of ART reporting tool. Here is what Timothy says regarding his first experience with CUBRID:

I had not heard of CUBRID before and was quite eager to find out more. I was also a bit surprised that there was another open source RDBMS out there. My initial experience on getting to the website was good - getting a Windows installer, and documentation on how to get started. These things make it easy for a new user to test out a product, but many applications don't have them. I really liked the CUBRID Manager. The tools that are available with a product also make a big difference and the Manager was easy to use. The experience felt a bit new for me, e.g creating a database takes some time?, and the options of starting/stopping and logging in to individual databases, but it was a pleasant experience.

On actual development against CUBRID, there was plenty of sample code on the website on how to connect to a CUBRID database. Reporting from the demodb was as easy and straight forward as reporting from any other RDBMS. When writing the code to integrate the Quartz scheduling engine with CUBRID, I encountered a challenge with handling of blob data. However, this turned out to be the most interesting part of working with CUBRID. Again, I was able to find sample code on handling of blobs on the CUBRID website and added a custom class to the Quartz code to work with CUBRID. I really should contribute this to the Quartz project so that CUBRID support is included by default in future Quartz versions. (I saw this would involve paperwork - contributor agreements etc. and I felt a bit shy to do that. I think I'll contact them and see what they say.)

For new users, I would say the CUBRID website provides a rich set of documentation and samples so I would advise them to check there for any questions/doubts they may have. I would also say the CUBRID Manager is your friend (especially for those who mainly work from a windows environment, like myself). It's really good (I saw the author of JOOQ said something similar).

Information for our readers!

If you develop an open source application and would like to become a CUBRID Partner by supporting CUBRID Database in your project, contact us by email In your letter please provide an overview of your software, project links, and your statement on behalf of your project. We will be very glad to have you onboard!

comments powered by Disqus