この記事には複数の問題があります。改善
やノートページでの議論にご協力ください。Liferay
開発元Liferay, Inc
最新版7.4 (7.4 GA3)[1] / 2021年8月26日 (2年前) (2021-08-26)[1]
リポジトリ
github.com/liferay/liferay-portal
プログラミング
言語Java
対応OSクロスプラットフォーム
サポート状況Active
種別企業ポータル、コンテンツ管理フレームワーク、コンテンツ管理システム、コミュニティ
ライセンス
CE版:Liferay 5以前はMIT、Liferay 6以降はLGPL License [1] EE版:商用[2]
公式サイト
https://www.liferay.comhttps://www.liferay.co.jp
テンプレートを表示
Liferay(ライフレイ)とは、短時間でWebシステムを構築するためのオープンソースのフレームワーク及びそのフレームワークで開発されたポートレット(機能部品)の名称。または、前述ソフトウエアの有償版サプスクリプションを提供している会社の名称[3]。無償のコミュニティ版のフレームワーク及びポートレットのセキュリティパッチ、バッグフィックスなどはコミュニティによって管理/改善されている。
Javaで開発された当ソフトウェアはJBoss, Apache Tomcat[4], WebSphereなど多くのアプリケーションサーバ上で動く。
従来のWebシステムはWebページ単位で開発されていた。それと比較してポートレットによりWebシステムは1Webページ及びWebページ間で共通機能を1機能部品とする。コンテンツ管理システム (CMS)、SNS、グループウェア用のポートレットが提供されているが文書管理、アンケート、スケジュール管理など90以上の機能部品(ポートレット)が既に実装されている。これらのポートレット及び新機能を開発するためのツールとしてLiferay IDEやService Builderも用意されているため、従来のJava Servlet、Ruby on Rails、PHPよりも安価かつ短期で柔軟なWebシステムの開発ができる。世界中で350,000以上の導入実績がある。
Liferayをカスタマイズして高度なWebサイトを構築することもできるが、IT技術に詳しくないWebデザイナーでも、@ファイルをダウンロードして、Aダウンロードしたファイルを解凍して、B実行するだけで自分のWebシステムを立ち上げることができる。Webブラウザに表示されるHTMLエディタを使ってページを作成することも出来る他にも、ユーザ管理、Webページ管理、セキュリティ設定などもWebブラウザから行うことができる。
提供者によって企業ポータル、CMS、SNS、文書管理システムなどのように用途毎にポートレットをバンドルして配布されている。 Liferayは、2000年にBrian Chanにより非利益団体が安価にWebシステムを構築/運営できるソフトウエアとして米国で開発された。2004年にLiferay, Inc. が米ロサンゼルスに会社が設立された後に欧州、APAC、南米なので支社が設立された。 近年ではクラウド上での利用が増え、ポータルというより、クラウド上の開発フレームワークとして利用され始めている。 クラウド上のフレームワークとしてliferayを利用するメリットとしては以下が挙げられている: Liferayには基本的に3つのレイヤーがある:@業務処理を実装したポートレット、Aポートレットが動作する基盤、B基盤を動作するWebサーバ及びデータベース。 Liferayはプラグインフレームワークである。プラグインフレームワークの場合は、エンドユーザが要求している機能をプラグイン単位に分割する。プラグインとEJBやWeb Serviceとの大きな違いは、エンドユーザがEJBやWeb Serviceの機能を利用する場合は更にプログラムが必要なことだ。プラグインの場合は表示、ビジネスロジック、エンティティインターフェース定義を3要素を含めることができるため、プラグインをインストールするとエンドユーザがその機能を使うことができる。 アプリケーションサーバを停止しなくても、プラグインは随時にインストール/更新/削除することができるため、アジャイルScrum開発手法でシステムを継続的に開発することができる。その場合は、ユーザストリーがプラグインに該当する。 Liferayは保守性を向上するため、コミュニティから提供される基盤とユーザ毎に変更されるファイルを区別できるように設計されている。ユーザ差分はプラグインと言うWARで作成できる。コミュニティから新しいリリースが提供された場合は、このWARファイルを新しいリリースに展開(デプロイ)すればよい。 大きく分けて、プラグインは新規に機能を追加するポートレットと、Liferay本体の機能を上書き(クラス及びプロパティのオーバーライド)するテーマ、テンプレート、フック、extプラグインに分けることができる: Liferayフレームワーク基盤はSOAとして成功しているAmazonのSOA基盤に類似している。フレームワークで使うすべてのエンティティをサービス化している。Liferay上のアプリケーションはこれらのサービスを組み合わせて作成する。なお、これらのサービスはXML定義ファイル (service.xml) から生成される。service.xmlからJavaクラス、WSDL、JSONの他にもデータベース用のSQL文も生成される。SQL文はポートレットをLiferayにデプロイされた時に自動的に実行され、データベースにテーブルが生成される。 それらエンティティサービスを組み合わせて業務サービスを作成する。業務単位でポートレットを設計しておくと、ポートレットを入れ替えることで、業務を変えることができる。従来のコンポーネント化やweb serviceによるSOAはIT処理単位で業務処を行えるようにするには別のソフトウエアを必要としていた。そのため業務処理を変更した場合は数ヵ所の変更が必要とされていたが、ポートレットフレームワークの場合は、各業務で必要とされる機能がポートレット毎に分割できるため、業務ロジックが変更されたとしても、業務処理を行うのに利用される、Webページに配置されているポートレットを差し替えることで対応できるような構成が可能となる。
概要
定期的にバージョンアップされて新技術が取りいられているため、数年後に開発したWebシステムをバージョンアップする場合でも継続的にLiferayを利用することができる。
活発に活動しているliferayオープンソースコミュニティが存在しているため、企業がプロジェクトから脱退してもプロジェクトとして継続して続けることができる。
機能をポートレットと言うサービスコンポーネント単位で開発して利用/置き換えができる。
業務アプリケーションの他に、ページスタイル(テーマ)、レイアウト、機能変更、バッグフィックスなどもWebブラウザからインストールできる(WARファイルにしてデプロイできる)。
ポートレットはJavaの他にもRuby (JRuby)[5]、PHP、Python (Jython)を使って作成することもできる。また、ポートレットフレームワークとして、liferay MVCの他にSpring MVC、JSF 2.0、Vaadinなどを使うこともできる。
ユーザ管理、組織管理、セキュリティ(ロールによる管理)、Webページ構成管理なども標準で含まれている。また、Webブラウザから設定が行える。
マルチテナント対応である。1つのliferayで複数の異なるドメイン名 (URL) 及びドメイン名毎に管理者を設けることができる。
WebブラウザからHTMLエディタを使ってwebページの作成/編集ができる。ITに詳しくないユーザでもwebページを作成/編集することができる。
アーキテクチャ
開発
プラグイン
ポートレット:新規に機能を追加する場合に使う。JSR168 ポートレット
テーマ:ページの外観の変更(CSS及びvelocity)
テンプレート:ポートレットの配置(例:2列に表示)
フック:JSPファイル、プロパティファイル、イベント処理の変更
extプラグイン:Liferayフレームワーク本体のすべての機能を変更できる。ただし、インストール/アンインストールにはサーバの再起動が必要である。
サービス指向アーキテクチャ
ツール
Size:27 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef