JavaOne 2006

JavaOne 2006 happened this past week in San Francisco. Microsoft, like last year, had a booth, and we talked mostly about interoperability.

Why is Microsoft at JavaOne?

The number one question we got at the booth was, "Microsoft! What are you doing here?" We were ready for this question, having been at JavaOne last year.

The answer is: interoperability. Microsoftee Kirill Gavrylyuk was on the main stage during the Sun keynote, performing a demonstration to show interop between Sun's web services stack and the Windows Comunication Foundation (WCF), part of Windows. But web services was not the only interop mechanism we showed at the conference. We also showed SQL Server 2005 and the new JDBC Driver. Shelby Goerlitz, the Microsoft Program Manager for our JDBC driver - was also at the show, talking about JDBC. I finally got to meet Shelby in person which is nice after all this time. Mohammad Akif was there talking about SOA. And of course, all of us were talking about a bunch of other interop possibilities, too.

Our customers want interop, so that's what we're trying to deliver.

Of Competition and Cooperation

One of the people who asked me the "what are you doing here?" question was from IBM. I turned it on him: what are you doing here? I offered the opinion that IBM is the most pure competitor to Sun I know of. Sun makes money selling servers, workstations, and storage. They try to make money selling software. IBM has offerings in all of those areas. IBM has got to be Sun's #1 competitor. "Well sure," said my IBM compadre, "but we do Java!" True, quite so.

I guess you could also say IBM competes with Sun on JVMs. (I also learned at the show that the new IBM J9 JVM is a clean-room implementation - totally IBM's engineering. The session IBM gave on the J9 implementation was really cool.)

IBM of course has it all over Sun on app servers, and development tools too. And if I am not mistaken, IBM also sells storage, in direct competition with Sun's StorageTek stuff. If you drew a line, and the left hand end was "pure competitor to Sun" and the right hand side was "pure partner to Sun", you'd have to put IBM the furthest out on the competitor side of any company, including Microsoft.

But the one thing IBM and Sun agree on, is Java. So IBM competes with Sun on some things, like servers, and agrees with Sun on some things (not to say that IBM cooperates with Sun on Java. It's more of a detente, from my view).

This is the way of the world, these days. Big companies cannot act as pure competitors or pure partners. And the relationship between Microsoft and Sun is no different, of course. Each company is to big to consider itself a "purist". This is why Sun is making investments in Java 6.0 ("Mustang") to make it run and look even better on Windows, including Vista.

Other Questions

Many of the other questions were about interop - "I have System A and B, how can I connect them?" There is no, one, right answer to this kind of question. We had lots of good conversations with visitors to the booth about what was possible, about options to explore.

One of the questions was about integrating a Java-based system, running in WebSphere, connecting to Documentum, with an ASP.NET "front-end". This person was using web services, but was not happy with the performance - sending large binary files as a byte array in a web service call, between ASP.NET and WebSphere, was costing him time and cpu in marshalling and unmarshalling. What other options are there?

We talked about a shared filesystem - that wasn't possible because this was in a DMZ situation and there was no possibility to share a filesystem across these two domains. What about MTOM? This would work, and it is a more efficient mechanism for sending binary attachments. Alas, he was on a back-rev of .NET and a backrev of WebSphere App Server, neither of which supported MTOM. So MTOM was out.

In the end we decided a possibility would be to connect directly from ASP.NET to the Documentum store. The ASP.NET front end could connect to the WebSphere-based logic using web services and retrieve a document ID. Then the ASP.NET app could use that ID to directly retrieve the document from Documentum. He'd get a fast, binary optimized data transport, and he'd avoid the marshalling and unmarshalling cost.

I don't know how this will work out, but it seemd like a good thing to try.

This was typical of the discussions we had at the booth all week.

The Big News?

The big news at JavaOne? Hmmm, I don't know. Last year the big news was, "Java EE 5 is coming." This year, the message was "Java EE 5 is here." But we all saw it coming, so nothing really surprising there. What else happened?

It seemed the big buzz, what drew the most attention, was AJAX. Any session with AJAX in the session title was totally packed. Full. Closed. Any hands-on-lab dealing with AJAX: same thing. And tons of people came to the Microsoft booth, to ask about AJAX support.

We pointed them to atlas.asp.net, and also showed off a few demos, like the ones Tim Heuer put up at asyncpostback.com. People seemed to be pretty excited to try it all out.

That's all for now.