What a nut I was. Back when Sun Microsystems and Microsoft announced they would be joining forces on interoperability between Sun, nee Java, and .NET (remember Steve Ballmer [of "Ballmer and Butthead" fame) and Scott McNealy sitting side by side) I thought they meant it.
I pushed the envelope, just for giggles, calling for binary compatibility between Java and .NET/DCOM/COM. What good was mere web services standards interoperability when what the enterprises really needed was a way to make their Windows stuff and the rest of their stuff work well together? I figured the customer has to count in all of this, somehow. I still thank all those who held their hysterics and brickbats in check.
Long before SOA became a tech buzzword, I was thinking it made sense for native low-level messaging between Windows Everywhere and, well ... everywhere else. I even suggested that Microsoft buy BEA Systems and make it the glue between all things .NET/Windows legacy stuff and, well ... everything else.
Now, today, we're part more of the way there. It's still the Microsoft roach motel -- service message calls go in but they can't come out. But there seem to be more ways for the roaches to move around, which may lead to even more openness if the little buggers can chew long enough.
The biggest shift is not that Microsoft is doing away with the roach motel, it's just that they are not so much concerned with the client any more -- they want (and must) preserve the roach motel on the server. And that means Microsoft needs partners, because the relationship between the virtualized hardware means that multi-core, multi-thread hardware (and the interplay between binary-level software and parallelism) counts more than ever.
And so in today's announcements there are strong hints of this shift by Microsoft. Indeed, this latest in the recent Microsoft drumroll of openness and interoperability fobs includes some downright interesting stuff:
- A demonstration and testing area for Windows on Sun x64 systems and storage
- A lab space for customer proofs-of-concept focused on Windows Server 2008 on Sun x64 systems and storage
- The ability to certify Java Platform Enterprise Edition (Java EE) and Java Platform Standard Edition (Java SE), including Sun's Java Runtime Environment software for and with Microsoft operating environments and applications
- Joint work to help enable cross-platform server virtualization, including Windows Hyper-V and Sun xVM software
- Cross-company collaboration to allow Sun Ray thin client software to provide a first-rate virtual desktop for the Windows environment and support Windows technologies.
Much of the "sharing" comes via a Sun/Microsoft Interoperability Center on Microsoft's Redmond, Wash. campus. Yo, engineers without borders: That's good work if you can get it.
It's nice to see the ongoing Java compatibility moves. You may recall that Microsoft paid more than $20 million for the right to screw up Java compatibility long enough to let open source frameworks and stacks become truly useful. Now that was money well spent!
Now, perhaps to reduce the true usefulness of open source frameworks and OSGi runtimes (just in the nick of time), Sun and Microsoft can see eye to eye on Java. It should work with Windows. Fine, no need to quarrel on that account any longer.
Much more interesting here is the cross-platform server virtualization stuff. So the VMs can work on a variety of platforms? Right, stunning achievement. Virtualization can be virtual after all. We all thank you. Let's move on.
And then there's the: "Allow Sun Ray thin client software to provide a first-rate virtual desktop for the Windows environment and support Windows technologies." Whoa. And not even a week after Exchange Server support on the Apple iPhone.
So you'll be able to run a Windows instance (via terminal emulation, no doubt -- hey, and maybe even Java if performance can muster) in the Sun Ray. This does show some shifts. Microsoft wants the client license and the "software plus services" payola, and who cares what the end hardware device is, right?
Between Microsoft's acquiescence that the iPhone is not going away and will soon end up en masse in the enterprise -- and this acknowledgment that thin clients can be a good value after all -- we see Microsoft moving away from the big honking hardware PC mantra, and closer to the "big, honking webtone switch" mantra.
Thin clients can be good for Microsoft, because it can get a CAL for the Windows instance, and for the server license. And, over time, for the ad revenue and per-user subscriptions for the applications and services. That's "software plus services," and not "hardware plus services," folks.
So Sun was right after all. They were right about "write once, run anywhere." They were right about 64-bit servers, 64-bit files, parallelism, Rock, Niagara, utility, grid. They were right about virtualization (but wrong about not buying VMWare). They were right about thin client terminals (though not right about buying Cobalt).
And now Microsoft gets it, too. Trouble is Microsoft can better afford mistakes than Sun. Yet Sun has been able to wait out the uber trends nonetheless, notwithstanding some investor value diminishment. And Microsoft is not being stupid, not being happy with investor value diminishment either.
From this new shift at Microsoft who is left in the dust? All those PC hardware makers, for one. Guess we should expect thin terminal products from HP and Dell any day now. Heck, why not go straight to the mobile Internet device (MID) and leap-frog the thin clients all together?
The shift also mean we're going to see more of Microsoft being a kingmaker in the market for the lower-cost, higher-performance server clouds that support virtualized Windows containers. Sun ought to do pretty well there, and may give Dell, HP and IBM a run on total cost.
Ironic, but just as Java compatibility seems complete, Sun's future may actually be in providing the cloud support for more Windows containers than Java. Funny, eh?