Administration Console の拡張
![]() |
![]() |
![]() |
![]() |
以下の節では、Administration Console の拡張について説明します。
Administration Console の拡張は、一連の WebLogic Portal Web アプリケーションのリソースを格納する JAR ファイルです。拡張をデプロイすると、拡張 JAR ファイル内のファイルとディレクトリをもとに、Administration Console の WAR ファイル内にファイルとディレクトリのインメモリ ユニオンが作成されます。デプロイした拡張は Administration Console の完全なメンバーになります。この拡張は WebLogic Server のセキュリティ レルムによって保護され、Administration Console の他のセクションへの移動が可能で、拡張によって WebLogic Server のリソースが変更される場合には変更制御プロセスに関与します。
最も単純な拡張は Administration Console のホーム ページ (デスクトップ) にコンテンツを追加するものです。そのような拡張の JAR ファイルには以下のものが含まれています。
より複雑な拡張の JAR ファイルには、以下のような追加のリソースを含めることができます。
注意 : Administration Console では、WSRP ポートレットや JSR 168 ベースのポートレットはサポートされません。
WebLogic Portal フレームワークは、UI を表示するための基本的なサポートを提供します。正規の WebLogic Portal 製品は、フレームワークと追加機能 (パーソナライズ、対話管理、コンテンツ管理、エンド ユーザがポータル デスクトップをカスタマイズするための機能など) を提供します。
BEA Products のライセンスに WebLogic Server しか含まれていない場合は、WebLogic Portal フレームワークを使用して Administration Console の拡張を作成できます。開発した Web アプリケーションでポータル インタフェースを提供する必要がある場合は、WebLogic Portal 製品を使用してください。
拡張ポイントとは、コンテンツを追加または置換できる Administration Console UI 内の場所のことです。Administration Console の UI は、UI コントロールと呼ばれる WebLogic Portal コンポーネントのグループごとに表示されます。コントロールの各グループは UI の特定の部分の表示を担当します。たとえば、あるグループは、ユーザが Administration Console へログインした後に 2 列のレイアウトを表示します。別のグループは、タブ付きインタフェース内の個別のタブを表示します。
Administration Console では UI コントロールの多くにユニークなラベルが付いており、ラベル付きの各コントロールは拡張ポイントとなります。WebLogic Server JSP タグでこれらのラベルを使用して、リクエストを特定の UI コントロールに転送することもできます。ラベルで特定できない UI コントロールは、拡張したりリクエストを転送したりできません。その場合は、ラベル付きの祖先コントロールまたは子コントロールと対話する必要があります。
アプリケーションの UI コントロールは、ポータル インクルード ファイル (.pinc
ファイル) と呼ばれる XML ファイル内に定義されます。この XML ファイルのスキーマでは UI コントロールの階層を指定します。UI コントロールの中には階層内の複数のレベルで使用できるものもあります。以下のリストでは、拡張の開発時に最もよく使用される UI コントロールの種類について説明します (図 2-1 を参照)。
ページのセットや他のブックを集約します。集約したページやブックの間を移動するためのメニュー コントロールを含めることもできます。Administration Console の多くのブックはこのメニュー コントロールを使用してタブを表示します (ドメインの [コンフィグレーション : 全般] タブなど)。
UI 内のグリッドを定義します。グリッド内の各列はプレースホルダと呼ばれ、各プレースホルダでゼロ個以上のポートレットやブックをホストできます。
Administration Console 内のほとんどのページでは単一列のレイアウトが使用されていますが、トップ ページの 1 つでは 2 列のレイアウトを使用して、左の列にチェンジ センタやドメイン構造などのポートレットを表示し、右の列にタブ付きインタフェースを表示しています。
UI コントロールのスキーマの詳細については、『Portal Support Schema Reference』を参照してください。
注意 : 図 2-1 では、簡潔にするため、階層内の中間的なコントロールは一部省略しました。たとえば、ブック コントロールにページ コントロールが直接含まれることはありません。代わりに、ブックにはコンテンツというコントロールが含まれ、コンテンツ コントロールにはページ コントロールが含まれます。
以下の節では、Administration Console の拡張ポイントについて説明します。
WebLogic Portal Web アプリケーションには必ず 1 つ以上のデスクトップ コントロールが必要ですが、Administration Console でサポートされるのは 1 つのみです。このデスクトップ コントロールのラベルは defaultDesktopLabel
になります (図 2-2 を参照)。
Administration Console のこのレベルでサポートされる拡張の種類はルック アンド フィール拡張のみです。ルック アンド フィールは BEA のロゴ、色、およびフォントを置換します。「Administration Console の外観の変更」を参照してください。
Home ブックを置換したり、デスクトップに他のコントロールを追加することはできません。
Administration Console のルック アンド フィールでは、フォントと色、BEA ロゴ、ポータル コンポーネントのレイアウト、およびナビゲーション メニューを定義します。
注意 : Administration Console では WebLogic Portal フレームワークのみを使用するため、ルック アンド フィールは 1 つしかサポートされません。BEA WebLogic Portal 製品のライセンスで利用可能なすべての機能を使用するポータル アプリケーションであれば、ユーザやグループの ID ごとにパーソナライズされた複数のルック アンド フィールをサポートできます。
会社のロゴ、フォント、カラー スキームを含む単純なルック アンド フィールの拡張を作成するには、WebLogic Server に用意されているサンプルのルック アンド フィールをコピーし、ロゴやカスケーディング スタイル シート (CSS) 定義を置き換えます。ポータル コンポーネントやナビゲーション メニューのレイアウトを変更するなど、WebLogic Server ルック アンド フィールに複雑な変更を加える場合は、WebLogic Portal ルック アンド フィールに関する高度な知識が必要になります。WebLogic Workshop のライセンスがある場合は、ルック アンド フィール エディタを使用してこうした複雑な変更を加えられます。ルック アンド フィールの詳細については、『ポータル ユーザ インタフェースのフレームワーク ガイド』を参照してください。
Administration Console の最上位のブックは、ラベル Home
で識別されます。この最上位のブックには、すべての Administration Console コンテンツが属す 1 つのページ (ラベル page
) が含まれます (図 2-3 を参照)。
page
ページでは、2 列のレイアウトが使用されています。左の列 (レイアウト ロケーション 0) には、Administration Console を使用する際に不可欠なサービスを提供するポートレットが含まれています。右の列 (レイアウト ロケーション 1) には、以下が含まれています。
ContentBook
という名前のブック。「ContentBook」を参照してください。Home
ブック内での最も単純な拡張は、page
ページの列へのポートレットの追加です。たとえば、[システム状態] ポートレットの下に、アプリケーションをモニタするポートレットを追加できます。
より複雑な拡張では Home
ブックにブックを追加できます。そのような拡張の場合、Home
ブックと拡張ブックは 2 つの別々のタブとして表示されます。
ContentBook
は、40 を超えるページを含むブックですが (図 2-4 を参照)、一度に 1 つのページのみを表示します。Administration Console 全体のナビゲーション コントロールによって、どのページを表示するかが決まります。
図 2-4 では、CoreDomainBook
というページに CoreDomainConfigGeneralBook
というブックが含まれています。CoreDomainConfigGeneralBook
には 6 つの子ブックと、子ブックごとのタブ ([コンフィグレーション]、[モニタ]、[制御]、[セキュリティ]、[Web サービス セキュリティ]、[メモ]) を表示する singleLevelMenu
という特別な UI コントロールが含まれています。各子ブック (DomainconfigTabPage
など) には、複数の子ページ コントロールと singleLevelMenu
コントロールが含まれています。ルック アンド フィールは、singleLevelMenu
コントロールに、このレベルのページ コントロール用のサブタブ ([全般]、[JTA]、[EJB]、[Web アプリケーション]、[SNMP]、[ロギング]、[ログ フィルタ]) を生成させます。
コンテンツ固有のブックには、子ブック用のタブ付きインタフェースを表示しないものもあります。図 2-5 に、タブ付きインタフェースを表示しない ServerBook
を示します。
ContentBook
内での最も単純な拡張は、コンテンツ固有のブックに子ブックを追加してタブを作成したり、子ページを追加してサブタブを作成したりすることです。「UI コントロールの定義 (省略可能)」を参照してください。
図 2-6 に、Administration Console のラベル付き UI コントロールの最上位を示します。すべてのコンテンツ固有ブックを含むラベル付きの全 UI コントロールのリストを見るには、Administration Console でコントロールのラベルを表示するためのルック アンド フィール拡張をダウンロードしてインストールします。「UI コントロール ラベルを表示するための開発ルック アンド フィールのデプロイメント」を参照してください。
BEA では、テーブル、データ入力ボックス、ボタンなどの UI 機能の表示に使用できる JSP テンプレートとタグ ライブラリを提供しています。JSP テンプレートの詳細については、「WebLogic Server の JSP テンプレート」を参照してください。
Administration Console では、表 2-1 に示す各タグ ライブラリについて、デフォルトで実行時サポートが提供されます。これらのライブラリの開発サポートが必要な場合 (たとえば、JSP タグのコード補完を提供する統合開発環境を使用する場合) は、これらのタグが含まれるように開発環境をコンフィグレーションする必要があります (「開発環境の設定」を参照してください)。
注意 : カスタム タグ ライブラリを作成したり、付加的なタグ ライブラリを使用したりできますが、カスタム タグ ライブラリで必要となるすべてのサポート ファイルを拡張 JAR ファイルに含める必要があります。『WebLogic JSP Tag Extensions プログラマーズ ガイド』を参照してください。
|
|
|
|
|
|
|
|
|
以下の手順では、ポータル フレームワークが拡張のソース ファイルを使用して Struts ポートレットを検索し、ContentBook
ブック内にタブとして表示する方法について説明します (図 2-7 を参照)。
この例の netuix-extension.xml
ファイルでは、ポータル フレームワークが medrecMonitor.pinc
という .pinc
ファイルをロードして、その内容を CoreDomainConfigGeneralBook
ブックの子として表示することを指定しています。
<book-extension>
<book-location>
<parent-label-location label="CoreDomainConfigGeneralBook"/>
<book-insertion-point action="append"/>
</book-location>
<book-content content-uri="/controls/medrecMonitor.pinc"/>
</book-extension>
medrecMonitor.pinc
ファイルをロードします。このファイルでは、ページ UI コントロールを定義し、そのページにポートレットが含まれることを指定しています。<netuix:page markupName="page" markupType="Page">
</netuix:page>
...
<netuix:portletInstance markupType="Portlet"
instanceLabel="medrecMonitor.Tab.Portlet"
contentUri="/portlets/medrec_monitor_tab.portlet"/>
<portal:root>
<netuix:portlet
definitionLabel="MyPortlet"
title="my.portlet.title">
<netuix:strutsContent module="/medrecMBean"
action="MedRecMBeanFormAction"
refreshAction="MedRecMBeanFormAction"/>
</netuix:portlet>
</portal:root>
netuix:strutsContent
要素の module="/medrecMBean"
属性では、RetrieveCustomMBeansAction
という Struts Action
の定義が、medrecMBean
という Struts モジュールの Struts コンフィグレーション ファイルにあることを示しています。Struts の命名規則では、このコンフィグレーション ファイルを struts-auto-config-medrecMBean.xml
という名前にする必要があります。
struts-auto-config-medrecMBean.xml
ファイルを解析して、RetrieveCustomMBeansAction
の以下の定義を検索します。<action path="/MedRecMBeanFormAction"
type="com.bea.medrec.extension.MedRecMBeanFormAction"
name="medrecMBeanEJBForm"
scope="request"
validate="false">
<forward name="success" contextRelative="true"
path="/ext_jsp/form_view.jsp"/>
</action>
action
要素の name="medrecMBeanEJBForm"
属性を見つけると、同じ Struts コンフィグレーション ファイルで medrecMBeanEJBForm
というフォーム Bean の定義を探します。コンフィグレーション ファイルで以下の要素が見つかったら、<form-bean name="medrecMBeanEJBForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="name"
type="java.lang.String"/>
<form-property name="handle"
type="com.bea.console.handles.Handle"/>
<form-property name="totalRx"
type="java.lang.Integer"/>
</form-bean>
name
、handle
、および totalRx
というプロパティを指定して、org.apache.struts.action.DynaActionForm
型の Java Bean を初期化します。
com.bea.medrec.extension.MedRecMBeanFormAction
クラスを呼び出して、インスタンス化した DynaActionForm
Bean をこのクラスに渡します。MedRecMBeanFormAction
クラスは MedRec アプリケーションの MBean からデータを収集し、そのデータを DynaActionForm
Bean のプロパティに格納します。
![]() ![]() |
![]() |
![]() |