Liferay
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/02 06:32 UTC 版)
アーキテクチャ
Liferayには基本的に3つのレイヤーがある:①業務処理を実装したポートレット、②ポートレットが動作する基盤、③基盤を動作するWebサーバ及びデータベース。
開発
Liferayはプラグインフレームワークである。プラグインフレームワークの場合は、エンドユーザが要求している機能をプラグイン単位に分割する。プラグインとEJBやWeb Serviceとの大きな違いは、エンドユーザがEJBやWeb Serviceの機能を利用する場合は更にプログラムが必要なことだ。プラグインの場合は表示、ビジネスロジック、エンティティインターフェース定義を3要素を含めることができるため、プラグインをインストールするとエンドユーザがその機能を使うことができる。
アプリケーションサーバを停止しなくても、プラグインは随時にインストール/更新/削除することができるため、アジャイルScrum開発手法でシステムを継続的に開発することができる。その場合は、ユーザストリーがプラグインに該当する。
プラグイン
Liferayは保守性を向上するため、コミュニティから提供される基盤とユーザ毎に変更されるファイルを区別できるように設計されている。ユーザ差分はプラグインと言うWARで作成できる。コミュニティから新しいリリースが提供された場合は、このWARファイルを新しいリリースに展開(デプロイ)すればよい。
大きく分けて、プラグインは新規に機能を追加するポートレットと、Liferay本体の機能を上書き(クラス及びプロパティのオーバーライド)するテーマ、テンプレート、フック、extプラグインに分けることができる:
- ポートレット:新規に機能を追加する場合に使う。JSR168 ポートレット/JSR286に準拠した機能及びアプリケーション。JSP、WEB-INF、Javaクラス、CSSファイルなどを含むことができる。Liferayフレームワークに追加/削除(デプロイ/アンデプロイ)できる最小の機能単位である。
- テーマ:ページの外観の変更(CSS及びvelocity)
- テンプレート:ポートレットの配置(例:2列に表示)
- フック:JSPファイル、プロパティファイル、イベント処理の変更
- extプラグイン:Liferayフレームワーク本体のすべての機能を変更できる。ただし、インストール/アンインストールにはサーバの再起動が必要である。
サービス指向アーキテクチャ
Liferayフレームワーク基盤はSOAとして成功しているAmazonのSOA基盤に類似している。フレームワークで使うすべてのエンティティをサービス化している。Liferay上のアプリケーションはこれらのサービスを組み合わせて作成する。なお、これらのサービスはXML定義ファイル (service.xml) から生成される。service.xmlからJavaクラス、WSDL、JSONの他にもデータベース用のSQL文も生成される。SQL文はポートレットをLiferayにデプロイされた時に自動的に実行され、データベースにテーブルが生成される。
それらエンティティサービスを組み合わせて業務サービスを作成する。業務単位でポートレットを設計しておくと、ポートレットを入れ替えることで、業務を変えることができる。従来のコンポーネント化やweb serviceによるSOAはIT処理単位で業務処を行えるようにするには別のソフトウエアを必要としていた。そのため業務処理を変更した場合は数ヵ所の変更が必要とされていたが、ポートレットフレームワークの場合は、各業務で必要とされる機能がポートレット毎に分割できるため、業務ロジックが変更されたとしても、業務処理を行うのに利用される、Webページに配置されているポートレットを差し替えることで対応できるような構成が可能となる。
- ^ a b https://liferay.dev/blogs/-/blogs/liferay-portal-7-4-ga3-and-liferay-commerce-4-0-ga3-release
- ^ “Liferay 6.0 CE vs. EE licensing question”. liferay.com. 2012年1月4日閲覧。
- ^ “有償版はソースコードからビルドできない制限がある”. liferay.com. 2013年3月4日閲覧。
- ^ “Liferay Portal”. liferay.com. 2010年9月4日閲覧。
- ^ “Liferay PHP Portlets”. liferay.com. 2010年9月4日閲覧。
- ^ “Radio Liferay Episode 15: Gregory Amerson”. liferay.com. 2010年9月4日閲覧。
- ^ “会社概要”. 2021年9月27日閲覧。
- ^ “OpenStandia”. liferay.com. 2012年7月6日閲覧。
- ^ “ライフレイは、11回連続でガートナー社 デジタルエクスペリエンスプラットフォーム分野のマジック・クアドラントにおいて、リーダーの1社として位置付けされました”. 2021年9月27日閲覧。
- ^ “ライフレイは、社内ポータルプラットフォーム分野の「強力なパフォーマー」と評価されました”. 2021年9月27日閲覧。
- Liferayのページへのリンク