はじめてのLiferay─短時間で高度なWebシステム構築

第1回 Liferayとは

この記事を読むのに必要な時間:およそ 5 分

開発ツール

Liferayとは,Hibernate,ehCache,SpringFramework,jQuery,Alloy UI,jFaces,Vaadinなどを使ったフレームワークです図11⁠。これらを直接利用してLiferayの機能を拡張/変更することもできますが,Liferay本体をより容易にアップグレードするために,Liferay本体のソースコードとカスタムコードを区別しておくことが推奨されています。

図11 Liferayのアーキテクチャ

図11 Liferayのアーキテクチャ

ポートレット,フック,レイアウトテンプレート,テーマ,extプラグイン,Webの6種類のプラグインでLiferayの機能を拡張/変更することができます。これらの仕組みは元のLiferayのソースコードを直接修正するのではなく,Liferayの実行環境にプロパティファイル,CSSファイルおよびJavaクラスなどのファイルを追加してLiferayの既存設定及びクラスをオーバライドします。Liferay本体をバージョンアップした場合でも,作成したプラグインを再びインストールするだけで変更を再適用することができます。従来のように修正した箇所を新バージョンのソースコードに反映して,ソースコードをビルドする必要はありません。

Liferayにはこれらのプラグインの開発を支援するためにサービスビルダとLiferay IDEが用意されています。サービスビルダとはXMLファイルに定義されたサービスインターフェースを元にデータベーステーブル作成用のSQLスクリプト,Java API,WSDD,JSON,Hibernate用のJavaクラスを生成するツールです。Javaメソッドを追加したり,サービスインターフェース定義を修正した後に再ビルドすると関連してたファイルが更新されます。

LiferayプラグインはコマンドラインからAntやMavenでも生成することもできますが,環境のセットアップやコーディング,デバッグを考えるとLiferay IDEを利用した方が生産効率が良いです。Liferay IDEはLiferayプラグインの開発を支援するEclipse用のプラグインです。プロジェクトウィザードを使うとコーディングなしでデプロイできる簡単なプラグインを生成することができます図12⁠。また,Eclipseから生成したプラグインをLiferayサーバにデプロイすることができます。

図12 Liferay IDEの画面(例)

図12 Liferay IDEの画面(例)

Liferay社の歴史

Liferayは2000年にBrian Chan氏によって米国で開発されました。最初は通っていた教会のWebサイトをより簡単に作成/保守するために開発されましたが,完成したシステムは一般ユーザにはまだ複雑すぎて採用されませんでした。ただし2004年に教会の仲間と米ロサンゼルスに会社を設立してLiferayポータルの販売を開始しました。当時はまだ開発者が足りないため,オープンソースにして多くの開発者が機能を追加することができるようにしたそうです。

簡単かつ安価にWebサイトを構築して運用することが評価され,今でも急成長しています。2013年1月現在ではロサンゼルス,シカゴ,オハイオ,ブラジル,ドイツ,スペイン,ハンガリー,イギリス,アイルランド,フランス,中国,日本,インドに事務所が設立され累計350人以上の従業員が365日24時間,開発とサポートを行っています。

Liferayの制限事項と対策

Liferay.comサイトからダウンロードできるLiferayおよびLiferay IDEは,残念ながら日本ユーザ向けの対応はされていません。Liferay IDEのメッセージはハードコードされているため,Pleiadesを使っていてもメッセージは翻訳されません。Liferay本体のメッセージは外部パロパティファイルへ切り出されていますが,機械翻訳された日本語メッセージが目立ちます。

日本ユーザ向け対応よりも重大な問題は,Liferay.comサイトからダウンロードできるコミュニティ版にはセキュリティパッチが当てられていないことです。個人や社内のみで利用する場合には問題はないかも知れませんが,インターネットで利用する場合はセキュリティリスクがありますので利用を推奨しません。

これらの問題に対応したのが日本語版Liferay IDEおよび日本語版Liferayです。日本版Liferay IDEのメッセージはプロパティファイルに抽出されているため,Pleiadesプラグインを利用するとメッセージは和訳されます。日本語版Liferayのメッセージは随時改善されています。Liferay社から公開されたセキュリティパッチも当てられています。このような理由から,日本版Liferay IDEおよび日本版Liferayを使うことを推奨しています。

まとめ

Liferayは自由かつ安価に使えるWebフレームワークです。オープンソースのため,自分でも新しい機能を追加したり,既存機能を変更することができます。LiferayにはWebシステムの総保有コスト(TCO)を低減するために効率的にセットアップ,開発,保守ができる仕組みとツールが用意されています。更に,既に多くの企業サイトや政府のサイトでの利用実績が豊富なため,安心して利用することができます。日本でもSCSK株式会社がオープンソースソフトウェアを格付けているOSS Radar Scopeで29位にランキングされて注目されています。

全世界のLiferayコミュニティにはすでに7万6千人以上のユーザが登録され,毎日活発な活動が行われています。無償なコミュニティ版に付いても,コミュニティに問い合わせると回答されることが多いです。日本語版Liferay,および日本語版Liferay IDEもSourceforge.jpに公開されていて随時日本語でも情報が公開されていますのでお試しください。

著者プロフィール

小沢仁(おざわひとし)

株式会社オージス総研

米シカゴ育ち。シカゴ大学で物理を専攻。Oracle XDKを日本に紹介,Seasar英語ページを作成,ESB Muleコミッタとして同ソフトの日本ローカライズ/日本語サイト構築,WaveMakerの日本語ドキュメントを作成,Apache ManifoldCFコミッタ/日本語ページやMySQL対応を貢献。IEEE APSCC 2009などでSOAの研究発表も行っている。

Liferayに興味をもち,Liferay.comフォーラムでサポートしたりWikiページを作成している。Liferay6およびLiferfay IDEの日本語化や日本語資料も作成している。2012年にLiferay社からグローバルレベルでの「Liferay Community Contributor of the Year 2012」を受賞。

現在,米ナッシュビルで開催されるAgile2013カンファレンスでオフショア開発についての発表申請に時間を費やしている。