J2EEでポータル構築(1)
Jetspeedで学ぶポータル構築
五十嵐由
2003/11/11
一昨年来、EIP(Enterprise Information Portal)という言葉が注目されています。多くのベンダがポータル構築のための製品をリリースしたことや、EIPが多くのビジネス誌で取り上げられたこともあり、今年はEIPの導入を本格的に検討したり、実際に導入する企業が増えました。
また、JCP(Java Community Process)で仕様策定が進められてきた「Portlet API」(JSR168)の仕様がいよいよリリースされます(現在は、Final Approval Ballotの状態)。
このような要因でビジネス的、また技術的にEIPを取り巻く環境が非常に盛り上がりを見せています。そこで、この連載ではJakarta Projectが提供するポータルフレームワーク「Jetspeed」を用いポータルサービスの構築方法について解説します。
注:JSR168を取り入れた製品は各社年末から順次リリースするようです。例えば、SunはSun ONE Portal Server6.2からサポートするようです。ポータルサービスに必要な機能 |
企業がポータルサービスを導入する際に期待する「業務の効率化」、その「業務の効率化」を実現するために必要なポータルサービスの要素として次のものが挙げられるでしょう。
さまざまなコンテンツへの容易なアクセス ナレッジマネジメント 複数システムの結合 |
これらのポータルサービスに必要な要素の中でも、既存システムとの連携は、連携させるだけで簡単に業務効率を上げることができ、最も効果を上げやすいといえます。開発においても、アプリケーション側に連携するための新たなプログラミングを施す必要がなく、ROI(投資対効果)を重視する企業にとって非常に有効といえます。
このような要素を満たすためには、次の技術的機能が必要になります。
コンテンツの集約 パーソナライズ&セキュリティ アプリケーションの連携 シングルサインオン |
今回紹介するJetspeedは、上記の中の(1)コンテンツの集約、(2)パーソナライズ&セキュリティの機能を提供するポータルフレームワークです。しかし、残念ながら(3)のアプリケーションの連携(バックエンドアプリケーションへのコネクタ機能)や(4)シングルサインオン機能は提供していません(よって、本連載ではこれらの機能については触れません)。後述するようにJetspeedの基盤技術がJavaのため、各アプリケーションベンダから提供されているモジュールも数多く、それらを用いることでアプリケーションの連携を行ったり、シングルサインオンを実現することが可能でしょう。
Jetspeedはポータルフレームワーク |
JetspeedはJakarta Projectが提供するポータルフレームワークです。前述したように、ポータル製品は多くのベンダからリリースされていますが、それらは高機能で非常に高価です。それに対し、Jetspeedは無償で利用できるオープンソースです。簡易な企業情報ポータルサービスを実現したい場合や学習で使用したい場合に有効に利用できるでしょう。では、Jetspeedが提供する機能について説明しましょう。
■Jetspeedが提供する機能
(1)コンテンツの集約
Jetspeedは、Java、XMLといった業界標準の要素技術を利用しているフレームワークであるため、さまざまなネットワークリソース(アプリケーション、データベースなど)への容易なアクセスを可能とします。そのためJetspeedは、複数リソースからの情報を簡単に取得可能なセントラルハブとして機能します。また、JetspeedはWebブラウザやWAP-PHONEなどのさまざまなデバイスに対してサービスを提供することが可能です。Jetspeedがサポートするコンテンツにはさまざまなものがあります。(詳細は本連載の第2回で紹介します)。例えば、XMLやRSS、それにHTML、加えてSMTPからのコンテンツをセントラルハブであるJetspeedが吸収し、XSLなどを用いてコントロールした後、ユーザーへポータル画面として提供することが可能です。さらにJetspeedは、テンプレート機能としてCocoon、Webmacro、Velocityといったコンテンツ発行用フレームワークをサポートしており、これらを用いることでより容易にコンテンツの整形を行うことも可能になっています。
Cocoon Webmacro Velocity |
(2)パーソナライズ&セキュリティ
Jetspeedはパーソナライズ機能を持ち、ユーザーごとのポータルページを提供します。それらのページは各ユーザーがログインした後に、自分の表示したいポートレットを選択することで、独自のポータルページを作成できます。ユーザーは各ポートレットの配置位置や表示サイズを指定することが可能です。また、ページにはタブが存在し複数ページを一度にブラウザ上に表示することも可能です。
これらのページへのログイン認証メカニズムもJetspeedが提供します。ページへのログイン認証や加えて各コンテンツのアクセス制限(ユーザーごと、グループ、ロール)を管理する機能も提供します。
■Jetspeedの提供形態
Jetspeedは、Jakartaプロジェクトから提供されているWebアプリケーションフレームワーク「Turbine」上で動作するJ2EE Webアプリケーションと関連するライブラリ(Jar)なので、J2EE準拠のWebコンテナ上であればどこでも動作します。
注:本連載ではWebコンテナとしてTomcatを使用します。
JakartaプロジェクトでWebアプリケーションフレームワークといえばStrutsが有名ですが、Turbineも同様のWebアプリケーションフレームワークになります。Strutsとの違いは、前述したCocoon、Webmacro、Velocityといったコンテンツ発行用フレームワークをサポートしていることです。
さて、ここまでポータルサービスおよびJetspeedの概要について説明してきました。皆さんもポータルサービスを実現するための技術要件と、その際にJetspeedが有効なソフトウェアであることがお分かりいただけたでしょう。ここからはJetspeedを用いたポータルサービスの構築実践に話を進めます。
1/2 |
INDEX |
||
第1回 Jetspeedで学ぶポータル構築 | ||
Page1 ポータルサービスに必要な機能 Jetspeedはポータルフレームワーク |
||
Page2 Jetspeedのインストール |
Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|