Usage Models

Introduction

At the lowest level Davisor Chart is a J2EE software component that provides visualization services to applications that need to represent data in some graphical or table form. In typical Davisor Chart usage scenarios an application first gathers, products or identifies the data in some way. This process can be left completely to Davisor Chart component by defining the process with Chart XML (document centric model) or the gathered data can be feed to Davisor Chart using object API (object centric model). User can also mix these two approaches.

Davisor Chart usage models can be divided into two main groups: component and web service usage models. In component model Davisor Chart is a integral part of the Java application and it is installed next to the controlling application. In web service model Davisor Chart is configured to provide charting services to web clients. In this case only document centric control model can be used, i.e. Chart XML is used to control the resulting chart.

Component Usage Model

When Davisor Chart is used as a component, it must be installed as a integral part of the application. This is typically achieved by adding "davisorchart.jar" archive file to application's class path. When the application is a J2EE web application, the correct place is application's "WEB-INF/lib" folder.


Davisor chart deployed to a J2EE server.

JSP Tag Library Usage

Davisor Chart JSP Tag Library provides the simplest and most straightforward way to produce charts and reports within a Web Application. By simply copying the Davisor Chart software inside your own web application, you may start producing your own graphs and tables in minutes.

To learn more about the Davisor Chart JSP Tag library, please see the separate JSP Tag Library Usage sub-chapter.

Servlet Usage

Davisor Chart works also well with standard Java Servlet technology. You may write and install your own custom servlets that utilizes Davisor Chart through Chart API or Chart XML.

To learn more about the Davisor Chart and servlets, please see the separate Servlet Usage sub-chapter. To learn more about using servlet-JSP combination, please see the sub-chapter.

EJB Deployment

Davisor Chart can be deployed as EJB Back-End Component that lives inside enterprise application servers and clusters. In this deployment model, applications communicate with Davisor Chart EJB component instances as set forth by Java 2 Enteprise Edition (J2EE) specification. This model provides the scalability and robustnes required by many modern and serious business applications.

To learn more about the Davisor Chart EJB capability, please see the separate EJB Usage sub-chapter.

Web Service Usage Model

Web services in the general meaning are services offered by application to other applications via the Web. In a typical Web services scenario, a business application sends a request to a service at a given URL using the SOAP protocol over HTTP. The service receives the request, processes it, and returns a response. Davisor Chart offers two web service functions: "addChart" and "getChart". These services are accessed using plain old HTTP request-response model and not using SOAP protocol. This approach is optimal for web browser clients that normally does not include SOAP client.

Following diagram illustrates typical Davisor Chart web service usage model. Diagram shows two servers: server 1 is serving HTML and XML pages and server 2 is serving charts. The server 1 returns a HTML page containing URL references to the server 2 which in turn returns chart markup code and actual chart content. These servers does not have to reside in different machines, it is only one installation option. The chart server could be also a separate module inside the main server.


One of the service model configurations (two separate servers).

Because Davisor Chart is not itself a server the described approach requires also a standard J2EE web server like Apache Tomcat (Davisor can provide a ready configured server environment if requested).

To learn more about web service usage models, please see HTML-JavaScript sub-chapter.