Apex and Charts
In Application Express 2.2 and previous releases is it possible to build a Chart with the use of the SVG Viewer technology of Adobe. A time ago Adobe has decided to discontinue support for Adobe SVG Viewer starting from January 1, 2008. They even plan to remove Adobe SVG Viewer from the Adobe.com download area on January 1, 2009, and redistribution by third parties is not allowed by the license.
Consequently the end of building a SVG Chart in Apex is near. The Apex development team came out with another solution for building charts, the Flash Chart.
Flash is known for his rich animations. With the use of Flash, you will be able to have full control in the design of your chart. The developer’s creativity can be maximized. Despite the more possibilities, it will not be more difficult to create a chart in an application. The Flash Charts in Apex are set the same way SVG Charts were set. The chart definition will also consist of several query series and its attributes can easily be set in the chart attributes. When you want a more advanced chart with rich animation, you can update the source of the chart in its region.
If you can not wait until Apex 3.0, you can use the XML Charts developed by Denes Kubicek. These charts also use the Flash technology. The difference with Apex 3.0 Flash Charts is that the charts are setup with the use of database objects. Denes created a way to define charts more generically. The chart’s definition will be setup from the database. The chart settings are kept in a database table as well as the chart layout is hold as several templates in another table. With a request from the application to a procedure in the database package, the chart definition will be set and sent back to the application.
The XML charts of Denes Kubicek, have certainly their advantages. It isn’t necessary to define separate series. All the chart values will be sent by one SQL query. It is also possible to debug the chart definition. The XML that is used to setup the chart could be loaded in a predefined Oracle directory.
Because the XML charts have most of the advantages of Apex 3.0 Flash charts and because it is much more generic I recommend you to go for this method when you have to create several charts in a specific layout. It will also be easier to define one template layout that is used for more than one chart.
When you only have to create one simple chart, I recommend to not choosing for an XML chart. An Apex 3.0 Flash chart will be better in this case because it is easily built in the Apex tool and the database schema doesn’t have to be extended with three objects just for creating one chart.
For more information about XML Charts, have a look at Denes’ sample application:
The charts represented in some examples: