Nutch's plugin system is a poor man's version of OSGi. OSGi has lots of pain and suffering, but if modularity is what you are looking for, it is good. I've had to modify any number of libraries to make them OSGi friendly. OSGi hurts a lot, and the adoption of it has plenty of roadblocks, hair pulling, and some foul language in my experience. However, if you're looking to have a dynamic system, with highly modular components and lots of flexibility, I haven't seen anything better.
We've cooked a couple of modules systems inhouse that are roughly like Nutch's. In the end, all of them were great 50% solutions, but solving 100% of the problem was too hard. IMHO, I'd use either the Springframework (I suppose any DI framework will work, Spring is just the one I am most familiar with) or OSGi (and potentially a DSL), if I'm looking to build a flexible system out of a pile of code. Depending on how hard I want to work, how important specific types of modularity are to me is how I make the choice. I had some code that would migrate Nutch over to using OSGi, but there are several problems: 1. It is a real hassle to bootstrap into an OSGi environment from a non-OSGi environment (especially as Nutch/Hadoop usage job/jar files). 2. Nutch uses a lot of libraries that looked to be a hassle to track down the source and turn them into proper OSGi bundles. 3. Resolving all of the native library usage. OSGi is also missing good tooling outside of Eclipse. Or at least, it is missing good documentation of the tooling. The Pax tools seem really cool, but it sure seems like black magic in terms of how to learn how to use it all. I really wish Hadoop had an OSGi friendly base. The nice part about OSGi is that you can make it work inside and outside of an OSGi environment. Getting Hadoop to that state looked like more of a project than I had time for, especially considering how many branches, variants, and moving parts that Hadoop has involved (too many out of tree forks are used, and considered canonical, hopefully the current move afoot by Yahoo to migrate back to the Apache mainline will resolve the problem). Kirby 2011/5/31 jeffersonzhou <[email protected]>: > Thanks bupo. > > I read that nutch plugin framework is similar to Eclipse. What are the > differences between the two? I am thinking of building an open framework for > my existing applications. Do you think the nutch framework is good? > > > > -----Original Message----- > From: Bupo Jung [mailto:[email protected]] > Sent: Wednesday, June 01, 2011 10:46 AM > To: [email protected] > Subject: Re: nutch plugin framework > > nutch wiki > http://wiki.apache.org/nutch/PluginCentral > <http://wiki.apache.org/nutch/PluginCentral>or if you can read chinese: > http://www.ibm.com/developerworks/cn/java/j-lo-nutchplugin/?S_TACT=105AGX52& > S_CMP=tec-csdn > > 在 2011年6月1日 上午10:32,jeffersonzhou <[email protected]>写道: > >> Hi, could somebody provide detailed information about the plugin > framework, >> i.e. what are the files (java, xml, etc.) related, how they are connected, >> etc.? >> >> >> >> Thanks >> >> > > > -- > > Yizhong Zhuang > Beijing University of Posts and Telecommunications > Email:[email protected] > Myblog:www.mikkoo.info > >

