I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Project Jigsaw - Putting Together the Pieces for Java 7

12.17.2008
| 9457 views |
  • submit to reddit

When I read about Project Jigsaw recently, the resurrection of the plan to modularize the JDK and follow OSGi I was between two minds about it. But the main thing is that this is great news - of course we should try and continue to improve the JDK and reduce it's footprint, as has been done in Java 6 Update 10. Also, it's good news that JSR 277 is deferred for the time being as there was some conflict about how the proposal for versioning, which differed from the OSGI versioning scheme. 

A lot of players in the Java industry outside of Sun have already moved to OSGI, and in a lot of cases, Equinox. IBM, SAP, SpringSource and the BEA parts of Oracle , are using Equinox as the platform for their application servers. As Ian Skerrett pointed out, Sun's Glassfish has adopted OSGi, using Felix and supporting Equinox. Until now, we haven't seen an appreciation from Sun about this trend in the industry.

Peter Kriens has put together an article about the Jigsaw news. It gives a great insight into the history of the various JSR's related to modularity in Java. He sees this as a chance to get it right, noting that Sun's decision to get OSGi as part of Java7 is a step in the right direction.

This whole mess of the last three and a half years is caused by a process in the JCP that allows people to get started with solutions before they negotiated the requirements with the stakeholders.

It's easy to agree with this. And it's encouraging that the effort will be taking place within the OpenJDK, providing some more visibility into what's going on.

Neil Bartlett has also put together a nice article about Project Jigsaw entitled Hope, Fear and Project Jigsaw. It goes through the potential benefits and issues behind this initiative.

The future then is in Sun’s hands, for now the rest of us can only observe where they go with this. There is hope and opportunity in the Jigsaw announcement, but Sun has abused the trust of the OSGi community before so it’s naturally difficult to trust them now. However, I talked to Peter Kriens (the OSGi Alliance’s Director of Technology) and he said his plan is to work with Sun as closely as possible. Let’s call this his Sunshine Policy: by exposing Mark Reinhold and his team to OSGi as much as possible, he hopes to win them over. It could happen. Sunshine didn’t work for Kim Dae-jung, but it might for Peter… most developers I know have been won over by OSGi once they truly understood it.

In general I think it's a good thing - Sun seems to be working with the OSGi community in making sure they are compatiable and we'll all get to see what's going on through the OpenJDK project. OSGi was touted by many as the tech buzzword of 2008 - with more people realising the power of OSGi I think it will continue to be one of the main talking points in the development community. So, what are your thoughts on Project Jigsaw?

Comments

Dimitris Menounos replied on Wed, 2008/12/17 - 9:55am

Sun better play along with OSGi. Their grip on Java is not what it used to be. They may retain tight control of the OpenJDK and the way Java is heading but now I think there are players that have the power to push them aside regardless. Google has been very aggressive lately ;)

Vitaly Mikheev replied on Wed, 2008/12/17 - 3:06pm

My first thought on Project Jigsaw was "later is better than never". I hoped that 6u10 would move things to the right direction but it proved to be a "let's download a downloader" implementation.

Spent years in waiting for the changes, we have finally implemented a JRE modularization at the JVM level. Though it serves only two purposes (reducing download size and disk footprint), we received a very positive feedback from our customers. I believe that a complete solution that, in particular, would include module versioning will be very useful.

However, whether the OSGi mechanisms will be used in Java 7 is still an open issue.

2 James: do you see any other JDK modularization benefits specific to the Eclipse community? Please do not mention the possibility to discard the Swing/AWT modules - flame is guaranteed ;) After all, many apps that have SWT GUI still require AWT because they use components heavily depending on it.

Danno Ferrin replied on Thu, 2008/12/18 - 10:12am

"[n]egotiated the requirements with the stakeholders"?  How do you negotiate with a stakeholder who's publicly expressed opinion is our solution or no solution?  Granted, that may be the pot calling the kettle black but I think it's a bit harsh to lay an intractable problem at the feet of the JCP.  Nothing in the JCP process prevents the requirements gathering needed to get expert group concensus.  The fact that it often doesn't happen doesn't mean it's prohibited.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.