オープンソース企業情報ポータルフレームワーク Liferay6 のご紹介 2011 年 03 月 17 日 By: H.Ozawa http://sourceforge.jp/projects/oss-ja-jpn/
目次 Liferay とは Liferay の特徴 Liferay6 の新機能 Liferay とポータルのメリット 基本的な操作 デモ ポータル マスター登録 コンテンツの作成 / 管理 アンケート機能 - アンケート機能 コンテンツアクセスの管理 Liferay6 の入手とセットアップ システム構成 Liferay の導入事例 コミュニティ版 ( 無償 ) とエンタープライズ版の比較 ご参考 2
Liferay とは 3
Liferay の会社情報 2000 年 2004 年 2006 年 2007 年 2008 年 2009 年 2010 年 非利益団体用に Chief Software Architect Brian Chan が Liferay Portal を開発 米国に Liferay, Inc. を設立 独 Liferay GmbH を設立 中国 Dalianにアジア事業所を設立スペインにLiferay SLを設立 ICEsoft Technologiesとパートナー契約してAjax 用部品を開発 SunがLiferay Portalを元にして開発したGlassFish Web Space Serverとして販売開始 JQuery UIのリード技術者にJavaScriptライブラリを開発したいただく IT Mill Ltd. と技術提携して Vaadim ユーザインターフェースライブブラを開発 日本代理店と契約 - 教育やコンサルティングサービスを開始 4
Liferay の概要 Liferay とは 世界で一番利用されているオープンソースのエンタープライズ Web プラットフォームです 企業の大小を問わず活用することができます 既に世界中で 250,000 以上の導入実績があります Liferay は Web ポータル市場では 草分け的存在です 既に高い完成度を誇っていますが 新技術を逸早く取れ 顧客にニーズを応えるために継続的な開発 教育 サポートを提供しています ダウンロード ファイル解凍 実行して使い始めることができます 短期間で小さく初めて 必要に応じて後から機能を追加することが可能です Liferay6 からは 短期間及び低価格でビジネスソリューションを構築できるエンタープライズフレームワークとして利用することもできます Liferay6 で提供されている各レイヤーの API を利用してアプリケーションを構築することが可能です 5
Liferay の主な使い方 情報ポータル Liferay はこの 4 つの利用方法を組み合わせてることが可能です ソーシャルネットワーク コミュニティを通じて 企業 / グループ内の人同士がコミュニケーションをとりながらつながりの 輪 を広げ 間接的に作業効率をあげることを可能にします インターネット イントラネットに分散したアプリケーション及び情報を一元的に表示することを可能にし ユーザの作業効率を高められるようにします 最新の情報を発信することができます コンテンツ管理 インターネット 企業 グループなどに分散した文書 画像などコンテンツを体系的に一元保存 / 管理し 情報資産の共有化 / 有効活用を促進します インターネット イントラネットを介して 共同作業を円滑に行えるようにします 共同作業 6
情報ポータル 企業の様々な既存システムからの情報を統合して 利用者の Web ブラウザ上に表示したり 企業内の情報を検索できるようにします 企業内の情報通達 共有を目的とします マルチテナントが可能 1Liferay サーバに複数の URL ドメインを設けることが可能 ドメイン毎に管理者を設けられます ( 企業 コミュニティ ロール ユーザ管理はドメイン毎の管理者が行えます ) バックアップなど全ポータルサーバの作業は 主ドメインの管理者が行えます ドメイン毎に画面表示のスタイル ( テーマ ) を設定することができます GUI 操作で Web ページを作成しることができます 企業 コミュニティ毎にコンテンツを作成することができます コンテンツを公開する前にワークフローによる承認を必要にできます 利用例 企業ポータル( 社内の情報通達 製品説明 イベント情報など ) ニュースポータル( 新聞情報 株式情報など ) 政府ポータル( 法律 税金の納品 住民票など ) 7
情報ポータルとは インターネット / イントラネットに分散した情報を一元的に表示することを可能にし ユーザの作業効率を高められるようにします Web ページ 日経平均 RSS ニュース Google 地図 8
情報ポータルとは 複数のシステム / サービスからの情報を一元的に Web ブラウザに表示することができます ユーザ サーバ 社内 経理 人事 システム開発プロジェクト. 社外 HRM CRM 営業 顧客.. HTML 9
Liferay ポータルページの例 Liferay では 社外 社内 プロジェクト ( コミュニティ ) 毎 個人毎に異なるページを作成することができます 社内ページ 社内 SNS 勤怠管理 コミュニティで共有するページ Wiki 旅費清算 利用の個人の作業ページ メモ お知らせ 共有カレンダー メール 10
コンテンツ管理 文書 画像など様々なファイルを Web ブラウザから管理したり 検索 / 表示することができるようにします 文書や他ファイルの共有することにより情報を有効活動して作業効率を上げることを目的とします 企業 組織 コミュニティ グループ 個人によって複雑な組織体系にも対応することができ ロールによってアクセス管理を行うことができます 知識ベースポートレットを使って組織及びコミュニティを横断して構造化したドキュメントを共有することができます jbpm や Activiti を使ってコンテンツの承認フローを定義することができます Alfresco のようなコンテンツ管理システムと連動して より複雑なコンテンツ管理を行うことも可能です MS Office の文書を共有することができます Sharepoint プロトコルをサポートしているため Liferay から MS Office のドキュメントを開いたり 保存することができます 利用例 文書管理 稟議書申請 ( 承認フロー ) 11
共同作業 プロジェクトなどチームメンバーでスケジュール プロジェクト情報 ドキュメント ファイル等を Web ブラウザ上で共有することができるようにします スケジュールを共有したり 共有でドキュメントを作成したりできるようにすることで 円滑にプロジェクトが進められるようにします 企業体制を表す企業の他に 企業体制を横断するコミュニティを作成することができます コミュニティ毎に管理者とサイトを設けることができます コミュニティ毎にスケジュール管理や文書の共有を行うことができます コミュニティ内部のページと外部コミュニティのページを設けることができます ユーザは複数のコミュニティに所属することができます ユーザ毎に作業領域を持つこともできます 利用例 スケジュール管理 報告書の管理 電話帳 ドキュメント作成 遠隔拠点間でのブレインストーミング ( チャット Wall 機能 ) 12
ソーシャルネットワーク 社外の利用者が相互に知り合うことができる 場 を提供するサービスです 利用者を集客することを目的としてます 利用者が個人ページを持つことができます 利用者が GUI 操作で自分のページの構成や表示する内容を設定することができます 管理者が利用者が利用できるポートレット ( 情報 ) を選定することができます Facebook igoogle gmail 等 多く利用されているポートレットは既に用意されています 利用者が高いブログ Wiki チャット等の機能も標準で装備されています 利用者のアクティビティを追跡して ルール (Drools) によって表示する内容などを変えることができます ( 利用者が利用している時の好みに合った広告を発信することができます ) 既に多くの部品 ( ポートレット ) が用意されているため 短時間でサービスを開始することができます 利用例 ブログ Wiki チャット 13
個人ページの例 ページに貼り付けることが可能な部品 ( ポートレット ) 14
Liferay の特徴 米 Gartner 社の Magic Quadrant for Horizontal ポータル製品のリーダに選定 Liferay ポータルが利用される理由 : オープンソースである 安価である ( コミュニティ版は無償で利用できる ) 機能追加 / 変更が可能である 使いやすい - Web ブラウザから GUI 操作 ( ドラッグ & ドロップ操作など ) で画面を構成できる 豊富な機能 - 標準で 90 以上のポートレットと開発部品 豊富な導入実績 - 250,000 以上の導入実績 マルチテナント対応 - サーバ管理画面から 仮想インスタンスを作成が可能 15
Liferay の特徴 16
Liferay の特徴 短時間で稼動することが可能 ( ファイルのダウンロード 解凍 起動 ) GUI 操作 国際化 ( 複数言語の対応 ) 機能の追加 / 変更が可能 多くの Web アプリケーションサーバに対応 オープンソースサーバ Tomcat JBoss Jetty Resin GlassFish 商用サーバ WebSphere WebLogic Oracle Application Server 17
Liferay の特徴 OS Linux(CentOS RedHat Enterprise Server, SUSE, Ubuntu) Unix(AIX HP-UX Mac OS X Solaris) MS Windows データベース IBM DB2 MySQL Oracle PostgresSQL SQL Server Sybase ウラウド EC2 VMWare 18
Liferay の特徴 準拠している標準 JSR 286 (Portlet 2.0) JSF 314 JSR 170 JBI WSRP2.0 CMIS1.0 Ajax OpenSearch icalendar/microformat WebDAV Web Service WSRP JSON REST RMI Hessian Burlap 利用している技術 J2EE/JEE Spring/AOP Alloy UI(YUI3) jquery( プラグイン ) Struts/Tiles Hibernate ehcache jgroup Lucene jbpm/activiti/kaleo Tapestry Velocity 19
Liferay の特徴 利用できる技術 スクリプト言語 JavaScript PHP(Quercus) Ruby(JRuby) Python(Jython) 認証管理 LDAP Oracle Access Manager Novell Identity Manager Sun Identity Manager/Open SSO SiteMinder Tivoli 他オープンソフトウエア JackRabbit(CMIS) Alfresco JasperReport( 帳票 ) Pentaho(BI) Terracotta() Intalio(BPM) SSO CAS Siteminder JAAS JOSSO LDAP Netegrity Microsoft Exchange 20
Liferay 6 の特徴 Liferay6 は より安全 より大規模 より便利になるように改善されました 21
Liferay 6 の特徴 より安全 セキュリティの強化 ( 例 :Windows Vista/7 対応の Digest 認証 ) LIferay に何時も最新のセキュリティパッチ / バッグフィックスなどを容易に適用ができます Liferay6 からは Liferay 本体を修正せずに機能を変更 / 追加できる新インターフェース アーキテクチャが提供されています ユーザプログラムと Liferay 本体が完全に分離しているため Liferay 本体のみのバージョンアップを容易に行うことができます 22
Liferay 6 の特徴 大規模システム向けの対応 性能の大幅な改善 新認証ロジックにより Liferay5 よりも短時間でページ認証を行う より多くのユーザに対応 データベースシャーディング Liferay のインスタンス毎にデータベースを設けることが可能 23
Liferay 6 の特徴 Liferay6 はより便利にカスタマイズできるようになりました エンドユーザ Alloy UI - Yahoo UIを基にしたAjax 対応のUIフレームワーク 日本語ユーザ対応 メッセージの日本語化 日本ユーザ向けにページ項目を変更 日本ユーザ対応の外部ソフトとの連携 開発者 Liferayを柔軟に拡張 / 変更 Liferay IDE - Eclipseプラグイン システム連携 より便利 CMISのサポート - Alfrescoとより容易に接続が可能ワークフロー機能の追加 - コンテンツの公開ワークフロー 24
画面項目の定義 ドラッグ & ドロップ操作で画面項目を指定します 25
Liferay の標準なページに項目の追加 定義した項目が Liferay の標準のページに追加されます 26
省略形 URI ページを特性するのに不要な情報を省略することが可能です http://eos.ogis-ri.co.jp/web/guest/files?p_p_id=20&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&p_p_col_id=column- 1&p_p_col_count=1&_20_struts_action=%2Fdocument_library%2Fview&_20_folderId=24381 http://eos.ogis-ri.co.jp/web/guest/files/-/fdocument_library/24381 Ruby on Rails の URL ルーティングを使って省略 URI でページを指定することが可能です 27
Liferay 6 の拡張性 / 変更容易性 Liferay6 は 5 つの方法で機能を拡張 変更することができます : 1 2 3 ポートレット ポートレットとは Webページの部品です 標準に提供されている他に JSR168/JSR286に準拠しているポートレットを利用したり 同梱されているサンプルをカスタマイズしたり 新規に開発することもできます テーマ Liferayポータルの概観を操作の定義ファイル (CSS/ Velocity) を編集 / 作成できます テンプレート ポートレットがページにどのように配置されてるのかの定義を編集 / 作成できます Hot Deploy 可 *1 注 *1: サーバを停止しなくても変更を有効にできます 28
Liferay 6 の拡張性 / 変更容易性 4 フック 以下の機能を変更 / 追加できます : 1 2 3 4 Liferayページを変更できます -JSPファイルを上書き( オーバーライド ) できます起動 終了 ログイン ログアウト等のイベントの動作を変更できます -Actionの拡張とオーバーライドポータル機能を変更 / 追加できます -ポータル定義ファイルportal.propertiesの拡張とオーバーライドデータベース接続機能を変更できます -Spring IOC bean referenceを使って データベース呼び出しメソッドの注入 Hot Deploy 可 *1 注 *1: サーバを停止しなくても変更を有効にできます 29
Liferay 6 の拡張性 / 変更容易性 5 Ext プラグイン (war ファイル ) すべての機能を変更することができます 例 : モデルの変更 Liferay6 のプログラム (WAR ファイル ) Liferay6 のプログラムを上書きします ユーザ ハンドル名メールアドレス姓名誕生日 ユーザ ハンドル名メールアドレス姓姓 ( フリガナ ) 名名 ( フリガナ ) 誕生日 Ext プラグイン (WAR ファイル ) 項目を追加 30
Liferay のカスタマイズ開発 Liferay 本体のソースコードを修正せず Liferay 内部の設定及びクラスなどを上書き ( オーバライド ) するファイル及びクラスを外部に作成する コミュニティ版を利用した場合でも 外部で開発した部分のソースコードは公開する必要はない Liferay テーマ定義ファイル オーバライド テーマ定義ファイル プロパティファイル (portal.properties) JSP ファイル モデルクラス (Java) 実装クラス (Java) オーバライドオーバライドオーバライドオーバライド Hook プロパティファイル (portal.properties) JSP ファイル モデルクラス (Java) ext plugin 実装クラス (Java) 31
Liferay6 のアーキテクチャ Liferay ページ AUI(YUI Yahoo User Interface) Struts Spring Hibernate データベース オープンソースである Liferay6 は ページなどをカスタムできるように設計されています 標準のページ / ポートレットなどの殆どの機能は カスタマイズ可能です Taglib 認証基盤 (LDAP) ( Activiti,jBPM,Kaleo ) ワークフロー ( JasperReport ) レポート... 普通の Web アプリケーションを作成する場合でも Liferay6 の基盤を使った方が短時間かつ安価でシステムを構築することができます 32
Liferay6 の主な標準機能 ( ポートレット ) 項番項目概要備考 コンテンツ 1 Webコンテンツ ワープロ感覚でWebコンテンツを作成 / 編集 / 表示するためのポートレットです 2 Web コンテンツ一覧作成された Web コンテンツの一覧を表示します 3 Web コンテンツ検索作成された Web コンテンツを検索できます 4 XSLコンテンツ XML 文書を他形式 ( 例 :HTML) に変換して表示 することができます 5 アンケート登録されたアンケートに回答できます 6 カテゴリナビゲーションカテゴリでナビゲーションができます 7 タグクラウド タグを使ってナビゲーションする機能です タグ の参照頻度によってタグが表示される大きさが 変わります 8 タグナビゲーションタグを使ってのナビゲーションができます 9 データ配信 複数のWebコンテンツを表示することができま す 10 ドキュメントライブラリ Jackrabbit(JSR-170 準拠 ) を使ってのコンテン ツ管理機能です 33
Liferay6 の主な標準機能 ( ポートレット ) 項番項目概要備考 コンテンツ 11 ドキュメントライブラリ一覧選択されたフォルダ内の文書一覧を表示します 12 ネステッドポートレット 他ポートレットをドラッグ & ドロップして複雑な構 成を作ることができるポートレットです 13 パンクズリスト親ページの一覧を表示します 14 最近利用したファイル最近 参照したファイル一覧を表示します コラボレーション 15 メール 通常メール及びGMailが使えます 事前にGMailのア カウントが必要 16 メール (Vaadin) GMailが使えます 事前にGMailのア カウントが必要 17 Wiki Webブラウザを利用して 数人で文書を作成す ることができます 18 カレンダー イベントなどをカレンダーに登録して共有できま す 19 掲示板 メンバーがメッセージを投稿できる電子会議室 機能を提供します 34
Liferay6 の主な標準機能 ( ポートレット ) 項番項目概要備考 コラボレーション 20 最近のブログ 最近 ブログに登録された目次一覧を表示しま す ニュース 21 RSS RSS を表示します 22 お知らせ ポータル コミュニティ ロールのユーザにメッ セージを配信します 23 警告 ポータル コミュニティ ロールのユーザに警告 を配信します コミュニティ 24 ブックマーク URL を共有できます 25 ページのお勧め度お勧めしたいページを共有します 26 ページのコメントページのコメントを表示します 27 ページのランクページが参照された順位一覧を表示します 28 参加しているコミュニティ ユーザが参加されているコミュニティ一覧を検索 / 表示します 35
Liferay6 の主な標準機能 ( ポートレット ) 項番項目概要備考 コミュニティ 29 名簿ユーザ 組織 グループを検索できます 30 招待 他ユーザに一括でページへの招待メールを送 信します ツール 31 Webフォーム Webブラウザから入力された内容をデータベー スの保存します ( 例では Webサイト評価 フォームが表示されます ) 32 サインインログインしているユーザを表示します 33 ネットワークユーティリティ DNS 検索及び Whois コマンドを実行します 34 パスワード生成パスワードを生成します 35 プラグイン一覧利用可能なプラグイン一覧を表示します 36 メモ短いメモを記述 / 表示できます 37 単位変換単位を変更します ( 例 : インチからメートル ) 38 検索コミュニティ内のコンテンツを検索します 36
Liferay6 の主な標準機能 ( ポートレット ) 項番 項目 概要 備考 ツール 39 翻訳 翻訳します ( 例 : 英語から日本語 ) 40 辞書 英語辞書です サンプル 41 iframe 外部 Webサイトをポートレット内に表示します 42 Webプロキシ 43 Hello Velocity Velocityでポートレットを作成する例題です 44 Hello World Javaでポートレットを作成する例題です 37
Liferay6 の主な機能 ( 管理機能 ) 項番項目概要備考 個人作業 1 アカウント情報 ログインしているユーザのアカウント情報の編 集 2 自分のページ ログインしているユーザの個人ページの作成 / 編集 3 ワークフロータスク割り当てられているワークフロータスク 4 申請したコンテンツ ユーザが作成して 承認を申請したコンテンツ の管理 コミュニティ管理 5 ページ公開 / 個人ページ階層の管理 6 Web コンテンツ Web コンテンツの作成 / 編集 / 削除 / 管理 7 ドキュメントライブラリフォルダ及び文書ファイルの管理 8 画像ライブラリ画像ファイルの管理 9 ブックマークブックマーク用のフォルダ /URL の管理 10 カレンダー共有カレンダーの管理 38
Liferay6 の主な機能 ( 管理機能 ) 項番項目概要備考 コミュニティ管理 11 掲示板カテゴリ スレッドの管理 12 ブログブログの管理 13 Wiki Wiki の管理 14 アンケートアンケート質問の作成と管理 15 プラグインプラグインの管理 16 タグタグの管理 17 カテゴリカテゴリの管理 18 ワークフロー構成 コンテンツで利用するワークフロープロセスの管 理 19 ソーシャルエクイティ Wiki 掲示板 ブログの制限設定 39
Liferay6 の主な機能 ( 管理機能 ) 項番項目概要備考 ポータル ( 組織 コミュニティ毎 ) 20 ユーザユーザ情報の管理 21 組織組織情報の管理 22 コミュニティコミュニティの管理 23 ユーザグループユーザグループの管理 24 ロールロールの管理 25 パスワードポリシーパスワードポリシーの設定 26 設定 認証 メールサーバ ユーザのデフォルト設定 などの設定 27 カスタム項目コントロールパネルのページに項目の追加 28 監視 セッションの監視 デフォルトでは無 効に設定 29 プラグイン設定 インストールされているプラグインの設定 ( 有効 / 無効 権限設定など ) 40
Liferay6 の主な機能 ( 管理機能 ) 項番項目概要備考 ポータル ( 組織 コミュニティ毎 ) 30 ページテンプレートページテンプレートの設定 31 サイトテンプレートサイトテンプレートの設定 32 ワークフロー利用可能なワークフロープロセスの管理 33 OpenSocial ガジェットの管理 34 WSRP Web サービスの設定 サーバ 35 サーバ管理 サーバの管理 ( キャッシュ ログ サーバプロパ ティ データ移行 インポート / エクスポート メール サーバのシャットダウンなど ) 36 ポータルインスタンスポータルインスタンスの管理 37 プラグインのインストールプラグインのインストール 38 アップデート管理プラグインのアップデート 41
Liferay6 の新機能 42
ワークフロー機能 Activiti jbpm3/jbpm4 Kaleo に対応 コンテンツの承認を個人及びロールに割り当てる事ができます 申請したコンテンツの状態を表示する事ができます 43
Alloy UI(Ajax HTML5 CSS3 対応 ) デモ :http://alloy.liferay.com/demos.php Alloy UI 要素を使って Liferay 上のページを新規作成 / 編集することができます オートコンプリート機能 44
国際化対応 多言語 / 国ようのコンテンツの作成が可能 複数言語でコンテンツを作成する場合は コンテンツの言語を指定する 45
GUI の保守ページ ログ出力レベル データ移動 メールサーバの設定やポートレットのシャットダウンをページから行うことができます サーバ管理 インスタンス管理 プラグインのインストール アップデータがページから行えます メモリ利用量はグラフィカル表示で確認できます キャッシュの消化などの操作を行えることができます 46
開発ツール Liferay IDE (Eclipse プラグイン ) 47
CMIS 1.0 対応 Alfresco との連携 Liferay6 Liferay のドキュメントライブラリに文書を登録すると Alfresco に登録されます Alfresco 48
データベース シャーディング Liferay の仮想ホスト インスタンス毎にデータベースを指定することが可能です Liferay ポータル 多くの仮想ホスト インスタンスを運営するクラウド用のポータルとしても利用が可能です 仮想ホスト (ozawa.com) 仮想ホスト (hitoshi.com) 仮想ホスト (liferay.co.jp) データベース データベース データベース 49
WebDAV 対応 ファイルエクスプローラと Web ブラウザの内容が同期とれます 複数のファイルをファイルエクスプローラからドラッグ & ドロップ操作で Liferay の文書ライブラリに登録することができます 50
MS Office のドキュメント管理サーバーとして利用 Liferay の文書ライブラリを MS Office のドキュメント管理サーバーとして使うことができます 51
掲示板とメーリングリストと連携 メーリングリストと掲示板を連携することができます メーリングリストに送信された内容が掲示板と投稿されます 52
その他 監査セッションを監視します チーム 組織及びコミュニティ メンバー内でのロール ( 一般のロールはポータル範囲で有効 ) 53
Liferay とポータルのメリット 54
Liferay によるオープンソースのメリット すべてのソースコードを入手することが可能なため より細かく機能を修正することが可能です 既に多くの基本的な機能が実装済みなため 多くのカスタム機能は短時間で実装することが可能です 類似した商品よりも安価に導入することが可能です 全世界で多くの実績をもっています 基本構成の Liferay を短時間で立ち上げ 必要に応じて拡張することも可能 無償のコミュニティ版から初めて 必要に応じて有償サポートを購入することも可能です 短時間で ROI を回収することが可能です プラグイン型部品開発が可能なアーキテクチャーのため 市場に変化に応じて新商品用のポートレットの開発が可能です 55
企業情報ポータルの目的ー社内向けサイト (1/2) 現在の課題 (What) 解決する価値 (Why) 対策案 (How) 必要な観点 支店 部門 プロジェクト毎にさるポータルサーバのソフトウエアライセンス ハードウエア / ソフトウエア保守費などを削減したい 経費削減をするため 企業内に分散しているポータルを一台の企業ポータルに移植する 企業ポータルが 企業の組織構成及びアクセス制限などの仕組みを実現できること 複数のシステムに分散しているため 情報を探すのに時間が掛かる 各社員が各自のパソコンに情報を保管しているため 情報が属人化されている 異なるアプリケーション及びバージョンを使って文書が作成されているため 閲覧できない情報がある 組織及びビジネスを強化するために 以下の目的で企業及び組織内で情報を共有化する以下を行う : 1 情報の有効活動 2 作業及びプロセスの可視化 3 標準化により重複作業の排除 4 可視化及び標準化により 企業全体の作業及びプロセスの改善を可能にする ユーザがポータルに情報を掲載できるようにする 内容及びユーザの増加に応じて ポータルがスケーラブルであること 容易な操作で内容を投稿できること 内容を分類し 必要に応じてページを移動できること 内容の履歴管理が行えること ポータルに掲載されている内容を検索できるようにする 情報の分類と構造化及び検索機能 システム構築機関を短縮し 投資負担を抑える仕組みが必要 コスト 導入スピード 柔軟性 56
企業情報ポータルの目的ー社内向けサイト (2/2) 現在の課題 (What) 解決する価値 (Why) 対策案 (How) 必要な観点 コミュニティを跨って 全社に情報を発信できる仕組みがあること 顧客先など外部で作業をしている社員に情報を連絡するのに時間及び手間が掛かる また 全社員が情報を受信したか不明である 会社方針など 全社員の意識を統一にするため Web ページ及びメールなどで全社員に情報を発信する 未読者一覧などを表示でき 催促メールを送信できること Web ページに限らず RSS, メールなどでも情報を発信できること またメールからの返信を掲示板に反映できること 派遣先など外部で作業を行っている社員は緊急に社内手続きを行う場合は帰社する必要がある 帰社することで 顧客に迷惑を掛ける可能性もある ポータルで決裁などを行うようにする 承認フローを容易に定義 / 変更できること 派遣先など外部で作業を行っている社員の社員としての意識が弱いため 転職率が高い 優秀な人材を失う可能性があるため コミュニティ Wiki ブログを設けて 社員同志の 繋がり を強化する 従業員各自でコミュニティを作成したり 個人ページを持てること 57
企業情報ポータルの目的 ( 社外向けサイト ) 現在の課題 (What) 解決する価値 (Why) 対策案 (How) 必要な観点 事業所毎にポータルがある サーバソフトウエアライセンス ハードウエア / ソフトウエア保守費などを削減したい 経費削減をするため 分散しているポータルを一台の企業ポータルに移植する 企業ポータルが 企業の組織構成及びアクセス制限などの仕組みを実現できること 事業別に製品情報ポータルを設けているため 事業間で関連した製品 / サービスの情報を顧客に提供できていない 機会損失を防止するため 顧客に新製品 / 新サービスの情報を連絡するのに時間及び手間が掛かるため 情報発信が遅れている 容易な操作でユーザがページの内容を編集できること 24 時間 365 日 顧客から注文や他問い合わせを受けたい / 注文受け取り処理を自動化したい 結果をリアルタイムかつ理解しやすいグラフィカル表示で表すことができること 顧客からの感想を聞きだして 商品を改善したい 顧客のニーズに合った商品改善をするため アンケート コメントなど記述できるようにする ページの利用頻度などを分析でき 注目されているページ / 商品を見出せること ポータルで顧客に発信する情報に誤りがある場合があるので 事前に内容を確認したい 誤った情報を発信して 信頼性を無くなさいため 情報を公開する前に承認ワークフローを必要にする 承認ワークフローを柔軟に定義できること 58
オープンソースのメリット 現在の課題 (What) 解決する価値 (Why) 対策案 (How) 必要な観点 データ及び利用者が増えたため より高性能なサーバが必要になったとソフトウエアのライセンスの費用が高くなった できるだけ 費用を抑えたい 初期導入及び運用費を削減する 無償のコミュニティ版を含めて オープンソースソリューションを検討する 実績 製品のロードマップ サポート / 教育体制があること 初期導入費を抑えたい ( 小さく初めて 必要に応じて拡張していきたい ) 投資回収期間を短くしたい 不要なものには投資したくない システムアップグレードのロードマップを明確にしておくこと ( 例 : コミュニティ版からエンタープライズ版の移行 ) 個々の業務に合わせた使い方をしたい ソフトウエアを業務に合ったようにカスタマイズしたい ソースが公開されているため ソフトウエアをカスタマイズすることが可能 全てのソースコードが一般的に公開されていて 開発コミュニティが活発であること 短期間で 新技術を使って新商品を提供できるようにしたい 新商品で新市場を開拓するため 他のオープンソースを組み込んだり 連携して利用する 新技術を組み込んだソリューションが安価で実現可能なこと 59
Liferay のメリット 現在の課題 (What) 解決する価値 (Why) 対策案 (How) 必要な観点 小さく初めて 必要に応じて利用を拡大していきたい ( 必要な時に必要な機能のみを導入したい ) 投資回収期間を短くしたい 不要なものには投資したくない ( 不要な機能に投資したくない ) 高い拡張性と柔軟性の基本 明確なポートレットアーキテクチャがあること 既存の資産の利用も可能 Sharepoint プロトコルのサポートにより MS Office の文書を共有できること 多くの標準の対応していること 出来る限り業務部門で管理したい ( 例 : 組織管理は人事で行いたい ) 業務の必要に応じて 迅速にシステムを対応するため GUI により管理 / 保守操作が可能 承認フロー定義などができること ソフトウエアを修正したいが 技術者がいない ソフトウエアを維持するため 新しいサービスを迅速かつ安価に提供したい Liferay の基盤は Java で書かれている VM や Ruby で機能を拡張することが可能 自社で開発又はベンダに開発を依頼できること コミュニティ版の全てのソースコードが Sourceforge.net 及び Liferay の SVN サイトで公開されている 60
Liferay 社によるメリット 短期間から長期間にわたり ユーザの資産を安全にお守りすることができます 短期 / 中期 事実価値メリット Liferay は Liferay 社によって開発されています Liferay の技術者は システム仕様 プログラム仕様を完全に理解している 教育 コンサルティング 正しい 使い方を教えることができる サポート 適切且つ迅速な対応 長期 事実価値メリット Liferay 社は Liferay の開発ロードマップを作成しています 技術及びビジネスの変換に応じて Liferay 基盤を変化させています バージョンアップしながら 将来的にも継続して使い続けられ 投資した資産を守れます 企業の競争力を維持することができます 61
基本的な操作 62
初期ページ 63
初期ページ ここをクリックしてログインします 64
ポートレットの配置 他企業やコミュニティ サイトへ移動できます 自分に割り当てられた作業やポータルの設定などを行うことができます ポートレット毎に概観の設定や 内容の変更を行うことができます ユーザに割り当てられた 配置可能なポートレット一覧を表示します ポートレットは一覧からページにドラッグ & ドロップ操作で配置することができます 65
デモ ポータル 66
デモ ポータルサイト Liferay を標準インストールすると デモ ポータルサイトもインストールされます Liferay を起動すると 以下のようなゲストユーザ ( ログインしていないユーザ ) のページが表示されます ここをクリックしてログインします 67
デモ ポータルサイト 初期ログインの場合は 利用規約同意書が表示されます ポータルサイトに 利用規約同意書を設けることができます ここをクリックしてログインします 68
デモ ポータルサイト ログインすると以下のようなページが表示されます 表示可するポートレットの選択 ToDo リスト / 管理機能など 組織 / 個人サイトの切り替え ログインユーザ名 69
デモ ポータルサイト ログインすると以下のようなページが表示されます 1 ユーザが他者に公開するページと個人のみが使えるページを設けることができます 企業毎に 一般公開するページと 社員のみに公開するページを設けることもできます 70
マスター登録 71
マスターデータ登録の流れ ポータルインスタンスの作成 組織の登録 グループの登録 コミュニティの登録 ロールの登録 ユーザの登録 コミュニティ内及び組織内にチームの作成 ( ロールは全ポータルで定義 チームはコミュニティ内及び組織内で定義 ) 72
組織 コミュニティ グループ チーム ロール ユーザ 組織 ページ チーム 組織ロール 標準ロール ( ポータルロール ) グループ ユーザ 組織は階層構造をもつことができる ページ チーム コミュニティロール コミュニティ メンバーになれる 例 : 組織はコミュニティのメンバーになれる ユーザは組織 組織ロール チーム コミュニティ コミュイにティロールのメンバーになれる 権限はロールのみに設定することが可能組織 コミュニティ グループ ユーザはロールのメンバーになることにより間接的に権限を設定することが可能出典 :Liferay Portal Administrator s Guide 73
Liferay6 は 企業 / 組織の複雑な部門体系及び部門 / 組織を横断した組織体系及び権限の設定に対応しています 74
組織 ロール チーム グループ コミュニティ ユーザ 項目組織ロールチームグループコミュニティユーザ 階層構造内でのユーザの位置づけ 説明 会社の体系図ように 階層構造をもつことが可能 ユーザは 複数の階層に属することが可能 ユーザを役割で纏めた単位 ポータル全体で有効 ポータル / プラグインの利用権限を設定する単位 ユーザは 役割によって複数のロールを属することが可能 ロールと同じような概念 コミュニティ及び組織内のみで有効なユーザの集まり 共通した目的を持ったユーザの集まり ポータル管理者が定義 共通して関心をもつユーザの集まり コミュニティ管理者が管理を行うユーザがコミュニティの申請を行い 作成された場合はコミュニティ内で管理を行うようにできる コミュニティ内で情報を共有できる コミュニティの参加は ユーザが申請するようにできる ポータルにログインする単位 会社 本部 部 課 委員会 プロジェクトチーム 個人の単位でページを設けることが可能 75
サーバ インスタンス 組織 サーバ ポータルインスタンス 組織 ( 例 : 本部 ) 組織 組織 組織 ( 例 : 部 ) 組織....... ポータルインスタンス 76
組織 コミュニティ グループ ユーザの利用例 システム課 ( 組織 ) チーム 1 チーム 2 営業課 ( 組織 ) 経理課 ( 組織 ) リーダ ( ロール ) リーダ ( ロール ) ( コミュニティ ) プロジェクト A チーム ( グループ ) PL SE プロジェクト A ( ロール ) プロジェクト A SE( ロール ) 営業 プロジェクト A ( ロール ) テニスクラブ ( コミュニティ ) SE テニスメンバー ( ロール ) 営業 テニスメンバー ( ロール ) 経理担当 テニスメンバー ( ロール ) 77
コミュニティの種類 コミュニティの種類コミュニティ管理者ユーザ 参加退会参加参加申請退会 オープン - プライベート 制限付き コミュニティ管理者は ユーザをコミュニティに参加 / 退会することができる ユーザは コミュニティがオープンの場合のみ自由に参加 / 退会することができる ユーザは 制限付きコミュニティに参加申請を申請することができる コミュニティ管理者はその申請を受理又は拒否することができる 参加できた場合は ユーザは独自で退会することができる 78
コミュニティの種類のページの関係 公開 / 非公開ページの参照 コミュニティの種類 会員 非会員 公開 非公開 公開 非公開 オープン プライベート 制限付き コミュニティの会員は 公開ページと非公開ページを参照することができる コミュニティの非会員は 公開ページのみを参照することができる コミュニティの種類は 会員 / 非会員が参照できる権限とは無関係である 79
ポータル インスタンスの作成 ( 仮想ホストサービス ) ポータルのドメイン ( 例 :http://www.hozawa.co.jp) 毎にポータル インスタンスを作成します ポータルインスタンス毎に区切られてポータルを管理します 80
ポータル インスタンスの作成 0 の場合は無制限になります 81
ポータル インスタンスの作成 現在 接続しているユーザ数です 同時接続可能な最大ユーザ数です ポートレットのドメイン名 (URL) です アカウントの申請を受け入れる利用者を制限する場合に利用するメールアドレスです ( 特定のメールアドレスのアカウント申請のみ 受理する ) 82
組織の登録 83
組織の登録 84
ロールの登録 Liferay を管理及び一般利用で使われるロールで定義されています 85
コミュニティの登録 86
コミュニティの登録 87
グループの登録 88
グループの登録 89
ユーザの登録 90
ユーザの登録 ユーザが所属する組織を選択する 91
ユーザの登録 組織一覧から選択する 一覧からユーザから所属する組織を選択する 92
ユーザの登録 選択した組織が表示されていることを確認する 93
ユーザの登録 同じように コミュニティ グループ ロールも設定する 他のユーザ情報も設定する 94
コンテンツの作成 / 管理 95
Web コンテンツ ポートレットの追加 ページに Web コンテンツ ポートレットを追加します 96
Web コンテンツ ポートレットの追加 97
Web コンテンツ ポートレットの追加 ワープロ風に Web ページを作成することができます 98
Web コンテンツ ポートレットの追加 Liferay6 からは 作成された Web コンテンツを公開する前に承認を必要とできます 99
Web コンテンツの承認 標準ワークフロー定義では 申請された Web コンテンツを承認 去下 別の人に割り当てることができる ワークフローは Activiti jbpm Kaleo(Liferay 独自 ) で定義することができる 100
Web コンテンツの承認 承認されると コンテンツが表示します 承認ワークフロー機能の他に ステージング機能を使って 他 Web サーバで Web コンテンツを公開することもできます 101
概観の変更 - ポートレット単位 概観を変更したいポートレットの編集アイコンを選択して 概観 を選択します 102
設定可能な範囲 項目インスタンス組織コミュニティページ 概観 レイアウト ロゴ ロゴ 103
概観の変更 - ポートレット単位 104
概観の変更 - サイト全体 105
概観の変更 - サイト全体 106
レイアウトの変更 107
レイアウトの変更 新規のレイアウトを作成することも可能です 108
ページの 分析 Google Analystics を利用して ページ参照のデータを分析することが可能です 109
ポートレットの例 110
アンケート機能 111
アンケートの作成 1 2 質問の追加 を選択 1 メニュー項目から アンケート を選択 アンケート編集者権限を持つユーザは 画面操作からアンケート用の質問を作成することができます 112
アンケートの作成 2 3 アンケートの質問を入力します 4 アンケートの終了日時を設定します 5 回等の選択項目を入力します 自由にアンケートの質問と回答項目を入力することができます 回答項目は 自由に追加することもできます 113
アンケートの作成 3 6 回答の対象者のページにドラッグ & ドロップ操作でアンケートの質問を貼り付けます アンケートの回答の対象者の企業 コミュニティ ( グループ ) 又は個人のページにアンケートの質問を組み合わせて貼り付けることができます 114
アンケート web 画面の例 アンケートは ポータルにログインしたユーザのみ又は ログインしていない匿名ユーザでも回答できるように設定することができます 115
アンケート投稿結果 1 投稿結果の集計 投稿ログ アンケートの投票結果と集計も ポータル画面に表示されます 116
アンケート投稿結果 2 アンケートの投票結果をグラフで表示することもできます 117
コンテンツアクセスの管理 118
ページ ポートレット コンテンツ ページ ポートレット (RSS ポートレット ) コンテンツ ポートレット ( メモ ポートレット ) コンテンツ ( 最新情報 ) http://www.ogis-ri.co.jp/news/rss.xml コンテンツ ( イベント情報 ) http://www.ogis-ri.co.jp/event/rss.xml 1 つのページに複数のポートレットを配置することができます 1 つのポートレットには 複数のコンテンツを表示することができます コンテンツは URI で識別される場合もあります 119
ページ ポートレット コンテンツのアクセス権限と認証 ページ ポートレット Liferay が管理しているコンテンツ (Web コンテンツ, Wiki など ) のアクセス権限と認証は Liferay で管理されます 外部システム ( 例 : メール ) のコンテンツのアクセス権限を認証は 外部システムで管理します ただし SSO を利用している場合は Liferay で利用されているユーザ認証で外部サーバの認証を行えることができます 以降のページの コンテンツ とは Liferay が管理するコンテンツを指します 外部システムのコンテンツ ( 例 :Alfresco ログインが必要な外部 Web サイト ) のアクセス権限 / 認証に付いては そのシステムの管理者に問い合わせてください 120
標準ロール ロール 説明 管理者 すべての権限をもつユーザ インスタンスの管理者は そのインスタンスのみのすべての権限をもつ 他インスタンスの権限はもたない サーバの管理者 ( インスタンス ID=1) は ホストしているインスタンスの権限もまつ 訪問者 ログオンしていないユーザ ( 認証されていないユーザ ) 一般ユーザ 上級ユーザ ログインするす権限 ( すべてのログインユーザが所属しているロール ) 個人用の公開ページ及び非公開ページを保有できるユーザ オーナー オブジェクトの持ち主 ( 通常はオブジェクトの作成者 ) 他ユーザに権限を委譲できる 公開担当 コンテンツ作成者 コンテンツ公開の担当 コンテンツの作成担当 121
標準ロール ロール組織のオーナー組織のメンバーコミュニティ管理者コミュニティのオーナーコミュニティコンテンツの承認者コミュニティのメンバーポートレットコンテンツの承認者 説明 組織に管理者の権限を与えることができる 組織内のロールをユーザに設定できる 組織に所属しているユーザ コミュニティ内のコンテンツをすべての権限をもつ ただし 他ユーザをコミュニティ管理者にする権限はもたない コミュニティロールを委譲する権限をもつコミュニティの管理者 コニュニティで作成されたコンテンツの承認担当 ( ワークフロー ) コミュニティに所属しているユーザ 申請されたコンテンツを承認できるユーザ ( ワークフロー ) 122
ロールの定義 123
ロールの定義 ロールの名称 ロールの表示名 ( 言語毎に定義が可能 ) ロールの説明 ロールの種類標準 : ポータル内で有効 ( デフォルト ) コミュニティ : コミュニティ内で有効組織 : 組織内で有効 124
ロールの定義 ポータル コンテンツ アプリケーション コントロールパネルの要素毎に権限を設定することができます 125
ロールの定義 権限を付与する操作にチェックします 126
ロールの定義 ロールに配属するメンバーを指定することができます 配属するメンバーをチェックします ロールには ユーザだけではなく コミュニティ 組織 グループを配属することができます 127
コンテンツの権限設定 128
コンテンツの権限設定 129
コンテンツのバージョン管理 コンテンツのバージョン情報 履歴を表示するコンテンツを選択します 130
コンテンツのバージョン管理 131
コンテンツのバージョン管理 現在のバージョンを削除すると 前のバージョンが有効になります 数世代前のバージョンの内容を復元する場合は そのバージョンを新規のバージョンにコピーできます 132
Liferay6 の入手とセットアップ 133
Liferay6 の入手 コミュニティ版 ( 米 Liferay) http://sourceforge.net/projects/lportal/ 日本対応版 ( 画面の日本語化 バッグフィックス ) http://sourceforge.jp/projects/oss-ja-jpn/releases/?package_id=10831 134
前提条件 ハードウェア - 1GB RAM Java 6 以降 (Linux または Mac の場合 ) Windows ユーザは Java をインストールしておく必要はありません JRE は同梱されています 135
セットアップと起動 1.Liferay6を入手して 任意のフォルダに展開します 2.Liferay6を起動します : Tomcatの場合:tomcat-6.0.26 binフォルダのstartup.bat/startup.shを起動 JBossの場合:jboss-5.1.0.GA binフォルダのrun.bat/run.shを起動 136
セットアップと起動 Liferay6が起動するとコンソール画面に以下のようなメッセージが表示されます ローカル環境で起動した場合でWebブラウザがインストールされていると Liferay6のデモページが表示されます 137
セットアップと起動 Liferay が正常に起動すると Web ブラウザが開かれ デフォルトの初期ページ ( 変更可能 ) が表示されます 138
システム構成 139
Apache mod_jk Apache mod_jk システム構成の例 ポータルサーバ Liferay6 ロードバランサー ポータルサーバ Tomcat 又は JBoss AS CentOS Liferay6 Tomcat 又は JBoss AS CentOS. データベースサーバ MySQL CentOS 140
ソフトウエア構成 項番項目製品名 ( 例 ) 必須備考 1 OS CentOS RedHat ES, AIX, HP-UX, MS- Windowsも可能 2 HTTP サーバ Apache スタンドアロン構成の場合は不要 3 Java アプリケーションサーバ Tomcat JBoss, WebSphere, Jettyを使うことも 可能 4 Web ポータル Liferay Portal Web ページ 権限などを管理します 5 データベース MySQL Oracle, DB2 も可能 6 Java Sun JDK 6 注 :LDAP OpenSSO と連動することも可能 141
ハードウエア構成 ( 例 ) 項番項目仕様 ( 例 ) 備考 1 ポータルサーバ Xeon X5650 2.66GHz (6C, 12MB L3 キャッ シュ, 95W, DDR3-1333) 2 メモリ :8GB HDD: SAS 10krpm, 146GB 2 NIC: Gigabit 2 データベースサーバ Xeon X5650 2.66GHz (6C, 12MB L3 キャッ シュ, 95W, DDR3-1333) 2 メモリ :16GB HDD: SAS 15krpm, 146GB 4 NIC: Gigabit 142
Liferay6 ソフトウエア構成 帳票レイアウト定義 帳票レイアウト定義 ireport CMS: Alfresco ワークフロー : Activiti, jbpm, Kaleo 帳票 : JasperReport BI: Pentaho ポータルフレームワーク :Liferay6 MySQL アプリケーションサーバ :Tomcat,JBoss OS: MS Windows,Linux, Unix 143
ご参考 144
日本語ドキュメント Wiki http://www.liferay.com/community/wiki/- /wiki/main/%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab;jsessionid=985b2 DD4CA4A162EFEA65ACE2817C822.node-1 英語ドキュメント http://www.liferay.com/documentation/liferay-portal/6.0/getting-started 書籍 Liferay Portal 6 Enterprise Intranets Jonas X. Yuan, Packt Publishing, 2010 Liferay in Action Rich Sezov, Manning Publications, 2011 ( 予定 ) Practical Liferay: Java-based Portal Applications Development Poornachandra Sarang, Packt Publishing, 2009 など 145
ありがとうございました 146