小沢仁
Liferay はポータルです。即ち、ユーザはLiferayからすべてのアプリケーションを利用することができ、統一及び統合した環境を提供するように設計されています。アプリケーションがLiferayの外部で稼働している場合でも、Liferayからアプリケーションの必要な情報をすべて操作できるように連携しできます(例えば、RSSフィードや「ダッシュボード」の機能の一部として)。
これを実現するため、Liferayポータル内でのアプリケーション機能すべては、ポートレットと呼ばれるページ断片から構成されています。ポートレットは、ウェブページの一部分で動作するウェブアプリケーションです。Liferayの基盤はポートレットコンテナであります。コンテナは、ページ毎にポートレットを配置します。この結果、ページに1つ以上のアプリケーションを表示することができ、ユーザは(管理者の裁量によって)使いやすいように配置を並べ替えることができます。
ポートレットアプリケーションは、サーブレットアプリケーションと同様、複数のベンダーが対応しているJava標準です。ポートレットの仕様はJava標準で定められています。JSR-168及びJSR-286に準拠しているポートレットは、これらの標準に準拠しているポートレットコンテナにデプロイすることができます。ポートレットは動的にエンドユーザが配置した箇所にポータルサーバが表示します。
ポータルアプリケーションは、大きく分けて2通りで実現できます:1)アプリケーションの機能を複数の少機能なポートレットに分けて、ページに配置する、2)アプリケーション全体を一つのポートレットで実現する。アプリケーション設計はポートレットの粒度を決めることができます。ポートレット開発者は、ポートレットが提供する機能を実装し、どのようにページじ配置するかはポータルサーバが管理します。
ポートレットの開発は難しくはありません。Webアプリケーション開発の経験があるJava開発者であればJavaの標準ポートレットを開発することはできます。更にLiferayはポートレットの開発を支援するためにプラグインソフトウエア開発キット(Plugins Software Development Kit)を提供しています。プラグインSDKの詳細については『Liferay in Action』(Manning Publications、2011/9/4)を参照してください。Liferay開発の公式本です。
Javaの他にもPHP、Ruby、Groovy、Pythonでポートレットを開発することもできます。以下のサイトからこれらの言語のサンプルポートレットをダウンロードすることができます: http://svn.liferay.com/repos/public/plugins/trunk/portlets/ ユーザ名:guest パスワード:(なし)