For an alternate approach to modularization in Spring that aims for something similar (but different) than using OSGi, have a look at the Impala framework: http://code.google.com/p/impala/ SpringSource's abandonment of dm Server makes this even more interesting.
Whoa! First off, Spring in Action 3 will not cover Spring-DM or OSGi...I had to draw the line somewhere and I decided to leave that topic out (along with other topics like Spring Batch and Spring Integration). Had I tried to put everything in, the book would never be finished and would probably be thousands of pages long...so I had to be picky about what is included and what is not.
Ulf: I'll reserve my opinion of Impala for another time. But let me set the record straight: SpringSource DID NOT (I REPEAT, DID NOT) abandon Spring-DM or dm Server. Please do not spread that FUD here. SpringSource personnel are STILL VERY INVOLVED in the development of Spring-DM and dm Server. SpringSource contributed Spring-DM to the Eclipse Gemini project as a strategic move to advance the cause of enterprise OSGi. There's plenty of synergy between SpringSource's work with OSGi and some of the stuff that Eclipse and Oracle have been doing, so they're teaming up, under the Equinox banner, to advance OSGi to the next level. But this does not mean that SpringSource has abandoned those projects...that is far from the truth.
Craig Walls wrote:But this does not mean that SpringSource has abandoned those projects...that is far from the truth.
I agree that wasn't a good choice of words. But I think it's fair to say that they wouldn't have spun it off if they believed that it was still a strategic asset that they could make into something more successful on their own. Which, as the blog post explaining the move stated, is more of a comment on enterprise software in general (and OSGi's role in it) than of dm Server in particular.
I'll reserve my opinion of Impala for another time.
I'd be curious to hear those opinions, though, offline if you prefer (no need to spare me, I'm not involved in the project :-)