技術情報 プラグインシステムを採用する理由
本稿は http://wiki.apache.org/nutch/WhyNutchHasAPluginSystem の日本語訳です。
この文書は 05 Oct 2004 に、 StefanGroschupf によって書かれました。
本稿は nutch プラグインシステムの経緯についての考えを説明します。
プラグインシステムに対して3つの主な主張があります。
拡張性
プラグインによって、単に必要なインターフェイスを実装するだけで、 Nutch の機能を拡張することができるようになります。たとえば、Word文書をパースするのに使われる MSWordParser は Parser インターフェイスを実装しています。
柔軟性
誰でもプラグインが書けるため、うまくいけば将来的にはたくさんのプラグインを選ぶことができるようになります。 その時は、Nutch 管理者は興味のあるプラグインをインストールすることで、特殊なニーズに基づいた専用の検索エンジンを組み立てることが出来るようになるでしょう。 別の要約アルゴリズムを選んだり、PDF ファイルフォーマットを追加したり、FTP プロトコルサポートを削除することが出来るでしょう。
保守性
それぞれの開発者はそれぞれのコンテキストに集中します。 コア開発者は nutch コアエンジンのコードを書いたり、インターフェイス(プラグ)を提供することが出来ます。 プラグイン開発者は、システムが全体でどう動作しているのかを気にすることなく自分のプラグインの機能に集中することができます。プラグとプラグインがどのような種類のデータを交換するのかを知る必要があるだけです。両者がカプセル化されるため、どちらも、相手との統合を処理する必要はありません。これは、コードをよりシンプルに、より維持しやすく、より壊れにくくします。




