Tuesday, February 22, 2005

An Open-Source Web Services Solution for NonStop

Payment transactions flow like the Mississippi river: 24 x 7, they never stop. Transaction volumes are always increasing, while costs must always decrease.

When choosing a target host platform, we must carefully balance reliability, scalability, availability, performance, and security requirements against the implementation cost. This sometimes means that an application we would prefer to deploy to NonStopAA must instead be targeted to other platforms.

Recently, however, the HP NonStop Java J2EE platform, along with Open-Source Web Services components, has not only made it more feasible for us to target the HP NonStop platform, it has also simplified our integration with heterogeneous client platforms such as Microsoft .NET and Oracle, as well as Java J2EE.

The Business Case

We recently had a business requirement to implement a new fraud detection and prevention system within my company. The technical requirements were simple: We had to enable and disable merchant terminals, based on the results of an automated fraud analysis program. An Oracle database running on an HP-UX server would perform the fraud analysis and disable merchant terminals when fraud was detected. Subsequently, support staff would manually re-enable the terminals using a Web browser, accessing a Microsoft .NET Web application. The transaction engine, i.e., the NonStop system, would perform the actual enabling and disabling.

There are many integration solutions available for NonStop that could have met our functional requirements. But most of the solutions are complex, involving several tiers and layers upon layers of integration. Third-party software licensing contracts are required, along with all the associated custom integration development and support contracts. And, in the end, my company, Paymentech, would become more dependent on outside vendors. In addition, the fraud detection project was a good example of exactly the type of development that we prefer to keep in-house for security reasons.

After some analysis, we determined we needed a heterogeneous messaging interface, so the three systems (Oracle, Microsoft .NET, and NonStop) could efficiently interoperate. Gazing further down the road, we saw potential that the terminal control interface might be reused for many more internal projects. With the entire IT industry moving in that direction, a Web Services or Service Oriented Architecture (SOA) became the obvious choice.

We looked at several different Web Services infrastructure solutions. They were, for the most part, very expensive and/or required outside development and service contracts. We weren't prepared to invest heavily in third-party solutions on our first foray into the NonStop Web Services world. So, to get the ball rolling, we looked at available Open-Source solutions.

iTP Web Server. The iTP Web Server is a general-purpose Web server that, more significantly, is the required front-end for NSJSP. The iTP Web Server can static .html documents and CGI programs written in a variety of languages, including C and COBOL. In our case, we already had iTP Web Server installed. In the Open-Source world, the iTP server would be analogous to the Apache Web server (Tomcat runs under the Apache Web server; on NonStop, it runs under iTP).

NonStop Java Server (NSJ) 4.0. NonStop Java Server is HP NonStop's implementation of the Java compiler and Java Virtual Machine (JVM). It is, essentially, the Java JDK Version 4.0 for the NonStop platform. NSJ is required for all NonStop Java development. For us, the JVM was the most important component, since we develop and compile on our local workstations then deploy to the NonStop JVM.

NonStop Java Servlets for JSP (NSJSP). NSJSP is a port of the Apache Tomcat Web Application Server to the NonStop platform. NSJSP is a full servlet engine, capable of running many Open-Source components, including the Apache Axis Web Services. In our initial testing with Axis under NonStop, we ftp'd the axis.war file from our local Windows workstation to the webapps directory under NSJSP. Axis automatically deployed, and we were able to view the Axis home page running under NonStop. The steps for configuring Axis under NonStop were identical to those for installing under Tomcat on our local machines. On the Axis home page, there is a link called HappyAxis that validates the installation. The HappyAxis link works the same on NonStop as it does for other platforms. HappyAxis identified that we needed to tweak the location of a couple of archive (.jar) files, but this step was identical to the actions required for other platforms. Within minutes, we had Axis up and running on NonStop.

NonStop Java Toolkit (JToolkit). Of course, the real meat of our application required access to legacy NonStop Pathway servers. But how do you connect from a Java program (in the Axis case, a servlet) to a Pathway program written in COBOL? The answer was simple. HP NonStop has provided Java APIs for accessing all legacy servers and databases.

These APIs are included in a package called JToolkit:

JPathsend - Communicates with legacy Pathway serversJEnscribe - Directly accesses legacy Enscribe databasesJPathway - Framework for Java Pathway servers

In addition, JToolkit provides a utility program, ddl2java, which generates Java interface classes from the same DDL files that are used to generate the Pathsend messages for the legacy servers.

While the HP NSJSP application server and related products provide a complete Tomcat environment that will run Apache Axis, the NonStop Java JToolkit enables the key requirement of direct access to legacy Pathway servers and Enscribe tables.



Web Services is a powerful strategy for NonStop integration solutions in a heterogeneous environment. The HP NonStop Java development suite provides all the tools required to run the Open-Source Apache Axis Web Services distribution. The HP JToolkit APIs provide all the tools required to integrate directly with legacy COBOL Pathway servers. The Open-Source Apache Axis is therefore an efficient and cost-effective Web Services solution for the NonStop platform.


- Sam Ayers

8 comments:

Dawud Tan said...

Hi do you know a lot about travelocity.com infrastructure? does it only use NSJSP, Apache Axis, and HP Pathway? In past, I think travelocity.com use ibm family product, doesn't it? If so, then why in 21st century they prefer to use HP NonStop infrastruture? thank you :-)

Vcom Infotech Company said...

Interesting and informative details for the open source web services within your post sharing. Thank you very much. kovai e solutions | E-Commerce in Coimbatore

Meenakshi Sundaram said...

Thank you Vcom Infotech Company !!!

Meenakshi Sundaram said...

Hi Muhammad Dawud , I have no idea about Travelocity.com Infra.

Designpluz said...

It is a great sharing...I am very much pleased with the contents you have mentioned. I wanted to thank you for this great article. Web Design Sydney ,Logo Design Sydney

Meenakshi Sundaram said...

Thank you Designpluz

Ancy merina said...

Meenakshi Sundaram said...

Thank you Ancy merina