compatibility v. portabilityAhh, platform talk from Jonathan:
It brings me to another blog entry. What exactly is compatibility, well last time I was in the Sun software organization, I remember that compatibility was passing 4-10K tests that would certify the app server of choice was J2EE compatibile with the latest spec. At this time 1.3. I would imagine that with the introduction of the JAX technologies, many new tests have come in to play, in version 1.4. And now with JEE5, there is simplicity for the developer, but considering the growing size of the Sun app server footprint, the complexity of the app server has increased, which all leads me to believe that the number of tests has grown quite some. Maybe 20K tests?
There is some indication that an app server vendor needs to adhere to the SDK on all 20,000 tests in order to be JEE5 compatible. Is it any wonder that there are many less app server licensees, since we launched J2EE 1.2 in June 2000:
It comes down to a simple equation for Sun:
Compatibility = a licensing fee
The fact that Oracle, IBM, and BEA can claim compatibility with J2EE is funny, at best. They are truly proporietary architectures. Ever since the launch of J2EE, the most inventive new tool for application developers has been the AVK or the Application Verification Kit. Now I know this a new set of tests, but it is much more relevant than the 20K tests of app server compatibility.
For what is achieved with the AVK is 'Portability'. Compatibility is nothing, it means nothing but assurance that Sun feels good about the vendor. Portability, however is something altogether different.
I am going to take this moment as an opportunity for the Glassfish team to get more integrated with the AVK for all apps that come along. They should not be just able to run on Glassfish builds, but also run 100% on the AVK in order to get joint marketing. Think about this, please, Eduardo.
Back to portability. JEE app developers: do not let the app server vendors fool you and think that compaibility is sufficient for your purposes. Portability is where Java Economics works (aside form the comments at the end of this link):
So when Jonathan speaks of compatibility, he is thinking of the $20M that he values (for what reason?) from licensees, but he is not thinking about the portability initiaitive that app vendors need. Think about it Sun, you are still acting like an insular company, that need not build business, when the tools to build for Java's growth is already available in the form of the AVK. Think if all Java houses were using the AVK and there was an open marketplace of Java apps. That seems to me like that would help the goal of selling more Java solutions and more Sun gear to run those Java solutions and apps...