HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Are you looking to integrate professional looking business and engineering charts within your Web application with little or no coding on your part? Are you an HTML author or a Java developer looking for 100% Pure Java certified business charts that you can integrate within your Web site? Are you looking to update your application's business and engineering charts dynamically by using JDBC and a database back end? If you answered yes to all, then NetFactory's NetCharts 2.0 is the answer.

NetCharts 2.0 is a Java-based collection of highly professional business and engineering charts for Web applications. You can use NetCharts with both HTML and Java applications. NetCharts supports the following types of charts, and more:

  • Pie
  • Box
  • Diagram
  • Combo
  • Strip
  • Bar
  • XY
  • Color
  • Stock
  • Time
You can integrate NetCharts as Java applets within your Web application, or within other Java applets. You can also run NetCharts as part of your standalone Java application. The best part is that NetCharts comes with over 50 chart examples. In most of the cases, you can use the examples as is or with some modifications to meet your application's requirements.

Feature Rich Charts
In addition to the ease of use and flexibility, NetCharts offers you a number of options and parameters you can configure for the charts. By configuring the parameters, you can customize the chart's display based on your application's requirements. You can scroll through and zoom in and out of the charts. You can choose from 100 different fonts and colors to display the charts. In addition, you can use GIF images as title or chart background to create a compelling presentation. You can also configure the axes independently. NetCharts supports popup data labeling, and drilldown features. NetCharts' drilldown feature is called Active Label. By using Active Label you can let users hyperlink to other charts, URLs and applications. All these features and more will save you tremendous amount of time and effort if you are looking to add charting capabilities to your application.

In addition, NetCharts fully supports the JDBC (Java Database Connectivity) interface. By using the JDBC protocol, you can create charts by simply passing SQL statements. You can use any industry standard commercial database such as Oracle, Informix, Sybase, or any other ODBC-compliant relational database, or datastores such as Microsoft SQL Server, Excel, dBase, and so on. You can also create charts by importing data directly from flat files supporting a wide range of delimiters. In addition to JDBC, you can use JavaScript, TCP Parameter Server, other applets including parent applets, and CGI to update the charts dynamically.

Since NetCharts is 100% Pure Java certified, the charts are browser independent (as long as the browser supports Java). This means you can use both - Netscape Navigator and Internet Explorer - to view the site using NetCharts. Figure 1 shows a NetCharts demo using Internet Explorer.

Figure 1
Figure 1:

NetCharts Components and Performance
The NetCharts installation utility will install the following components:

  • Examples: The examples will be the best source of information to get started with NetCharts quickly and easily. Chances are you can use the examples with little or no modification to meet your application's requirements. Take some time to familiarize yourself with the examples, and get a good feel for the different types of charts you can integrate with your application's HTML or Java code. Expect to spend at least 45 to 60 minutes reviewing the examples.
  • Documentation: Since the documentation is available in HTML format you will find the documentation easy to use and understand.
  • NetCharts class library: The NetCharts class library represents the heart and soul of NetCharts. The class library includes class declarations for the different types of charts you can integrate within your application. Refer to the documentation to get a good understanding of the variables, constructors and methods the different NetCharts classes will support.

To evaluate NetCharts 2.0, you can download the product's evaluation copy from NetFactory's Web site at www.netcharts.com. To install the evaluation copy, doubleclick on the self-extracting file, NetCharts2.02. The file will begin extracting itself and install the class library, examples and documentation on your system. To run a NetCharts example, doubleclick Barchart1 within the \examples directory of your NetCharts installation directory. Windows, in turn, will initiate your system's default browser. The browser, in turn, will display the bar chart.

To run a NetCharts example while connected to the Internet, visit NetFactory's Web site. Next, click Demo Examples and then click the One example. The example, in turn, will display a NetCharts pie chart. On my Gateway 233 MHz with 32M RAM, the total time to load all the classes of the NetCharts pie chart and display the chart was approximately 70 seconds. However, the total time to load the classes for the Stock chart example and display the chart was approximately 20 seconds. Better yet, the total time to load the classes for the Cylinder chart example and display the chart was approximately 10 seconds. As you can see, the performance of NetCharts applets is pretty good. A NetCharts applet's actual performance and initial load time will depend on the network traffic, server load, client machine's speed and RAM and the number of classes the browser (or the applet's container application) will need to load. Being on-line will give you an idea of the performance of the NetCharts classes, and the applet's initial load time.

