J2EEでポータル構築(1)
Jetspeedで学ぶポータル構築


Jetspeedのインストール

 それでは、Jetspeedをインストールしてみます。Jetspeedのソースおよびびバイナリは、JakartaプロジェクトのWebサイトから入手できますが、今回は日本語版のJetspeedを以下のサイトからダウンロードし使用します。本記事執筆時点で、Jetspeedの最新安定バージョンは1.4b4になりますが、このバージョンをベースにした日本語版を使用します。

 また、Jetspeedの実行には、Java Servlet エンジン/コンテナが必要になりますので、同じくJakartaプロジェクトから提供されているTomcatを使用します。本記事執筆時点で、Tomcatの最新安定バージョンは4.1.27です。また、プラットフォームとしては、Windows2000を前提とします。

Tomcatのインストール

 はじめに、Tomcatをインストールします。Tomcatのインストールはダウンロードしたファイルjakarta-tomcat-4.1.27.exeをダブルクリックしインストーラを起動することでインストールできます。インストール中は、インストールディレクトリ、コンポーネントの選択、ポート番号および管理者のUser Name、Passwordを入力するだけですので、簡単にインストールできると思います。

 インストールが完了したらTomcatの動作を確認しておきます。インストールの際に指定したポート番号にアクセスし、以下の画面が表示されればインストールは取りあえず成功です。

Tomcatトップ画面

Jetspeedのインストール

 Tomcatのインストールが完了したら次にJetspeedをインストールします。インストールといっても、ダウンロードしたファイルを解凍し、その中に含まれるwarファイルをWebアプリケーションとしてTomcatにデプロイするだけです。今回は、TomcatのWebアプリケーションマネージャを使用してWarファイルをデプロイしてみます。

 Tomcatのトップページから、画面右上にある[Tomcat Manager]リンクをクリックし、インストール中に設定したTomcat管理者のUser NameとPasswordを入力してログインします。

