target market   Digium   HP Partner
Home About Us Contact Us

Java/Web to RMS Connection

Our RMS Connection software is divided into three distinct but overlapping approaches. Each has it's own advantages and disadvantages and both have been used in solving different problems in the same application.

Persistent Connection

The first approach is based on building a compiled server program on OpenVMS that is activated as a TCP/IP service when a connection is made. This connection is a persistent connection and as such, maintains a state like a normal interactive program running on OpenVMS. This allows events on the server to be sent to the client without having the client poll the server. However this means there is one OpenVMS process per client and this approach can only be used with a Java client program.

This is suitable for Java programs that need real time updates from the server and are run in a secure or controlled environment. An example of such an application is a real time production tracking system that updates displays based on events on the server triggered by production steps being completed.

Non Persistent Connection

The second approach is based on the client sending an HTTP or HTTPS post to a web server and getting an XML response. The server can be either the DSI Secure Web Server or a web server that supports FastCGI, such as Apache. The client, may be either an HTML page using JQuery or Ajax or a Java application typically using Swing or both at the same time. The Java application can also use Java Web Start to allow easy deployment to remote clients.

This method is more suitable when the client is a remote system that you do not have direct control over.

The down side of this is that it requires the usual coding for maintaining state and the client must periodically poll the server if it needs to see some server event.

The major advantage here is that the same business logic that is developed for a web site is also usable in Java/Swing applications thereby significantly reducing development time. Also critical business logic is run only on the server and only the data that a user would see on a secure web site is transferred over the Internet. This eliminates the potential threat of database injection.

JDBC Driver

The third approach is a JDBC driver written entirely in Java. This driver was developed to support NetBeans development using JPA and, as such, has specific optimizations to improve performance in this environment.

Note that while these first two approaches are similar to an ODBC or JDBC connection, they do not use SQL and, as such, are capable of efficiently using RMS features such as record overlays or overlapping fields. This allows objects that extend a base object to be stored in the same table or RMS file. This cannot be done with a relational database and the resulting overhead is evident when you look at the complexity of Hibernate or JPA.

All three approaches also allow access to OpenVMS resources such as batch or print job submission and calling existing business logic without a major software rewrite.


For more information and samples of the analysis, please contact Jeffrey Coffield at (949) 650-0526 or use the