ADF 12.1.3 – Highlights in Data Visualization (DVT)

4
Share this on .. Tweet about this on TwitterShare on LinkedIn0Share on Facebook0Share on Google+0Email this to someoneShare on Tumblr0Buffer this page

One of my favorite areas in ADF Faces always has been the Data Visualization [Tags] aka DVTs. I feel that we make far too little use of the power of visualization to present information and even call to action to our end user instead of raw data – as we frequently do today. The table component is probably the most widely used component in all of ADF Faces – even though it is most often used to just present raw data. The DVT components in stark contrast are overlooked or regarded as just a nice to have. I hope to bring about a change – making designers, developers and end users themselves more aware of the value of visualizations. Oracle Fusion Applications and especially the simplified UI provides an excellent example of how visualizations can be used to help end users focus on what is relevant: aggregate, exception, trend, comparison etc.

ADF 12.1.3, freshly released, brings a next wave of enrichment of the DVT components. Allowing developers to create even more useful and appealing visualizations. In this article, I want to describe and show some of these new features.

Client Side Charting Solutions

The DVT team is leveraging an increasing number of HTML 5 features. After the introduction of HTML (5) as rendering option next to Flash, we now see a rapid acceleration of the use of HTML 5 facilities. One area where this happens is with the client side charting solutions. This involves a number of chart types (Bubble, Pie, Bar, Horizontal Bar, Line, Pie, Area, Scatter and more) for which client side operations such as hide/show of series, rescale and zoom/scroll + navigate in overview window are supported. Because these operations are handled entirely on the client side, the interaction is much smoother and faster than with the server driven charts.

image

An example is shown below. Both pictures are based on the same data. On the left, the overview window is focused on a six month period. On the right, the time selection has been enlarged to contain over three years. Resizing and refocusing the time window is a smooth , client side operation that constantly synchronizes the line chart shown on top.

imageimage

Gauges

The Gauges have been redesigned and several new types of Gauges have been introduced.

Horizontal status

image

With support for threshold display and reference lines

New Rating Gauge

Also supports input and can use many different styles – not just stars.

image

Circular status meter gauge

These circular status meters provide a new, compact way of visualizing the status (and progress). A gauge is presented as circular when the orientation attribute is thus set. reference lines can also be included in the circular presentation.

image

Dial gauge

The dial gauge (‘speedo-meter’) supports input (set value in addition to display value) and has many different background styles:

image

 

Thematic Map

Many interesting improvements in the Thematic Map component.

One is to isolate an area that allows total focus on one specific element in an area layer, such as the state of Florida in the states area layer (using attribute isolatedRowKey on areaDataLayer). In this case, to show the candidate color by county for the 2012 presidential election results, status meter gauges were stamped into a table.

image

Hide area layer: by hiding the base area layer, the underlying map is not shown – but the results plotted on the map are. The effect is shown in the new figure, where GDP for 2012 is represented by the marker size.

image

The base layer is hidden using areaStyle settings (background-color:transparent; border-color:transparent) on areaLayer. The markerZoomBehavior is set to zoom on the thematicMap.

Even though the base layer is invisible, it is still there, providing the anchors for the markers to be displayed.

Custom Base Map

Before this new release, we were stuck with the shipped base maps – true if somewhat sketchy geographical representations of the world, regions and the US. Most countries were represented only in little detail (for geographic detail, there is always the geographic map). In this release, we can start to define our own custom base layer with our own set of points on that map. That custom base layer does not have to represent an actual area in the real world. It is just a picture with hotspots defined on it. ADF DVT can position markers on those hotspots and can support interaction with these hotspots.

As an example from the ADF DVT team – a floor plan in an Office building. The work stations are the points. Markers are used to indicate free and taken work stations.

dvt_tmap_custom_map

Using the source attribute on thematicMap to point to an XML file that contains the definitions of custom base maps – image plus coordinates of the anchor points (like the cities on a ‘normal’ base map).

The ability to use custom base maps opens up a large number of possibilities – creating maps for your home town or even your home, a theme park, hospitals, hot spots on a picture of a car, fantasy worlds such as Westeros in Game of Thrones, the parking lot with assigned parking etc.

A fairly small thing is the rotation attribute on Markers. This attribute helps us determine well, the rotation of a marker. With markers that are not rotational symmetric, such as arrows or airplanes, we now can specify a direction for a marker.

image

Using a poll to refresh the data, we can even create animation.

Diagram

The Diagram component is versatile to the extreme. It supports many different presentations and manipulations of clusters of nodes and links. Any set of elements that has references to or relationships with  other elements can be presented by this component. The component supports scaling up and down of the visualization, handles expand and collapse of container nodes and support click and drag & drop interaction.

image

At this point (release 12.1.3) there is only a run time, a pluggable framework that require developers to do quite a bit of JavaScript programming. In a later release, design time support is to be added.

This next Arc Diagram was created with the Diagram component. It represents the interactions between characters in Victor Hugo’s novel Les Miserables. The arcs represent coincidence of characters in a chapter, and the link-width represents number of joint appearances:

image

The diagram can be zoomed into using the control panel and navigation can be done using the diagram overview window.

Other examples of diagrams – build partly using the client side JavaScript layout and partly using the server side provided data, are a database designer:

image

image

image

and this Business Rule editor that supports drag and drop to construct business rules:

image

Share this on .. Tweet about this on TwitterShare on LinkedIn0Share on Facebook0Share on Google+0Email this to someoneShare on Tumblr0Buffer this page

About Author

Lucas Jellema, active in IT (and with Oracle) since 1994. Oracle ACE Director and Oracle Developer Champion. Solution architect and developer on diverse areas including SQL, JavaScript, Docker, Machine Learning, Java, SOA and microservices, events in various shapes and forms and many other things. Author of the Oracle Press books: Oracle SOA Suite 11g Handbook and Oracle SOA Suite 12c Handbook. Frequent presenter on community events and conferences such as JavaOne, Oracle Code and Oracle OpenWorld.

4 Comments

  1. Hi I had a doubt in it. Is selection of Gauges had any specific criteria, like for showing % values Circular status meter gauge are better, to show the stock level or product count Horizontal/vertical status gauges are better, is there any such definitions are there ?

    • Lucas Jellema on

      Hi Faizan,

      Could you please be a little more specific? In which cases do you believe Google Charts works better than ADF DVT? Any particular use cases or components? What are the reasons that you believe Google Charts works better? Is it ease of use, quality of visualization, performance or something else altogether? Have you considered the integration into an ADF application and the event exchange between the visualization components and other elements in the application?

      I would be very interested in learning more about your somewhat provocative comments.

      kind regards

      Lucas

Leave a Reply