By Jack Vaughan
You can build a world of your own, but would you want to live there? That story has played out in the computer business over and over. At some point heterogeneous environments have to interoperate, and, actually, that is a good thing. But how fine or coarse should interoperability be? Once again, the answer is ‘it depends.”
Ted Neward emphasized this point when we caught up with him at the recent SD Best Practices 2006 East conference in Boston. Neward, former TheServerSide.NET editor and now a top-industry expert and pundit, led a session that took a unique view inside interoperability.
Interoperability has long been a prime area of interest for Neward. In 2004, he wrote a paper on .NET and Java: A Study in Interoperability. It is still worth a look-at:
Making two platforms interact is at once a simple and difficult problem. Simple, in that it’s a fairly closed-requirements solution: if I can work out a few technical details, interaction is achieved. It’s also fairly easy to achieve success–if they can talk, you did it, if not, there’s still work to go. In fact, once you’ve worked out low-level issues like byte order, file/data format, and hardware compatibility, basic interaction between any two platforms is pretty straightforward. (As a matter of fact on this basis was the Internet built.)
Since 2004, Web services have a risen as a more popular means to achieve interoperability. But Web services are not universally popular, and they are, in fact, just one of several means to obtain interop. After his SD East presentation, TheServerSide.NET staff was able to sit down to lunch with Neward, and, over ribs, oysters and enough fries to feed a football team, he inked-out [on a brown paper table cover] his view of interoperability which takes three basic shapes of in-proc, out-of-proc and resource sharing. Sometimes, he has noted, we lose site of useful interoperability options such as using JDBC, and enabling a Java app to write date to an RDB that a .NET program can access via ADO.NET. Of course there are many more ways to connect. Among the means that Neward often discusses are the In-proc methods such as JNI bridges, Juggernaut, and IKVM.
We took Neward’s impromptu brown-paper schema back home, and we took it to heart. Aren’t the best thoughts describable on paper napkins or the like? Software architects and developers are confronted every day with interoperability tasks, ones they often avoid. It is sometimes necessary to really do some special upfront thinking - to think outside the box – in order to create clever interop apps. Too often, a Java developer or .a NET developer might tear up a bunch of functions that already work in one platform or the other, just to completely redo the app on the single platform they are most familiar with. Neward’s views on interoperability will be a major focus of this, TheServerSide Interoperability Blog. But other notable interop experts will be involved too. We are looking for lively comment on interoperability. We ask you to take part too. The comment lines are open!