Test Drive of Web Dimension
Shawn M. Gordon
What it can do?
Web Dimension was originally being called Javelin Designer last year when it was being developed, and you might recall me mentioning that in my review of Javelin last year. Well, a name change and a huge number of features later, and we have Web Dimension. This is one fascinating and original product.
Web Dimension is an Application Server and a collection of Java components that can be used to develop and deploy new applications that will provide new graphical and web-based user interfaces for HP3000 and database applications. Web Dimension consists of the following:
Java bean components for application development. There are two types of components: Back-end components. These components are used to connect to HP3000 applications and/or databases. User interface components. These components are used to build a user interface. Common components are textboxes, listboxes, labels, checkboxes, images, etc…
Legacy Wizard. The Legacy Wizard is used to create a new Web Dimension application using an existing HP3000 application as a template, there is support for a variety of screen interface types such as Vplus and Powerhouse.
Application Server. The Application Server is used to run the Web Dimension application in a server environment. It can serve the user interface of the application to either a web browser or GUI/92.
GUI/92. GUI/92 is used to display the user interface of a Web Dimension application in a graphical mode. It can get the user interface from the Application Server, or it can run the Web Dimension application itself.
How does it work?
By taking advantage of Java, JDBC and existing Java development tools, Minisoft has created a product offering that allows you to pretty easily generate web based applications for your HP 3000. They have provided a number of wizard applications to get you started, and these will generate the appropriate java classes and pages for you to work from. This could be a very simple application, or it could be screen scraping an existing applicating, and use the original program as the server.
Java can be confusing initially because of the distributed nature, and knowing what is running where and how to use it can be a bit of a hurdle getting started. The use of Java also means that you have a great shot at making what you create portable. Web Dimension has a number of Java servlets that handle the presentation of the interface layer in various modes, such as in a web browser or in the GUI viewer. Again, the flexibility is very nice, but there is some learning curve involved if you haven’t spent time working in this type of distributed environment.
Web Dimension comes with a set of widgets that you need to install into your Java design tool. This gets you access to all the custom controls that are ‘aware’ of Web Dimension, like buttons, combo boxes, text boxes, radio buttons, all the standard stuff.
You will typically start out with the Application Wizard or the Legacy Wizard. With the Application Wizard you will build an application from scratch that interfaces against your server source. With the Legacy Wizard, Web Dimension will use a host based application as its template for the UI, which you can then customize. In both cases, the Java code is generated for you as is the project for your Java GUI tool, in my case Visual Cafe. Now you just load it into the Visual Cafe and work away.
With Web Dimension you can interface directly to a database via JDBC which is the Java versio of ODBC. Minisoft has a JDBC product, and HP I believe also has one. I don’t have the HP one, but I downloaded a demo of the Minisoft JDBC driver to test. The Minisoft JDBC driver on the back end works just like their ODBC driver and allows you direct access to Image, KSAM and MPE files, so the performance seems to be quite good.
Web Dimension doesn’t just look at View screens with its Legacy Wizard, it can handle Powerhouse, text based, and even custom style screens. Since there are a lot of different screen drivers out there that people have produced, you may have to try and see if your local one works if it is an oddball one.
The GUI92 viewer is interesting, you can set it up like a termnulator with an argument path that passes in the application information to run. Using this method, you can deploy your Web Dimension applications outside of the web browser environment.
Installation and Documentation
The installation on the PC end is simple, but you have to have a 3rd party Java tool like Visual Cafe from Symantec or Jbuilder from Borland, the Visual Cafe software is recommended by MiniSoft. The trial version of Visual Cafe will not allow you to load components, which you have to do. This one aspect makes it a little difficult to do a demo without added expense, but Visual Cafe is less than $100.
The other part of the installation is making sure you have a current version of Java on your system. MiniSoft now includes the latest version of Java available from HP, and installing it is pretty easy, just upload the package and execute the scripts.
The documentation is provided as an HTML document on the CD. This means you can print it out or put it wherever you want as it doesn’t require any special viewer. The manual is fairly large and there is no internal index to jump around inside the doc, which makes it very inconvenient to use in this format. The installation instructions and examples were very clear and easy to follow, but again it is geared towards Visual Cafe and there are no explicit examples for Jbuilder. The other item that is frustrating is that there is no online Help file for the components,this means that if you are in Visual Cafe and are working with a Web Dimension component, you can’t press F1 to get help on the properties of it. This is rather frustrating, especially because there is no index for the online manual, and as far as I could tell there is no guide that describes the properties of each control. The documentation doesn’t seem to strictly follow the application anymore either, I had several examples I was following that did not match the documentation. Minisoft says they are almost done with an updated and indexed manual which should be available by the time you read this.
Using a simple block mode application, I made some extensive use of the Legacy Wizard, because that seemed to be what would be of primary interest to people initially, take a look at figure 1 for the app running in the Minisoft termulator. As we go through the Legacy Wizard, we will provide information for it to bring up the application in a java based emulator as seen in figure 2. Now in figure 3 you will see the same app now running through the GUI viewer, while this may not seem major at first, it is pretty significant, it means this application can now run remotely. In figure 4 you will see this app deployed directly through a web browser, so you can see how simple it is to take an existing app and deploy it in different methods.
Figure 5 shows the UI part of the app being worked on within Visual Cafe. Here you can do things like change the Prefix field to a combo box of selectable values for example. You can move the fields around and make it as pleasant as you like, creating real buttons for the function key settings and such. That is pretty much it, you can do as little or as much as you want to the application, it’s all up to how far you want to go.
Finally I did some tests integrating the JDBC driver to build a small app to directly read from my Image database. Basically you can use the Application Wizard to start a program. Answer all the various questions, similar to the Legacy Wizard process. Now you fire up Visual Cafe and insert the java files into your project that were generated. You can then drop a Database component into the new object from the Component Library, you can then add recordset objects to the object by dragging them from the Component Library.
Now you can right click on the component and set it’s properties to to bind the database object to the actual database, so your connection information and name all go here. Then you would work on the recordset object the same way. You can put a default SQL statement associated with each recordset object, and select a database object from the defined ones for the project that are available. This is rather different than how ODBC works, so you might have a bit of a learning curve here.
This query then becomes an object that you can associate with another object, so pushing a button will execute the stored query passing whatever value you want to as the key value. So, say you wanted to have an order page, you would let the user enter the order number, pass it to the stored query as a parameter when the button was pushed that executed the query.
You also need to modify the target class path of GUI92 to include the jdbc.jar file that Minisoft supplies, this will insure that the classes you need for JDBC are included in your project. It’s really not that hard to do, but you have to make sure that you cover all the steps. With Java I’m mostly struck that the language isn’t all that hard to pick up, it’s the infrastructure and distribution of the environment that can be confusing.
There is a lot to Web Dimension with the various wizards and servers and ways to develop or re-engineer legacy code. It’s more than you can reasonably get into during a product review like this. What I saw and used impressed me a great deal, this is some really great stuff. I am dissappointed with the way the manual is delivered, it really makes it difficult to get started, but at least they have a good number of demos in the manual.
I think you now have the opportunity to take one of those workhorse applications on your 3000 and deploy it differently with a minimum of effort. There have been a number of attempts to produce this kind of product, even from Minisoft, but I think that Web Dimension has hit on something here that is new. I still have my same complaints with Java that I always have, basically that it’s slow, but if you are looking at issues that involve putting your applications out there, or making new applications, then this is something you should look at.
Web Dimension 22.214.171.124
1024 First St.
Snohomish, WA 98290
Minisoft ships all the server Java software and client tools required to use Web Dimension. You will need to have your own Java RAD tool such as Visual Cafe or JBuilder.
There is the developer and the run time license. The software is $1000 for the first developer, additional developers are $200 each. The run time license is from $150 to $200 per user, 25 user minimum depending on the number of licenses purchased, an unlimited license is $40,000. JDBC license is from $3,000 to $8,000 depending on CPU. Support is 20% of the purchase price per year on all products and includes phone in, electronic support and new releases of the software. All prices are in US dollars.