Robin Bloor and I had an interesting discussion about Microsoft versus Google. This whole discussion brought back memories for me of the time when Netscape was intent on destroying Microsoft and taking over dominance on the desktop. I remember very vividly the conversations in those days. I spent time with the Netscape executives trying to convince them that taking on Microsoft directly was a really bad idea. Then in 1997 I spent two days with Bill Gates and Steve Balmer at a small analyst meeting off the coast of Seattle. During one of the dinner meetings I asked Steve whether Microsoft would have been able to attack Netscape so directly if Netscape had been more subtle about its ambitions. Steve’s response was interesting. He first stated that Microsoft was of course planning to enter the browser market all along. But at the same time he admitted that they would have had to have been a lot more cautious had Netscape taken a different competitive position.
So, now Google is suddenly at the crossroads of its journey towards world domination. I agree with Robin that Google is not likely to repeat many of the Netscape mistakes. But at the same time, I think it would be wrong to underestimate Microsoft. From an architectural perspective, Microsoft has been making progress. A few weeks ago we got an early peek at the Windows Workflow Foundation (WWF). In essence, Microsoft is putting workflow into the platform itself. Over time, this single workflow engine will be standard across Microsoft’s technology. I also liked the fact that within this development environment, a business developer can start from the business workflow and use this same flow as the foundation for development. There is a two-way connection between higher level visual development and lower level coding. I was very impressed with the WWF team. In essence, Microsoft is taking workflow concepts and driving it down into the platform. There will be a single workflow engine across all of Microsoft’s offerings
Speaking of Microsoft, I thought it was quite interesting that Microsoft has announced an alliance with JBoss. JBoss is doing an interesting job leveraging an open source middleware stack through a community process. Revenue comes from support fees. Because of the community process, JBoss has only 150 employees. So, why would Microsoft form a relationship with a company that breaks the Microsoft architectural model? My view is that Microsoft has no choice because customers are beginning their move to a service oriented architecture (SOA). I see the beginning of an era where customers are increasingly demanding their vendors support standards. While Microsoft hasn’t been using the SOA term in its marketing, I suspect that in the background Microsoft is formulating its SOA strategy based on .NET but with lots of nods to interoperability with the real world. You might remember that when everyone was focused on application servers, Microsoft never called its Internet Integration Services an app server. However, if it sounds like a duck… it just might be. So, don’t assume that Microsoft isn’t moving forward.
So, that leads us back to Google. Now didn’t they just establish an alliance with Sun Microsystems? And what does that mean? I think that Sun is trying to ride Google’s momentum from a user experience perspective. Ironically, Google accomplished what Sun had always dreamed of—providing a challenge to Microsoft on the desktop. Sun had tried to make Unix the desktop standard and then tried to make StarOffice a viable alternative to Microsoft Office. It is not a shock that Google and Sun would find common ground—Eric Schmidt, a founder of Sun, is also chairman of Google; both companies are keen to challenge Microsoft’s dominance. I liked David Kirkpatrick’s recent column in Fortune Magazine on the topic. Unlike Netscape, Google really does seem to have a world domination plan in place. The web has provided Google with a platform much like Windows offered Microsoft a platform. Will the market still like Google when it starts flexing its muscles?
I wanted to end this column with an observation around my favorite topic: SOA. I am seeing definitions all over the map. Many definitions are focused on technical architecture (buses and web services interfaces). I’d like to give credit to IBM for providing one of the clearest definitions of SOA I have seen. In IBM’s recent WebSphere SOA announcement, IBM provided these definitions:
- Service repeatability is a business task that performs a business function such as checking customer credit or opening a new account.
- Service Orientation is a way of integrating your business as a set of linked services.
While I am pleased with the amount of focus on SOA in the market and the number of customers who are moving to adopt this approach, I worry that there are not enough good roadmaps to show customers how to safely and effectively move to SOA. Some customers even worry that this might be client/server all over again. I don’t think this will happen. But there are dangers if the infrastructure vendors don’t provide a common platform for interoperability.