• Blog Home
  • Tech Talk
    • Best Practices
    • Java
    • .NET
    • Mobile
    • UI/ UX
    • Systems Engineering
    • Quality Assurance
  • ClubM

Sign in

  • Mazarin Corporate Site »
Mazarin Blog
stay connected
Join us on Facebbook! Follow Us on Twitter! Subscribe to our RSS Feed!
Mar
20
2011
Tech Talk

Use of Data Visualization API in Web Applications (JFreeChart API and Google API)

Author Article by Viraj    Comments 1 Comment

When presenting data as information, there is no better way than using charts and graphs which adds a graphical element to the eyes of the viewers. A Management information system (MIS) needs to provide timely information in a flexible and appealing manner so that users, usually the decision makers of a company, can easily understand the big picture of the organization, comprehensively as well as effortlessly. There are several APIs which can be used in Java web applications to display such information in presentation rich chart formats. Suitable APIs that are commonly in use are: JFreeChart API and Google API s (Google Chart API and Visualization API)

In addition to the above two there are some other APIs available today by various parties such as Flex by Adobe, JavaFX by Sun. Adobe Flex is a popular API which is used to build highly rich user interfaces.

The following provides a brief comparison between two main Visualization APIs namely, JFreeChart API and Google API.

JFreeChart API

JFreeChart is Java based API for graphical representation of data. Though the API binaries can be downloaded free of charge, the user guide of the JFreeChart API is provided at a cost. There are some pros and cons in using this API in applications.

Pros:
  • Provides a range of chart types including Pie charts, Bar charts, Column charts, XY scatter diagrams and gauge type diagrams which are commonly in use. Thus a developer can have several choices according to business needs, when selecting appropriate chart type for their project.
  • Easy integration with Java applications enables saving time in configuration and use of the API.
  • Provides many features in order to have rich presentation for end users, such and custom labels on charts where necessary, zoom out and zoom in features are presented.
  • Inbuilt support for some 3rd party APIs such as JasperReports makes developers to avoid boilerplate coding for communication between such components/APIs and the chart API.
Cons:
  • This API is not lightweight. In the case of the presentation layer of a web application, Jfree-chart provides only an image of a chart. Thus feature rich web application has a constraint with this, in such cases user actions on the graph should be handled by a separate handler. For example zoom in/out cannot be made available for web applications oppose to desktop applications.
  • JFreeChart consumes high resource of the server where the application is hosted. This may become an issue when performance fine tuning of the application on the specific environment is done.

Google APIs

Google has provided two main APIs for visual presentation of data.

  1. Google Chart API
  2. Google Visualization API

Google chart API (image chart API) provides image of the chart to be shown where as Google Visualization API provides interactive charts, which are capable of some degree of response for user actions on the chart. For example a user can click on a bar or column in the chart and see some textual information about the information.

Google Chart API:

Pros:
  • The API is very easy to use and can be integrated into a web application with considerably lesser time. Time taken to gain technical knowledge, in order to use the API is reasonably less.
  • Processing of data for charts is delegated to a 3rd party server, thus optimum use of server resources can be achieved. Only performance issue is the impact on rendering such a chart on the browser.
  • Very loosely coupled design between application and the API. Thus there is very less impact when responding to frequent changes.
  • Since the API is loosely coupled same techniques can be used by applications built using any technology and the knowledge gained can be shared among developers.
Cons:
  • There are limitations for chart images that are generated by the API.
  • Depends on 3rd party API which is not packed with the application. Thus unavailability of such 3rd party services makes displaying graphical form of data impossible.

Google Visualization API:

Pros:
  • Pros are very similar to those of Google Chart API.
  • In Addition, the Visualization API provides interactive charts. Such charts provide higher degree of user interaction. For example users can get more information from the chart by clicking on data points or columns in the chart.
  • Combination of the Chart API and Visualization API provides highly user friendly way of presenting information in a graphical manner.
  • The computer that hosts the application needs to have Internet access to reach the Google servers that hosts the API.
Cons:
  • As stated in Cons section of the Google Chart API, dependencies on 3rd party API which are not packed with the application makes displaying graphical form of data impossible.
  • Though the charts are in a highly usable level, use of such charts in desktop applications is not possible as rendering charts on a web page has dependency on JavaScripts.

Finally both APIs provide various features which are required for applications that are being developed today. But Google has a smarter solution compared to others by providing feature rich APIs that has fewer configurations overhead for web applications.

References:

  1. code.google.com/apis/chart/index.html
  2. code.google.com/apis/visualization/interactive_charts.html
  3. www.jfree.org/index.html

On this Page

  • JFreeChart API
  • Google APIs
    • Google Chart API:
    • Google Visualization API:
      • References:
Tags: Charts, Google, Google API., JFreeChart API, Visualization APIs
Did you enjoy reading this article? Share it! Share on Facebook Tweet this! Bookmark on Delicious StumbleUpon Digg This!
avatar

About the Author: Viraj Perera

1 Comment + Add Comment

  • avatar
    lisbeth January 28, 2014 at 4:50 pm

    It will definitely ease your work of handling a big project. As a project manager I use scrum in my projects. One of my friends referred me to use the Guide to Scrum Body of Knowledge by scrumstudy.com. I like the concepts of sprints, daily standup meetings, etc. the SBOK Helped me alot in Understanding how Agile Project Management works.

    Reply

Leave a comment

Click here to cancel reply.

CAPTCHA
Refresh

*

Follow Us on Twitter!

On this Page

  • JFreeChart API
  • Google APIs
    • Google Chart API:
    • Google Visualization API:
      • References:

Related Post

Sass and LESS: An Introduction to CSS Preprocessor...
Azure Functions – Learn more about it
Firebase – Mobile Application Development &#...
Serverless Architecture with AWS Lambda
Let’s move to NoSQL Databases with MongoDB &...
Productive Development With React Redux
Beginners’ Guide to CSS (CSS for dummies)
Company Culture
What is Docker ? Getting Started with Docker
Hybrid Mobile App Development with Ionic and Angul...
Test Automation of Mobile Applications using Appiu...
What Power BI Can Do – Major Benefits
Data Mining using SQL Server Analysis Server
Learn Cucumber Test Automation with Ruby Core Fram...
How to Succeed With Designing Scalable Web Apps
Importance of Big Data and Managing Data with Elas...
An Introduction to Node.js – Kickstarter
MS SQL Server BI (Business Intelligence)
How To Start Cloud Computing with AWS
What is NFC – The Ultimate Guide
Avatars by Sterling Adventures

Team Mazarin

A team of individuals dedicated to share common goals and vision of the company. Mazarin's endowed team consists of Managers, Software Engineers, User Interface Engineers, Business Analysts, Finance and Administration. We are a blend of quality people. We strive to maintain the open culture and work in close association. The way we work enables everyone to contribute while feeling contented sharing opinions and ideas to deliver the best software solutions.

Read More

Mazarin © 2023. All Rights Reserved.