So, Ben Renaud, deputy CTO of BEA, says in a recent article that Microsoft needs to work better on API standards vs. protocol standards, because "The real level where integration happens is at the programming level".
One view is that if this is BEA official position, they've missed the cluetrain. Clemens and Don share this view. Note that Ben Renaud apparently now claims its a misinterpretation, but I'd still like to talk briefly about this point.
I think this deputy CTO really may just have a case of misinterpretation or foot-in-mouth by confusing "integration" with "portability". BEA and IBM are building a lot of stuff above the standard J2EE stack, so this kind of ideological struggle was bound to occur.
J2EE is interesting because it lowers the cost of portability between platform vendors. It also arguably lowers the costs of training and education for server-side developers. This is a similar approach to SQL and relational databases - you really need people that know the database, but it doesn't need to be everyone because of the SQL standard.
On the other hand, the Microsoft of the past, present, and future, is set on convincing developers that Windows is the best environment to write software, and then keeping you there. And they're good at it. The MAJOR change in Microsoft's approach since .NET was released was that they no longer are playing the integration / interoperability lock-in game, as far as one can reasonably tell.
What makes Microsoft's view so appealing is related to what Don said in his entry: APIs are the real lock-in. In the end, if you choose J2EE, you're locked into the Java language and Sun/JCP's vision of the world. With Microsoft's approach, you're locked into their car, but you have a really good view and can roll the windows down. With J2EE's approach, you can hop between cars, but you're still stuck in the same parking lot.
So perhaps this article really shows that BEA has some political ties it's struggling with. Indigo is a radical re-think of how to best implement a distributed system. J2EE 1.5 arguably needs a similar re-think, particularly at the EJB level. The JCP members, like BEA, have the opportunity to do something good, or to serve the entrenched interests.
On the other hand, browsing around dev2dev and talking to BEA techies, I really do think they get the benefits of protocol-based interoperability. It's just a matter for their public faces to be clearer about it.