JavaOne 2006 happened this past week in San
Francisco. Microsoft, like last year, had a booth, and we talked
mostly about interoperability.
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.
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.
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,
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
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.