Tomcat Webアプリケーションマネージャ

 アプリケーションマネージャの[WARファイルのアップロードインストール]から[参照…]をクリックし、jetspeed.warファイルを選択し、[インストール]を実行します。インストールが完了すると、[アプリケーション]に「jetspeed」がWebアプリケーションとして登録されます。これで、Jetspeedのインストール(デプロイ)が完了したので、JetspeedのTopページにアクセスしてみます(http://localhost:8080/jetspeedにアクセス)。次のような画面が表示されたら、Jetspeedのインストールは成功です。

Jetspeedメインページ

動作確認およびログイン

 この画面は、Anonymousユーザー(認証を受けていないユーザー)用に用意されているポータル画面です。画面内には、はっきりとした区切りはありませんが、薄水色の背景にタイトルが表示され、その下にコンテンツが表示されていると思いますが、これがポートレットになります。ポータルでは、このポートレットを単位とし、アクセスしてきたユーザーに応じた、コンテンツをポータル画面内に表示します。
また、画面内の右上部には、[ユーザー名]、[パスワード]を入力するためのフォームがあります。これは、Jetspeedにユーザーとしてログインするためのフォームです。Jetspeedには、デフォルトで登録されているユーザーがありますので、そのユーザーを使用し登録ユーザーのポータル画面を確認してみます。

デフォルトユーザー
管理ユーザー Admin jetspeed
一般ユーザー Turbine Turbine


ユーザーログイン画面

 認証に成功したら、上記のような画面が表示されます。ユーザーとしてログインした場合の画面では、ポートレットのタイトルバーを含め、anonymousユーザー用の画面とはさまざまな違いがあります。

 まず、画面右上に[カスタマイズ: HTML WML]というリンクが表示されます。このリンクからアクセスできる機能については、今回は細かく説明しませんが、このリンクをクリックすることでポートレットの追加、ポートレットの配置の変更、スキンの変更、区画の追加などのポータル画面のカスタマイズが行えます。

 また、ログインしていない場合には、ポートレットのタイトルバーには、ポートレットのタイトルだけが表示されていたと思いますが、ユーザーとしてログインした場合は、以下のような様々なボタンがポートレットのタイトルバーに表示されます。

 ここでは、ポートレットのタイトルバーに表示される、各ボタンの機能を簡単に紹介します。

アイコン 内容
カスタマイズボタン
印刷用ボタン
情報ボタン
閉じるボタン
最小化ボタン
最大化ボタン

 カスタマイズボタンは、ポートレットに固有の機能をカスタマイズするために使用します。例えば「株式ポートフォリオ」のカスタマイズボタンをクリックした場合、ポートレットに表示する銘柄や表示項目など、このポートレットに固有の情報を変更することができます。

 印刷用ボタンは、印刷用の画面を表示し、情報表示ボタンをクリックした場合は、ポートレットに関する情報が表示されます。また、閉じるボタンは、そのポートレットを画面上から削除し、最大化ボタンをクリックするとそのポートレットだけが表示されます。また、最小化ボタンをクリックした場合は、ポートレットのタイトルバーだけが画面上に表示されます。

「株式ポートフォリオ」カスタマイズ画面

ディレクトリ構成

 次に、Jetspeedのディレクトリ構成について簡単に説明します。以下のような構成になっています。

Jetspeedのディレクトリ構成
  $TOMCAT_HOME\webappes\
                        about
                        apidocs
                        css
                        images
                        javascript
                        jcm
                        logs
                        META-INF\
                        ocs
                        rss
                        search
                        WEB-INF
                                cache
                                classes
                                conf
                                db
                                lib
                                log
                                psml
                                templates
                                tmp
                                xsl
                                web.xml
                        wml
                        xml                         

 ここでは、主に画面レイアウトの設定、ユーザー管理関連、ポートレットの開発などに必要になるディレクトリの概要について簡単に説明します。なお、各ディレクトリ内の設定ファイル等については、必要に応じ次回以降で紹介します。

 主要な設定ファイルなどは、J2EEのWebアプリケーションと同様WEB-INFディレクトリ内に配置されています。

conf
このディレクトリ内にはJetspeedの設定に関する多くの設定情報が含まれています。拡張子がxregのファイルは、ポートレット(Portlets)、マークアップ言語(Media Types)、クライアントブラウザタイプ(Clients)、ポートレットのタイトルなどに使用される文字の色、スタイルシートなどを定義するスキン(Skins)、セキュリティ(Security)など、ポータルに関するさまざまな重要な情報を定義する設定ファイルで、XMLレジストリファイルと呼ばれます。また、同ディレクトリのJetspeedResources.propertiesファイルは、Jetspeedのメインとなる設定ファイルです。例えば、JetspeedResources.propertiesには、services.Registry.refreshRateというパラメータがあります。XMLレジストリファイルの定義は、Jetspeedの起動時に読み込まれメモリ上で保持されますが、このパラメータにより起動後の設定ファイルの再読み込み間隔を制御できます。ただし、このメモリ上に保持された情報は、Jetspeedの停止時にファイルへ反映されますので、ファイルを編集してもメモリ上のレジストリに反映される前にJetspeedを停止すると、変更内容が失われてしまうので注意が必要です。このディレクトリには、そのほかにもJetspeedが内部で使用している、Velocity、Turbine、Torqueの設定ファイルなども含まれています。

db
dbディレクトリには、Jetspeedと一緒に配布されているJavaベースのデータベースHypersonic SQLが含まれています。Jetspeedにおけるデータベースの利用については、次回以降で紹介します。

psml
psmlディレクトリ内には、PSML(Portal Structure Markup Language)と呼ばれる、Jetspeedのプレゼンテーション、レイアウトやコンテンツなどを定義するファイルがあります。PSMLには、Registry markupとSite markupの2つの記述方式があり、Registry markupは、Jetspeedで利用可能なすべてのリソースを定義します。また、Site markupでは、ユーザーに表示されるポートレットなどを定義し、またスクリーン上にポートレットがどのような配置で表示されるかも定義します。psml/userディレクトリ内に、ユーザー名の付いた名前のディレクトリ(admin、turbineなど)がありますが、このディレクトリにユーザー固有のpsmlファイルがあり、ユーザー固有のパーソナライズされたページレイアウト情報が定義されています。

templates
Jetspeedの概観は、レイアウトやナビゲーションテンプレートで制御されていますが、現在JetspeedのLayoutManageerでは、VelocityとJSPの2つが利用可能です。このtemplatesディレクトリには、vm(Velocity)とJSPそれぞれのtemplateが含まれています。また、classesやlibディレクトリには、J2EEのWebアプリケーションと同様に、Javaクラスファイル、Jetspeedに必要なライブラリがそれぞれ含まれています。

 第1回の説明は以上です。次回は、ユーザー管理やアクセス制御等のセキュリティ、ポータル画面のレイアウト等ついて説明する予定です。

2/2  

 INDEX

第1回 Jetspeedで学ぶポータル構築
  Page1
ポータルサービスに必要な機能
Jetspeedはポータルフレームワーク
  Page2
Jetspeedのインストール

Java Solution全記事一覧


Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間