Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

WebChart serves up Kaiser patients

Learn how a multitier Java solution moved a medical data emergency towards full remission

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
NResources to access a demo of WebChart.)

What tools did they use?

Technically, Kaiser has built a textbook three-tier architecture. It has a Java-applet front end running both in Java-enabled browsers and on Java NCs (network computers). It runs via TCP/IP and LAN connections to a CORBA-enabled middleware layer (HTTP Java server and server-side Java applications) running on a quad-Pentium NT server, which in turn talks TCP/IP to a back end data repository residing on distributed mainframes.

WebChart physical architecture

As the middle layer, Kaiser chose BlackWidow/Visigenic ORB. The developers used jdbcKona to access an SQLServer database, which is used to store user preferences and code-translation tables. The CORBA servers retrieve data from several mainframe dataservers, splice the information together, perform any necessary code substitutions, then pass the appropriate data on to the client.

Shaw says Kaiser chose the Visigenic ORB because it "provided us with support for failover, load balancing and an infrastructure for registering and discovering services -- all of which we did not have to write." He adds that "there were also several other groups within Kaiser that needed the same clinical data we needed, and it made sense to create servers that others could access in an open-standards way to get the data in the normalized form a client would want it."

The team developed in JDK 1.0.2, and continued doing so even after JDK 1.1 was introduced, because with such a non-standardized client environment the developers needed to assume the lowest common denominator in terms of browser support. As of this writing, they were beginning to migrate to JDK 1.1. With the exception of the 3270 emulator, which was purchased from WebConnect, most of WebChart was developed in Symantec Café 1.5, the predecessor to Symantec's Visual Café. Shaw still speaks fondly of Café, noting that despite the youthful bugginess that plagued first-generation tools like Café, BlackWidow and MIGrid, they were all very usable. Although he uses Visual Café today, Shaw contends that Café's no-frills, lightweight quality gave it certain advantages over the larger, more ungainly packages offered today like Visual Café or JBuilder.

Challenges during development and deployment Working with first-generation tools wasn't the only difficulty the team faced.

"We experienced all of the now well-documented challenges of developing in Java," said Shaw. "For example: repainting problems with the AWT, the intrusive nature of the garbage collector, the different z-ordering of different JVMs, the idiosyncrasies of the many Netscape, IE and HotJava JVMs.

"We lived writing once and debugging everywhere. We suffered through the poor, but improving, performance of the JVMs and the challenges of debugging a multithreaded front end."

Kaiser developers also ran into the problem of Java's poor support for printing, and so used a workaround that involved creating a HTML file on-the-fly for the data they wanted printed and displaying the HTML in a separate window that users could then print using the browser. They chose not to "write" the file to the server's hard disk, but instead kept the file in a hashtable on the server and removed it when it was no longer needed.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources
  • See a demo of WebChart http://www.frekaiser.org/StandAlone/webchartedemo.html