The problem with the referenced eWeek article is the author apparently chose only quotes which try to promote OSGi as the end all be all to everyone and everything and attempt to bash JSR 277 and Sun Microsystems. JSR 291 and 277 are not actually competing. 277 will actually make its way into standard Java, and will be part of the standard runtime used by the SE and EE platforms, where as 291 isn't a new specification. It is another location which points one to OSGi. It isn't a real specification of the JCP, so why is it even an actual JSR? That doesn't seem to make much sense outside of commercial politics.
291 can not even be contributed to by JCP members without first joining the OSGi Alliance (291 means OSGi in this case). Individuals such as you the reader or myself can join the JCP for free. Individuals can pay the OSGi Alliance $3,000 US. This seems strange to me, considering IBM, the main OSGi Alliance member (Eclipse Funding), was the loudest critic of Sun Microsystems open-sourcing Java. I believe the OSGi Alliance needs to take their own advice and move this initiative completely to the JCP. I get Sun used to be an OSGi Alliance member, and I don't really get why this wasn't first run through the JCP, but it needs to be now.
I agree with the sentiment of some, and I have been a proponent myself of modularizing the entire JRE/JDK, that a module system needs to remain a separate entity from the JRE/JDK itself. This allows the module system to be separately upgraded without waiting for a new JDK release. However, we need JVM level support for better partitioning of ClassLoaders and variable and static visibility. This allows better optimizations and other language and technology hooks which can have greater benefits than a single layer approach. Both ideas have their place.
A good point of view is expressed by Glyn Normington (JSR 291 lead and JSR 277 member) in this blog post with regard to both JSRs. If you are reading through an RSS reader you may need to use:
If OSGi were to fall under the JCP process I could get more behind it. Currently it is one more thing to be dependent which is not as easy to contribute to or influence by small startups or individuals. I would feel the same way if the JCP process is changed to be more closed in the future.
Java EE (and Docker) Quickstart - 1. Create a Thin WAR Java EE project. Name it "micro". 2. Create a Dockerfile in project folder with the following content: ...
3 days ago