Java and Microsoft .NET play well together in an SOA-based customer relationship management (CRM) application at
Germany's Deutsche Post AG.
The SOA implementation at Deutsche Post was written in Java with Java APIs, explains Steven Engelhard, integration expert in the technical system architecture division of the company, which is the parent of the DHL package delivery service and now operates under the trade name "Deutsche Post World Net." But the world's largest logistics company also has applications written in C++ and .NET.
Specifically, the need to integrate .NET applications into the Java-based CRM system caused Engelhard to look for a way to get the two environments to work as one. This was required to get key customer information such as addresses, crucial to a logistics company, from internal service providers using .NET into the Java CRM application.
"In 2005, we needed to find a way to integrate .NET applications into our service-oriented architecture, which until that point had been Java-based," he explained.
Engelhard's experience was with Java but he was sure he didn't want to write Java versions of the C# code from the .NET applications. Searching for a way around the problem, he found Codemesh Inc., a Massachusetts-based company that in 2005 received a patent from the U.S. Patent and Trademark Office for its integration technology for linking the Java and .NET programming languages.
The Codemesh technology, marketed as JuggerNET, allows developers to take a Java API and expose it to .NET programmers, explained Alex Krapf, president and co-founder of Codemesh.
"That way they can use the same coding guidelines, the same coding standards that they've developed for the Java side and convey those over to the developers working with the different languages," Krapf said. "It's a huge benefit when you don't have to publish a totally different API."
To see if this approach would work for them, Engelhard and the coders a Deutsche Post did a small proof of concept that took four weeks. It showed that the .NET developers could use the API to connect to the larger Java-based SOA, without having to leave the Visual Studio development environment, he said.
The integration of .NET into the Java-based SOA, which connected two internal Deutsche Post service providers into the larger CRM system, has been in production for more than two years now, Engelhard said. But the overall integration project is ongoing and he is working to connect additional internal service providers.
Though the Java and Microsoft technologies may seem world's apart, he said it was not that hard to develop a coder version of being bilingual.
"Prior to this project I had no experience with .NET and the Microsoft development environment because I came from the Java world," he said.
He found that C# and Java syntax were not that far apart.
"So I didn't need much time to get familiar with that technology," the Java aficionado said.
To clarify one point of possible confusion, Engelhard said the SOA project he is working on is not related to Swordfish SOA runtime project that is based on code Deutsche Post donated to the Eclipse Foundation.