NetCharts will work on all Java-enabled platforms including PC, UNIX and network computers such as Sun's JavaStation.

Using NetCharts
There are a number of ways you can use NetCharts. You can use NetCharts as applets. You can call a NetCharts applet within your application's HTML code. You can also call the applet from a parent or another applet. In addition, you can use NetCharts within your standalone Java application. To integrate a NetCharts applet easily within your application, you will need to understand the applet's properties. To create a NetCharts chart meeting your application's requirements, you can pass the property values as parameters to the applet. Listing 1 shows an example of calling a NetCharts barchart applet within HTML code.

As you can see from the code, integrating a NetCharts applet with your application's HTML code is similar to integrating any other applet. In addition, you can call a NetChart chart applet from a parent or another applet. You can also call the applet within your Java application.

Presently, NetCharts supports only ten major 2D charts. I would like to see NetCharts support additional chart types such as line, bubble, organizational, 1/2D, 3D charts and so on. In addition, I would like to see NetFactory keep NetCharts compatible with new releases of JDK and Java Integrated Development Environments (IDEs) including Visual Café, Visual J++, etc. In particular, I would like to see NetCharts available as Bean components taking advantage of JDK 1.1's features, including object serialization, internationalization, custom property editors, customizers and so on. According to NetFactory, all versions of NetCharts will support JDK 1.1 and the development kit's new features.

At $1195 for the Development Kit and $795 per server license, NetCharts is quite expensive. It would be great if NetFactory offered a NetCharts Lite and NetCharts Pro package, targeting the low and high end markets. This will make the use of NetCharts more affordable benefiting the developers. And NetFactory will benefit from an increased user base.

NetCharts 2.0 is a good product primarily due to its ease of use and the number of features you can configure for the different charts. This, in turn, will give you a good deal of flexibility in integrating the types of charts your applications will require. In addition, NetCharts is 100% pure Java certified. This will benefit you, the developer, because both Internet Explorer and Netscape Navigator users can view your site supporting NetCharts without any problems.

If you have not upgraded to JDK 1.1 and are looking to integrate charts as applets within your application, then NetCharts may be the answer for you. If you have already upgraded to JDK 1.1 and are particularly interested in using JavaBeansª-based charting components, you may want to wait for the next release of NetCharts or consider another company's product (e.g., Rogue Wave Software's JChart).

Editor's Note: NetFactury reports that NetCharts runs under all versions of the JDK and supports internationalization, custom property editors, customizers, etc. JavaBeans capability will be available this month.

In addition, included in the price is an unlimited user server license and comprehensive technical support.

About the Author
Ramesh Chandak is a Windows and Macintosh application developer and writer. He has 6 years experience designing and developing client/server, database and multimedia systems and is the co-author of "The Comprehensive Guide to Visual J++" from Ventana Press, co-author of "VBScript Unleashed" and technical editor of "Java Unleashed", both from sams.net. He has also published fifteen technical articles. In his free time, Ramesh spends time surfing the Internet, reading, writing and enjoying music and movies. He can be reached at [email protected]


Listing 1: Declaring the barchart applet. 

<applet name=barchart 
 width=400 height=250> 
<param name=NFParamScript value = ' 
DebugSet = LICENSE; 
Background= (lightGray, NONE, 0, "../classes/netcharts/demo/flock.gif"); 
Header= ("Weekday Network Load"); 
HeaderBox = (lightGray, RAISED, 5); 
BottomTics= ("ON", black, "TimesRoman", 16); 
LeftTics= ("ON", black, "TimesRoman", 16); 
LeftScale= (0, 300); 
LeftFormat= (INTEGER); 
BarLabels = "Mon", "Tue", "Wed", "Thu", "Fri"; 
LeftTitle = ("Bytes\nPer\nSec", black, "TimesRoman", 20); 
LeftTitleBox= (white, SHADOW, 5); 
DwellLabel= ("", black, "Courier", 20); 
DwellBox = (yellow, RAISED, 3); 
GraphType = GROUP; 
DataSets = ("Server #1", blue); 
DataSet1 = 100, 125, 245.78, 147, 67; 


All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.