January
2001
Adding New Dimensions to Your Workhorses
Minisofts Web Dimension puts
applications online with Java-based tool suite
Review by Shawn Gordon
Web Dimension was being called
Javelin Designer when it was first being developed, and you might
recall me mentioning that in my review of Javelin. 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
graphical and Web-based user interfaces for HP 3000 and database
applications. Web Dimension consists of the following:
Java bean components
for application development. There are two types of components:
back-end components, used to connect to HP 3000 applications and/or
databases; and user interface components, used to build a user
interface. Common user interface components are textboxes, listboxes,
labels, checkboxes, images, and so on.
The Legacy Wizard is
used to create a new Web Dimension application using an existing HP
3000 application as a template. There is support for a variety of
screen interface types such as Vplus and Powerhouse.
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.
Finally, 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 application and using 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 to 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 havent spent time working in this type of
distributed environment.
Features
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
version of ODBC. Minisoft has a JDBC product, and HP also has one;
HPs relies on the Allbase DBE, while the Minisoft driver does
not. I downloaded a demo of the Minisoft JDBC driver to test Web
Dimension. This JDBC driver on the back end works just like the
Minisoft ODBC driver, allowing you direct access to IMAGE, KSAM and
MPE files, so the performance seemed to be quite good.
Web Dimension
doesnt just look at View (VPlus) screens with its Legacy
Wizard: it can handle Powerhouse, text-based, and even custom
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 products
GUI92 viewer is interesting. You can set it up like a termulator 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 third-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 must do. This
one aspect makes it a little difficult to do a demo without some
added expense, but Visual Cafe costs 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 doesnt 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 I
found frustrating was a lack of online Help file for the components.
This means that if you are in Visual Cafe and are working with a Web
Dimension component, you cant 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
see, there is no guide that describes the properties of each control.
The documentation didnt seem to strictly follow the
application, either. I found several examples that did not match the
documentation. During my TestDrive Minisoft reported they were almost
done with an updated and indexed manual, which should be available by
the time you read this.
The TestDrive 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 to bring up the application in a Java based
emulator, as seen in Figure 2. 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 using
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 all there was to
it. You can do as little or as much as you want to any application,
it just depends on 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 in a
process similar to the Legacy Wizard. Now you fire up Visual Cafe and
insert the Java files into your project. You can then drop a Database
component into the new object from the Component Library, then add
recordset objects to the object by dragging them from the Component
Library.
Now you can
right-click on the component and set its properties 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. Its really not that hard
to do, but you have to make sure that you cover all the steps. While
using Java I have been mostly struck that the language isnt all
that hard to pick up its the infrastructure and
distribution of the environment that can be confusing.
Conclusions
There is a lot to Web
Dimension, with the various wizards and servers and ways to develop
or re-engineer legacy code. It does more than you can reasonably get
into during a product review of this scope. What I saw and used
impressed me a great deal; this is some really great stuff. I was
disappointed with the way the manual was delivered. It really made 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 complaint with Java that I have
always had simply that its slow. But if you are looking
at issues that involve putting your applications out there, or making
new applications, then Web Dimension is something you can use for a
new look at your applications.
Shawn Gordon, whose
S.M. Gordon & Associates firm supplies HP 3000 utilities, has
worked with 3000s since 1983.
|