N2 Portalの資料

N2 Portal も問い合わせをいただいたり、大きな案件の話が進んでいたりと、この状況に大変感謝しております~。そんでもって、昨日もプリセールス的な活動したりと(前の会社では、プリセールスするようなところにいなかったから、ある意味新鮮)。現在、説明するのに使っている資料は以下のような感じ。基本的にポータルなので、ウェブアプリ作るのに、ユーザー管理・ログインまわりとか作るの面倒だな~、とか感じている方は利用すれば、楽をできるかと。興味がありましたら、Jetspeed2/PALポータルなどなど含めて、ご利用ください~。

http://www.n2sm.net/products/n2portal-presentation.html

オープンソース点から見るN2広場

オープンソースという観点からN2広場を考えます。N2広場ではどんどんオープンソースプロダクトを採用していきたいと考えています。っで、まずは、主に、

  • Jetspeed2/PALポータルって、使われているの(使えるの)?
  • Teeda(Seasar2)って、本当にポートレットで使えるの?

というのに、答えていければと考えてます。

まず、Jetspeed2/PALポータルですが、N2広場はそれらベースになっています。素のJetspeed2からこういうポータルを作るということも考えられますが、j2-adminでは管理できるユーザー数に限界があるので、PALポータルにある pal-admin でないと厳しいかと。基本的に、N2広場で利用しているソースコードは、Jetspeed2/PALポータルにコミットしてオープンになっているので、N2広場のようなパブリックなポータルを作ろうと思えば、PALポータルをベースに作成可能です。

次に、Teeda(Seasar2)に関してですが、現在、動かしている 3 つのサービス(グッジョブ、DesIT、Outatime)は、Teedaベース作りました(そんなに複雑なアプリではないですけど)。普通に JSR 168 のポートレットとして、Jetspeed2/PALポータル上で動いてます。Teeda で作成できるおかけで、さっくり作ることができました 🙂 さすがに、素のポートレット API で作ると、大変ですし・・・。そんな感じで、ポートレットとして、Teedaアプリも作れるわけなのです(ただ、JavaScriptを使うようなコンポーネントについては、id問題があるので検討が必要)。

以上のような感じで、N2広場を通しても、オープンソースの開発に貢献していければ、と思います。

ポートレットフィルタの依存jar

Maven2 でポートレットフィルタを pom.xml に書いておくと、いらんものがいろいろとついてくる。というわけで、以下のようにするのが良い。あとで、Apache の方のやつは直しておこう。

<dependency>
<groupId>org.apache.portals.bridges</groupId>
<artifactId>portals-bridges-portletfilter</artifactId>
<version>1.0.3</version>
<exclusions>
<exclusion>
<groupId>logkit</groupId>
<artifactId>logkit</artifactId>
</exclusion>
<exclusion>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>

Maven2だと、欲しくないjarまでどれかで依存していて、次々ひっぱてっくる。使いたいライブラリの pom.xml がきちんと書いてあればいいけど、それを期待するのは無理っぽい。まぁ、それ以外のもライブラリ的には依存しているけど、こっちはその機能を使わないときなども、こっちとしてはいらんものが入ることになるし。そんな感じで、いらんものを見つけたときには、–debug をつけて、ビルドして、誰がそのjarを含めているかチェックすれば良いのかね(もっと良い方法がある気もするけど、知りません・・・)。