‘Jetspeed’ カテゴリーのアーカイブ

Jetspeed 2 で FDS を使う

2008 年 9 月 22 日 月曜日

Fedora Directory Server(FDS) 自体の設定は別途参照してもらうとして、
Jetspeed 2 + FDS 環境を構築するためには、

http://d.hatena.ne.jp/shinsuke_sugaya/20070828/1188256229
http://d.hatena.ne.jp/shinsuke_sugaya/20070904/1188885521

にある手順で設定すれば、OK です。
あとは、普通にユーザーやグループなど作った後に

ユーザーの追加方法
1. FDS の手順にしたがいユーザーを People に追加する
2. グループ一覧から対象グループの Advanced Properties を開く
3. Object class に jetspeed-2-user の値を加える
4. 属性の追加で j2-role を追加し、値に user を入力する
4. OK で保存する

グループの追加方法 (ロールも同じ感じ)
1. FDS の手順にしたがいユーザーを Group に追加する
2. グループ一覧から対象グループの Advanced Properties を開く
3. Object class に jetspeed-2-group の値を加える
4. j2-classname に PALポータル上のグループ名を記述(User ID も同様に記述)
5. OK で保存する

とすれば、LDAP のユーザーで Jetspeed2 や PALポータルに
ログインすることができます。

Jetspeed 2 完全攻略ガイド: はじめに

2008 年 8 月 22 日 金曜日

はじめに

Jetspeed 2 は、Apache Software Foundation から提供されているオープンソースのポータルサーバーですが、このポータルサーバーとは何でしょうか?また、なぜ、そのようなものが必要なのでしょうか?まず、ポータルサーバーが何かということを考えると、いろいろな散在する情報を一カ所にまとめ、その情報を提供・管理できるサーバーと言えるのではないでしょうか。そして、その情報を必要とする人がそこに集まってくることになると思います。今日では、各社からポータルサーバーといわれるものがいろいろと提供されています。また、その機能をサービスとして、提供しているところもあります。たとえば、Yahoo などが企業ポータルとしての機能 を提供しています。

次に、なぜそのようなものが必要なのかを考えてみましょう。たとえば、仕事で情報が散在していると感じたことはないでしょうか?ある情報はあるファイルシステム上のファイルに保存されていたり、またある別の情報は、どこかのWeb上にあったりと・・・。こうなると、必要な情報は、管理している人だけしかわからず、情報を得るためにはいちいち、担当者に確認しないと得ることはできません。これでは、面倒ではです。ですので、ある一カ所に情報をまとめることで、わからない情報があったときには、そこにいけば手に入るというのが理想的です。そうしておけば、たとえば、新人が来たときでも、とりあえず、そこのURLを教えてあげれば、いろいろと情報を得ることができ、情報の共有といった点からも効率的に行うことができるでしょう。つまり、その情報がまとまってある場所への入り口(ポータル)と言えるのではないでしょうか。

Jetspeed とは

Jetspeed は、Java ベースの企業情報ポータル (EIP: Enterprise Information Portal) の実装です。企業情報ポータルとは、企業内の様々なシステム上に保存されている情報を一元管理することで、ユーザーの画面 (たとえば、ブラウザ上) にまとめて表示したり、そこから情報検索を実行することができるシステムです。EIP を導入することによって、企業システムを横断的に統合され、今まで散在していた情報にすばやくアクセスすることができるので、社員個々の業務の効率化や、意志決定権を持つ経営層から部門や現場レベルでの情報共有が可能になります。Jetspeed は、企業情報ポータルを機能をオープンソースで提供し、各情報の表示・処理はポートレットで実行されます。

ポートレットは、ポータルサーバー上で様々なサービスやアプリケーションを処理する構成要素です。いろいろな企業からポータルサーバーがリリースされていますが、各社でその仕様は統一されていませんでした。その状況を改善するために定義されたのが JSR 168 になります。この標準に準拠していれば、ポータルサーバーに依存することなく、提供されたポートレットを配備・実行することができます。

Jetspeed は、現在、バージョン 1.6 と 2.1.3 (2008/08 時点) の2種類がリリースされています。バージョン 1.x 系は、ポータルサーバーとして利用するための機能は一通り実装され、その実装自体は Turbine ベースで作成されています。そのため、機能を拡張しようとした場合には、Turbine のイベント処理モデルの制約も受けることになります。配備できるポートレットについては、基本的には、独自仕様に基づくポートレットを使用することになります。ここで、「基本的に」といったのは、最近では、JSR 168 のポートレットを利用するために、Fusion という機能が追加されているためです。Fusion は、Jetspeed 2 の JSR 168 のポートレットを実行するための機能を取り出して、Jetspeed 1 で利用できるようにしたものです。Fusion 機能を利用したい場合は、ビルドするときにプロパティで Fusion を利用するかどうか指定する必要があるため、その機能が付加されているバイナリを利用する必要があります。Fusion により、Jetspeed 1 でも、JSR 168 のポートレットが利用できるようになりましたが、現在では、Jetspeed の開発者は、Jetspeed 2 の開発に焦点を合わせています。そのため、今後、Jetspeed 1 に対して、機能拡張される可能性はないと言えます。ですので、新規に導入をお考えの方は、Jetspeed 2 を利用してください。

バージョン 2 系は、標準の JSR 168 に準拠したポートレットを配備することができるポータルサーバーであり、Turbine などに依存することなく、0 から見直して実装し直されています。各機能については、コンポーネント化されているため、機能を拡張したり、独自のコンポーネントを作成して導入したい場合などが容易にできます。コンポーネントの管理は、Spring を利用しています。ですので、より細かいコンポーネントの管理をしたい場合は、Spring の知識が必要になってくるでしょう。このように機能をコンポーネント化されたことにより、様々な状況にも柔軟に対応することが可能になりました。

JSR 168 準拠のポートレットの処理するために、Jetspeed 2 では、Pluto を利用しています。Pluto は、JSR 168 の Java ポートレットの仕様に関するリファレンス実装です。Pluto は、様々なオープンソースのポータルサーバーで利用されています。

Jetspeed 2 で格納されているデータは、ほとんどがデータベースを用いて管理されています。標準では、Derby を利用しています(実運用では Derby は利用することはないと思いますが、Oracle や MySQL など様々なデータベースをサポートしています)。データベースへのアクセス自体は、もちろん SQL を直接記述することはなく、OJB を用いています(補足1)。ですので、データベースへのデータの流れを知りたい場合は、OJB に関する知識が必要になるでしょう。

補足1
なぜ、Hibernate などを使わずに OJB を使うのでしょうか?それは、OJB は Apache ライセンスで提供されているためです。Apache では、LGPL などを利用できないそうです。私は法律家ではないので、これくらいにしておきます・・・