June 2001
Java access to IMAGE, anywhere,
anytime
ADBC and Web/iX: This is really not
your fathers HP e3000 anymore
Review by John Burke
OK, I admit it; I barely know
how to spell Java, let alone write programs or systems in
Java. And for some time, I did not see the reason behind the near
cult status the language had achieved. However, the prospect of being
able to program in a language whose compiled output can
run on virtually any platform without modification and natively
access TurboIMAGE databases, MPE files and XL routines on an HP e3000
makes even an old curmudgeon like myself sit up and take notice. The
run-anywhere part is Java. The Adager Data Base Connectivity (ADBC)
product from Advanced Network Systems (Advnetsys) provides the native
access to the HP e3000 part.
In 1996, intrigued by the
possibilities of this new language Java, Alfredo Rego, co-founder of
Adager Corp., challenged the HP e3000 community to develop a native
interface for Java to TurboIMAGE. He dubbed this interface Adager
Data Base Connectivity (ADBC) and proposed to shepherd an evolving
standard under the ADBC banner, licensing it to interested parties.
By 1997, David Thatcher of Advanced Network Systems had his first
ADBC class library written and approved by Adager. Since then, many
enhancements have been added until now the ADBC Development
Kit will allow you to access just about anything on the HP e3000 from
a Java program (servlet, etc.) running on virtually any platform
anywhere from which a TCP/IP connection can be established to the HP
e3000.
Web/iX is a Web/application
server that provides tools to easily deploy and extend HP e3000
applications to the Web using Java 2 Enterprise Edition (J2EE)
standards. Web/iX handles all the redundant tasks, allowing
developers to concentrate on coding the business logic that is unique
to the application. Web/iX separates business logic, presentation and
connectivity for easy management.
Features
ADBC is a set of Java classes
that gives native access to TurboIMAGE databases on the HP e3000 from
any platform that implements Java (MPE/iX, Unix, Linux, Mac, NT,
handhelds, etc.) without the overhead of IMAGE/SQL and ODBC. And
without any need to know SQL at all. The ADBC Java APIs work well
with Enhydra and many other application servers including
Advnetsys own Web/iX, Weblogics, WebSphere and Orion. ADBC also
allows you to connect to MPE, SPOOL and KSAM files, connect to
Allbase, and do system intrinsic calls and call existing sub-programs
and functions located in XLs. You can use ADBC objects in Active
Server Pages (ASP), Java Server Pages (JSP), Java Beans,
etc.
Since ADBC version 2.1
supports subroutines, functions and system intrinsic calls from any
Java platform that implements Java, there is no need to replicate
business logic. ADBC allows you to reuse existing business logic on
your HP e3000. Simply use the ADBC intrinsic class to wrap any
pre-existing subroutine/function from any XL on your HP e3000, from
any remote platform.
Web/iX will work with any
other application server (WebLogic, WebSphere, Orion, Apache,
Tomcat), including Enhydra. Web/iX comes with the following features:
complete J2EE compliance, MPE/iX connectivity, HP e3000 connection
pooling, TurboIMAGE database pooling, MPE file pooling and
sub-program access and pooling. Pools are started when the server is
started. Applications check the connections in and out. Web/iX uses
ADBC as the API for connectivity to the HP e3000, TurboIMAGE, MPE
files and XL routines. It can use JDBC for other databases such as
Oracle, Sybase and PostgreSQL.
Web/iX extensions include
easy e-mail hooks and pre-written business Enterprise Java Beans
(EJB) components (EJB will only work with J2EE compliant servers)
such as purchasing, order entry, stock inquiry and e-shopping. If
these objects dont comply with your particular business needs,
you may be able to extend these objects, keeping the standard
business practices, but adding your own unique features to rapidly
deploy an e-commerce application. From David Thatcher, principal
author of ADBC and Web/iX: Our company is trying to push the
J2EE architecture and that is why we offer a J2EE application server
in Web/iX. We also provide the source code for Web/iX extensions. We
are promoting Web/iX as a one-stop solution for your HP e3000 and
e-commerce.
Installation
In keeping with the times,
the ADBC Developers Kit and Web/iX can be downloaded from the
Internet. In the case of ADBC, it is a single zip file
that you expand on your PC. Four files then have to be uploaded to
your 3000 (several formats are provided, but Reflection
labels is the easiest), the job card modified as
necessary and the listener job streamed. Assuming you have JDK1.2 on
your PC and a network connection to your HP e3000, you are ready to
go. Note that it is not necessary to have Java installed on the HP
e3000 unless you want to develop/run Java programs on the HP
e3000.
Documentation
The ADBC Developers Kit comes
with a 39-page manual, Accessing Data From Your HP 3000 Using
Java and ADBC that is chock full of examples. The classes and
methods of ADBC are thoroughly documented using standard javadoc (see
Figure 1 and
Figure 2).
Everything assumes, naturally, that you have a general understanding
of Java. However, having ADBC with the familiar frame of reference of
the HP e3000, MPE/iX and TurboIMAGE, would probably shorten the Java
learning curve.
Lets take it out for a
spin
Because everyone can relate to it,
I used the music.sampledb.sys database and modified some sample Java
code that came with ADBC just to see how it would all work. Figure 3 shows a
simple Java program that connects to an HP e3000 and displays the
names of the datasets in the music database. Figure 4 is the result of running
this program on a WinNT machine. Figure 5 shows a Java program that is a little
more complex. It connects to the HP e3000 music database and displays
the contents of the SELECTIONS dataset. Figure 6 shows the results, again
on a WinNT machine.
So, big deal you say? Both
these things can be done in QUERY (form sets and
report all on the SELECTIONS dataset)? True enough.
However, the byte-code compiled version of the programs of Figure 3
and Figure 5 run without modification, accessing the same TurboIMAGE
database:
on the HP e3000 system with
the database
another HP e3000 on the LAN
a WinNT desktop system on
another LAN segment
a WinNT system at my home
connected via a VPN over the Internet.
This is where the big payoff
comes in.
Testimonials (See Sidebar)
ADBC and Web/iX are used to
create the infrastructure for applications. Even if I were a Java
expert, it would be difficult to create anything meaningful in a few
days part time; hence, the rather trivial examples above.
Fortunately, ADBC in particular has been around long enough now that
real people have created real applications.
From a publishing company:
We are using ADBC to connect to our HP e3000. We use Visual Age
for Java for development and WebSphere for our application server. We
have implemented two Web-based systems. In one, we allow our
customers to pay their bills. In the other, we allow our customers to
view their orders/balances and make changes to their account (i.e.
address changes, opt-in options, email address, credit card, etc.).
We are in the process of writing an IVR system that will rely heavily
on ADBC.
ADBC is very easy to
use. Advnetsys has been very helpful when weve had questions.
We strongly recommend the product. We havent had any problems
with connectivity we are a fairly large MACS installation with
approximately 19 million orders (we archive every two years) and 18
million customers.
From Ramu Reddy of Balboa
Insurance: We are developing an Online Insurance Quote system
in Java and need to be able to invoke the existing business logic
from our COBOL premium-rating application. ADBC has been much faster
and easier to use than asynchronous message queues. And the support
from Advnetsys has been great.
From a supplier of imaging
products: We use ADBC, JSP and Web/iX in place of VPLUS for any
new development. We also like ADBCs ability to call existing
sub-programs. The performance is excellent! Web/iX is a complete J2EE
application server that is very easy to install and
maintain.
From a consultant:
Im avoiding the JDBC/ODBC route because ADBC performance
is much better.
From another user: We
evaluated a number of packages to help us web-enable one of our
existing applications. We chose Java and ADBC. ADBC not only allowed
us to access our TurboIMAGE database and MPE files very quickly, but
we were able to reuse most of our FORTRAN logic by using the ADBC
intrinsic class. This was a very big timesaver, allowing us to
complete our project in record time. ADBC was cost-effective and very
easy to use. The ADBC objects handle a lot of the programming details
for you.
From another consultant:
I have used the ADBC drivers to create several Java
applications. The first was a series of CA-MANMAN classes that were
front-ended by a third-party Shop Floor Control System. The second
was a standalone executable that retrieved data from the CA-MANMAN
Quote System and produced a Microsoft Word document, which could then
be printed, faxed or e-mailed to the prospective customer. The ADBC
drivers were designed with simplicity in mind. With the examples
provided, an experienced Java programmer can be accessing HP e3000
data very quickly.
Conclusion
If you can get an old
curmudgeon like me to take notice, then youve got something.
The combination of ADBC and Web/iX makes webifying existing
applications in a reasonable length of time and at reasonable cost
more than just a pipe dream.
|