ADF & JHeadstart
This category contains articles that relate not just to Java in the Oracle domain, but specifically to ADF (Application Development Framework, including ADF BC, ADF Binding and ADF Faces) and JHeadstart
ADF DVT: Thinking out of the box with the Scheduling Gantt Chart – Reporting by Period, for example Football Results over the years0
In various recent articles (such as Drag and Drop in ADF DVT Schedule Gantt) I have discussed the ADF DVT Gantt Chart component. And in these articles I have been describing the Gantt Charts as they were intended. However, something compels me to go beyond what was intended at the initial conception of the component. Just because I can, if for no other reason. So I am going to do just that in this article.
A Gantt Chart is basically a matrix report. The horizontal axis represents time, the vertical axis represents tasks or resources and the cells or bars positioned on this time vs. resources grid present an allocation of sorts of the resource in time. The Resource Utilization Gantt in ADF DVT is a slight variation on the theme – and it is where I got some inspiration from. It does not take time as a continuum but rather divides time in periods (days, weeks, months, quarters, years etc.) and presents for each resource its utilization per period through vertical bars.
My improvisation no the theme is to take the Scheduling Bar Chart and do something similar: present data per period, only using horizontal bars. This not only provides me with yet another way of presenting data – which More >
ADF DVT Speed Date: Adding Drag & Drop to the Resource Schedule Gantt Chart to create a live presentation scheduler0
In a recent meeting of the AMIS ADF SIG we organized a speed date with six different DVT components (note: DVT == Data Visualization Tags, the library of rich data presentation component part of ADF). One of these components, the one that I represented during this speed date, is the Gantt Chart. This chart comes in three flavors, as I described in this article: http://technology.amis.nl/2013/02/16/adf-dvt-speed-date-meeting-the-gantt-charts/. These are the Resource Utilization Gantt Chart, the Project Gantt Chart (the archetypical Gantt Chart) and the Resource Scheduler (the most generic and flexible of the three).
In this earlier article introducing the Gantt Chart, I introduced the Resource Scheduler using the example of a Presentation Schedule that visualizes the agenda for a conference. The Resource in this case are the Rooms that holds the sessions and the chart contains bars plotted against a Room and the Time axis to represent all of the presentations:
In the article you are reading right now, I will explain how to create a Resource Schedule Gantt Chart such as the one shown here. Even more interesting, I will then explain how to add drag & drop capabilities to this chart More >
ADF DVT Speed Date: Present Metrics per Year, Quarter and Month using a zoom-enabled ADF DVT Resource Utilization Gantt and ADF BC0
The challenge I will address in this article is the following: I would like to provide a nice presentation of data aggregated by time period. For example: an overview of the number of employees that was hired in each year in each department (example is drawn from table EMP). The presentation could look like this:
To extend the challenge a little bit: I would like to be able to drill down. From the year level shown in this picture, to the Quarter level and even to the Month level. The Quarter level would look similar – but more fine grained:
This article shows how this challenge can be addressed using ADF DVT – Data Visualization components, more specially the Resource Utilization Gantt Chart. It will describe how ADF BC is used in conjunction with the SQL TRUNC function and a smart bind parameter to allow for dynamic zooming to different time aggregation levels. And the approach demonstrated in this article can easily be reused for other time based presentations.
Recently the ADF Special Interest Group at AMIS organized an ADF DVT Speed Date. During this speed date, six ADF specialists from our team presented their favorite Data Visualization Component from the DVT library. In a series of blog posts we share the information with a broader audience. In this post you get introduced to Gantt Charts – which was my own date for this party.ADF DVT Gantt Chart – Introduction
The probably most distinguishing feature of any Gantt Chart is the horizontal time axis. Gantt Charts are used to present data against time.
Gantt Charts were invented in the 1910s by Henry Gantt (hence the name) – although a Polish engineer probably beat him to it but forgot to blog about it (http://en.wikipedia.org/wiki/Gantt_chart). They were used initially for presenting Project Schedules – showing tasks with their start time and end time and their dependencies. The essence of many modern project management tools is in fact a Gantt Chart – frequently an interactive one.
ADF DVT provides this project- and task overview in a Gantt format. Two additional Gantt Charts are provided as well:
The ADF framework strongly suggests if not dictates a certain application architecture. Through ADF BC (Business Components) – the predominant business service implementation with ADF – applications will typically interact directly with the database, over JDBC Database Connections from a shared connection pool. Developers who create the ADF BC Entity Objects and View Objects will be quite aware of the data model and the database implementation. They will usually write SQL. And the result of their work is substantially coupled with the database. Transactions across multiple data source are very hard to implement in that typical ADF BC scenario because ADF BC talks to a single database and typically controls its own transaction.
When ADF applications are developed in an environment where an enterprise architecture has been laid down, and decoupling is an important objective and service orientation is mandated – then this typical implementation of the business service using ADF BC connecting directly to the database may not be desirable or even allowed.
On one of my projects, we are currently in the situation where we try to determine the guidelines for the implementation of the More >