Return to Home

Java/Web to RMS Connection

We have recently divided our RMS Connection software into two distinct but overlapping approches. Each has it's own advantages and disadvantages and both have been used in solving different problems in the same application.


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.


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 contol 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 signigicantly 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.


Note that while these 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.

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


Please contact Digital Synergy, Inc. at (949) 650-0526 for more information.

Return to Home