Thursday, May 31, 2012

Java rocks!

With all the talk about modernization and of NonStop truly being a modern system, it is worth noting just how easy it has become to run modern Java applications on NonStop today!

The past ten days have seen me working out of a hotel room in Nashville, Tennessee, as Margo oversaw events for the association she now works for…. and I took advantage of the free room and the barbeque. But no sooner had we landed back home in Boulder than we packed the RV and headed to southern California for the long weekend, setting up camp just outside Rosamond and reveling in the lack of humidity at Willows Springs race track. Finally, we pulled up stakes and headed to Las Vegas where we are now baking in the desert heat, wishing we had a little more humidity, as we wait for HP Discover 2012 to begin! And the picture above is of me setting up camp and unloading the track car that for the next ten days will once again become our daily drive.

What to expect? What will be demonstrated? Who will be there? Where will we meet? Thank goodness for smartphones and tablets and their ability to keep us all connected, all of the time. When events get as large as HP Discover, traditional approaches (sitting in a hotel lobby bar, slowly sipping a latte at the coffee shop, pacing the floor alongside registration) simply don’t cut it – and I don’t want to miss a thing! Already I am reviewing the emails I have and fine-tuning my calendar as I shuffle through the commitments that have already been made. But what will really stand out for me? And what of modernization and the NonStop server’s support of new solutions?

When I last attended HP’s big show I raised this subject with Randy Meyer, who heads HP NED product management, and asked him specifically about what modernization meant for NonStop. In the post of June 11, 2010, that followed, “
Modernize? Evangelize!”, I wrote of how Meyer had told me of the work NonStop development had been doing to “make it easy to build new applications and functions using modern toolsets – Java, Eclipse, Hibernate, etc,” a reference to the availability of industry-standard software-stacks, such as SASH, that meet the runtime requirements of applications developed with these tools.

All the while, transparently leveraging the very same NonStop fundamentals of availability, scalability and data integrity that have underpinned so many mission-critical applications for nearly four decades. Or, as NED product manager, Keith Evans, told me back then “applications using modern paradigms inherit the same NonStop fundamentals as classic applications”, as well as “modern application containers (NonStop SOAP server and NSJSP) use the same scalable and available server process infrastructure as Pathway applications”.

It’s been two years since that post so I thought I may want to start out this year by checking with the vendor community to see how well the NonStop group had performed and to focus this time solely on Java – after all, the ability to externalize current business logic via SOA and Web services seemed to be well understood by all within the NonStop community.

“Java itself performs well, but if you look at performance there are still several things to look for,” Jürgen Depping, of CommitWork GmbH and a frequent commentator in many of the discussions I participate in. Depping then added, “How does the database perform? How do you communicate? How do you design your system?” For me, this was an encouraging starting point – in the past so much had been discussed about the need for more complete support of Java services, but now there appeared less concerns about functionality, as though having all the services needed (to port Java applications) was a given.

The richness of the functionality found today in NonStop Java was also confirmed in emails I received from Franz König of HP’s Advanced Technology Center (ATC). “There are several other examples of Java products (on NonStop, today); in most cases I wouldn’t even call them ports, because the Java for the most part does not need any porting. It is rather the database migration that accounts for any additional effort.” And this too was confirmed by others I talked to – Java applications simply run today on NonStop, as is. Period. No worries.

There’s attention that needs to be paid when SQL is involved, but that’s about it, and as you discuss this with the NonStop SQL development team it’s not lost on them either, and they too have been busy on this front.
“We understand the migration process and we have established world class partnerships to bring tools that automate the entire lifecycle of a database migration:  DDL, database objects, SQL statements, PL/SQL code, and most importantly data itself.”

This was how NED SQL product manager, Ajaya Gummadi, explained it to me recently before adding “we are continuously investing to support the non-ANSI standard Oracle syntax in the NonStop SQL engine with the objective of reducing the costs and risks of such migrations and we have the best resources in NED ATC and Solutions Development and Integration (SDI) services to execute these migration projects.”  Indeed, Gummadi informed me, “we have a great talk on this topic (Session TB3012) at Discover being presented by Ursula Hilson (ATC).”

So the emails continued. Porting new applications to NonStop – solutions such as the most recently ported fraud detection application from Retail Decisions (ReD) - and invariably exposing the NonStop server and the NonStop fundamentals to a whole new cadre of vendors, was what had fueled the need for Java support and vendors are finding it relatively easy to get their solutions installed and up and running on NonStop.

“Java performance is nearly on-par with performance on the HP-UX Java; in fact, it is the same JVM,” according to HP’s Keith Moore before he changed gears on me to talk about Garbage Collection, something I only vaguely understand. “Garbage Collection is one of the most researched areas in virtual machine. With the next JVM for NonStop, we will greatly improve our performance by “parallelizing” garbage collection. The new version will exploit a new design that will allow for some Garbage Collection activities to occur in parallel with user code execution.”

“Our current method has not been observed to cause more than a split second hiccup while garbage collection occurs.  However, our next JVM release will also include the option of a 64-bit JVM and the garbage collection times could get longer with that option.  So, this caused us to develop the parallel garbage collection capability,” was the follow-up response from NED Product Management leader, Tim Keefauver. “It will be available both for the upcoming 32-bit and 64-bit JVM versions.  The parallel option allows the JVM to continue with its regular work while also performing garbage collection.”

When I raised this topic with those closely working with NonStop and Clouds, and who I am hoping will reveal even more about Persistent Cloud Services this year, they too are making sure Java support is available. “As far as languages, we’ve tested native languages COBOL, C and C++ essentially any language which can call a “C” function - and we recently developed a JAVA API, was a response I was given by the team. “As for platforms we have tested WINDOWS x86, LINUX x86, x86-64 and IA64, and NonStop – what we now provide should run on any POSIX compliant platform.”

Java is not the only language that signifies a platform is modern. There are still solutions and middleware vendors investing in other object languages including C++ and these applications are every bit as modern as those written in Java. But what the Java story tells me is that applications developed for other platforms can now be brought onto NonStop with little additional effort – so much so that those directly involved no longer view the move to NonStop as a port.

I may not have to hang out in the foyer or linger by registrations as I am sure I will be able to find the time to catch up with many of you – yes, I will have the “Fools for NonStop” T Shirts with me as mentioned in the last post. And yes, careful examination of our track car, pictured above, will see how it too is adorned with a “Fools for NonStop” decal! Many years ago a strong advocate of Java running on NonStop, Sam Ayres, simply told me that with the arrival of NonStop on Blades, “Java rocks!” an endorsement I was only too happy to reference in my post of February1, 2010, “
From beneath the swirling mists …”.

To many, this was simply Sam being Sam encouraging us all to give due consideration to running Java on the NonStop platform. However, nearly two years on, it’s a reality and from where I sit, a resounding endorsement that the rhetoric we have heard about the modernization of NonStop has materialized. Any thoughts of Sam being foolish put to rest a long time ago.

And with that, the NonStop community has to be pleased – a perfect implementation? Perhaps not, just yet, and still a work-in-progress. But sufficient for many to no longer even consider supporting NonStop “a port”, and for all of us who lived with much earlier implementations, that’s about all we wanted to ever hear!

No comments: