Danny Coward's Sun Weblog

« Previous day (May 31, 2006) | Main | Next day (Jun 2, 2006) »

20060601 Thursday June 01, 2006

Tango, Semplice and NET2Java
Filed under: net2java

I contend Java and .NET are the Pepsi and Coke of development platforms today in terms of popularity. (No implied order...)

I've puzzled before about the lack of good tools that let people act on their own conclusions on the Pepsi Challenge equivalent for development platforms. That infamous marketing campaign has a fascinating history and folklore. But for Java and .NET, where are the tools and technologies that let them intermix the two or migrate skills or applications from one platform to the other ?

No sooner did I scratch my head than we are awash with fascinating Java / .NET projects. I should scratch more often ! Since I have had a number of questions in this area, I'll outline three new projects so you can see what they are, what they're good for and where they're at.

Project Tango: Java and .NET Web Service Interoperability

Tango is for intermixing Java and .NET (C# or Visual Basic) applications, using web services as the boundary. Its for developers working on one development platform (Java or .NET) to be able to interoperate with applications written for the other.

Tango is very unlike the bitter cola wars, because Sun and Microsoft engineers have been working together to make sure that the Java web services stack and the .NET web services stack interoperate. If you thought reading the ingredients on the side of a can of Coke or Pepsi was scary, check out the ingredients list on the side of a stack of web services. But for the normal, the upshot is that the Tango joint interoperability work ensures that messages produced on one side are comprehensible to the other, that the description of a web service on one side is comprehensible to the other, that one side respects the security guaranteed by the other, and the both sides agree on the quality of service guaranteed by the other. All very reassuring if you're managing inventory in a heterogeneous environment, for example.

The Tango engineers are well underway in Glassfish. Here's how to get it.

Project Semplice: Visual Basic for the Java Platform

Semplice is for developers who like the Visual Basic language and want to develop on the Java platform. If you are one of them, you may be a developer already familiar with Visual Basic, or perhaps you're a Java developers attracted to some of the Visual Basic language features.

(I'm with Miss Jean Brodie on the more sugary Visual Basic language features: "For those who like that sort of thing, that is the sort of thing they like".)

At the heart of this early stage technology, is a Visual Basic to Java-bytecode compiler. No small feat, since many of the language constructs in the CLR do not map cleanly onto the Java VM. Semplice also supports VB6 (bringing joy to the disenchanted ?) which has some very un-Java like constructs. I predict that Semplice is going to be most at home when tightly integrated with its development environment Java Studio Creator, which takes care of much of the heavy lifting, leaving the developer to fill in the corners with short bursts of application logic.

Tor demoed this to great success at JavaOne, and I join him and Herbert in beseeching Jon Kline, one of the other team members, to get a blog :-)

NET2Java: Translating .NET source code into Java source code

NET2Java is a .NET (C# or Visual Basic) source to Java source code translation technology. So this is for .NET developers who have already taken the taste challenge and have decided to move their work to the Java platform.

Developed by yours truly, and also in early stage of development, this technology includes language parsers for VB.NET and C#, together with an extensible library of .NET API call to Java API call translations. The ambitious part of this technology is to complete the library, which will require many hands, and is why I made it available recently. There's a NET2Java plugin for NetBeans that integrates it with the IDE so developers can easily switch IDEs while they're switching platforms.


So there you have it, three projects, three technologies, three different goals.

Oh, and by the way, here's the latest on the cola wars.


Posted by dannycoward ( Jun 01 2006, 01:25:45 PM PDT ) Permalink Comments [5]