Challenge

Constraints imposed by the Apache Cocoon web publishing system unduly hampered expansion plans for the DeltaXML product demonstration sandbox on their website.

Solution

DeltaXML rewrote and enhanced their product demonstration sandbox in NetKernel.

Result

DeltaXML is able to run multiple versions of their product simultaneously and build new and innovative realtime high-performance interactive AJAX demonstrations.

DeltaXML Web Demonstration Sandbox

DeltaXML is the leading supplier of XML change management technology. Founded in 1991, DeltaXML is a UK based, privately owned company with experience in both change management and XML technologies. Their first product, DeltaXML Core, was released in 2001 and has become the pre-eminent product for XML change control. DeltaXML Sync, introduced in 2004, provides XML document synchronization from any possible combination of three input streams.

About the Sandbox

To showcase DeltaXML Core, a demonstration web site area was developed with the Apache Cocoon web framework[1]. This demonstration area allowed users to submit either two files (via browser upload) or two URL file references and receive a report detailing the differences between the two files.

It soon became clear that technological constraints imposed by Cocoon limited the options for enhancements to the demonstration area. For example, Cocoon uses a single classloader making it difficult to simultaneously run different versions of DeltaXML Core and the various XML support libraries.

To provide greater flexibility, DeltaXML selected NetKernel to replace Cocoon and hired a recent graduate to migrate the existing demonstration and build new capabilities. Within ten days the NetKernel concepts and principles were mastered and a prototype was operational. Subsequent development iterations brought the web site area live with an Ajax client displaying a new difference report in response to each keystroke.

"NetKernel is very flexible." stated Nigel Whitaker, Senior Software Architect at DeltaXML. Whitaker added, "The uniform URI addressing model allowed us to think creatively about our system. In NetKernel, Core is configured to compare two documents referenced by an internal URI. It is simple to use a remote http reference, a local resource reference, or reference to a resource created dynamically, such as querying a database."

Ajax development with NetKernel

The flexibility and performance of NetKernel allowed DeltaXML to build a highly interactive demonstration of their product. As shown in the following screen, the DeltaXML Core Sandbox[2] allows the user to edit an XML document in the "Document 1" and "Document 2" areas. For each keystroke, the browser based Ajax code sends both of the documents to a NetKernel web service using DeltaXML Core. The service accepts the two documents, sends them to Core, retrieves the output and then applies an XSLT transform to create an HTML formatted report. Finally, the report is sent back to the browser which displays it in the lower portion of the screen.

DeltaXML Sandbox Screen
Figure 1: DeltaXML Sandbox Screen

Integrating DeltaXML Core with NetKernel was easy. A new NetKernel module was created to provide an independent Java classloader, a URI addressable service interface and the DeltaXML Core Jar file in the module's library.

DeltaXML Architecture
Figure 2: DeltaXML Architecture

DeltaXML's DXP sequencing language was used inside the deployment and NetKernel's DPML and BeanShell languages were used to provide and orchestrate the web services used by the Ajax client.

Rapid Development

"We are very pleased with NetKernel." said Whitaker. "NetKernel solved several thorny problems such as JAR file versioning and provided easy server management. With NetKernel's module upload and management wizard, it is very easy to perform hot upgrades on a server running 24-7." Whitaker added, "Cocoon's continuations were a debugging problem. NetKernel provided an environment in which it was much easier to debug our system.".

Looking forward, Whitaker commented "Our thoughts are now on planning and implementing further enhancements to our web-based product demonstration. We are contemplating developing service-based offerings that will allow our clients to send XML documents to the comparison engine via a REST-styled interface."

Summary

NetKernel provides DeltaXML with an ideal rapid development environment and superior enterprise caliber server management capabilities. DeltaXML will build future enhancements to their demonstration web site area, taking advantage of NetKernel's advanced development and deployment environment.

References

[1] Apache Cocoon Web Framework http://cocoon.apache.org

[2] DeltaXML Core Sandbox http://deltaxml.com/free/sandbox/

"Out-of-the-box, NetKernel provides us with a wide range of state-of-the-art XML technologies without the need to learn APIs and delve into the inner details of the libraries."

- Menzo Windhouwer
Max Planck Institute

Enterprise Trial Offer

Try NetKernel Enterprise free for 90 days.

Includes free access to the support portal where you can get help, submit and track questions, collaborate and document your project.

download now