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
>
>

Reply via email to