Kirk has written an interesting blog post about OSGi for the Enterprise. He may have done a good job at finding a controversial point to pursue, but unfortunately does not get it right. It is true there is currently no migration path, and tooling is an issue, but neither is to the point of enterprise adoption.
I'm currently sitting in the OSGi tools BOF at EclipseCon, and I can strongly validate the lack of tooling as a big issue. Kirk is pretty much on the money with his technical analysis, but the conclusion he draws is incorrect. This is a common trap people fall into when comparing a new, disruptive technology against an established, mature technology.
I remember clearly in the late '90s when most people in the TP monitor community said that Java application servers would never be used in the enterprise. Before that the conventional wisdom in the database world was that relational database would never be fast enough for update intensive applications.
The question is not how OSGi compares to Java EE application servers, but how it meets enterprise application requirements in its own right. If you compare a new, disruptive technology directly to a mature, established technology you cannot possibly reach the right conclusion. This phenomenon well documented in the "Innovator's Dilemma" for example. It is not the technology that's important but the requirements it's designed to address.
The enterprise is not a monolithic environment. One size does not fit all and many application requirements are better met by OSGi than Java EE, and many applications are less demanding than others. Kirk does a good job understanding and presenting OSGi technology and its benefits, but he does not ask the right questions about how well its features and functions match application requirements. The fact that something exists in the enterprise does not necessarily or predictably indicate what is needed next.
The issue is not whether OSGi can replace Java EE application servers but whether enterprise applications, and which ones, can benefit from using OSGi. Furthermore the enterprise development process is often a long term effort, and although features may be missing today for using OSGi in some applications, many of these things will be solved soon.
The people in this room complaining strongly about the lack of tooling are equally passionate about the benefits of OSGi, and are intent on using it to solve problems that application servers can't, and won't. They would not be here if they thought it wasn't ready.
2 months ago