ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Administration Console の拡張
11g リリース 1 (10.3.1)
B55554-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

2 Administration Console の拡張について

以下の節では、Administration Console の拡張について説明します。

Administration Console の拡張とは

Administration Console の拡張は、一連の WebLogic Portal Web アプリケーションのリソースを格納する WAR ファイルです。拡張をデプロイすると、拡張 WAR ファイル内のファイルとディレクトリをもとに、Administration Console の WAR ファイル内にファイルとディレクトリのインメモリ ユニオンが作成されます。デプロイした拡張は Administration Console の完全なメンバーになります。この拡張は WebLogic Server のセキュリティ レルムによって保護され、Administration Console の他のセクションへの移動が可能で、拡張によって WebLogic Server のリソースが変更される場合には変更制御プロセスに関与します。

最も単純な拡張は Administration Console のホーム ページ (デスクトップ) にコンテンツを追加するものです。そのような拡張の WAR ファイルには以下のものが含まれています。

より複雑な拡張の WAR ファイルには、以下のような追加のリソースを含めることができます。

WebLogic Portal フレームワークと WebLogic Portal の違い

WebLogic Portal フレームワークは、UI を表示するための基本的なサポートを提供します。正規の WebLogic Portal 製品は、フレームワークと追加機能 (パーソナライズ、対話管理、コンテンツ管理、エンド ユーザがポータル デスクトップをカスタマイズするための機能など) を提供します。

WebLogic Server がある場合は、WebLogic Portal フレームワークを使用して Administration Console の拡張を作成できます。開発した Web アプリケーションでポータル インタフェースを提供する必要がある場合は、WebLogic Portal 製品を使用してください。

Administration Console の拡張ポイント

拡張ポイントとは、コンテンツを追加または置換できる Administration Console UI 内の場所のことです。Administration Console の UI は、UI コントロールと呼ばれる WebLogic Portal コンポーネントのグループごとに表示されます。コントロールの各グループは UI の特定の部分の表示を担当します。たとえば、あるグループは、ユーザが Administration Console へログインした後に 2 列のレイアウトを表示します。別のグループは、タブ付きインタフェース内の個別のタブを表示します。

Administration Console では UI コントロールの多くにユニークなラベルが付いており、ラベル付きの各コントロールは拡張ポイントとなります。WebLogic Server JSP タグでこれらのラベルを使用して、リクエストを特定の UI コントロールに転送することもできます。ラベルで特定できない UI コントロールは、拡張したりリクエストを転送したりできません。その場合は、ラベル付きの祖先コントロールまたは子コントロールと対話する必要があります。

UI コントロールの階層

アプリケーションの UI コントロールは、ポータル ブック ファイル (.book ファイル) と呼ばれる XML ファイル内に定義されます。この XML ファイルのスキーマでは UI コントロールの階層を指定します。UI コントロールの中には階層内の複数のレベルで使用できるものもあります。以下のリストでは、拡張の開発時に最もよく使用される UI コントロールの種類について説明します (図 2-1 を参照)。

  • デスクトップ

    UI コントロール階層の最上位レベルです。Administration Console および最上位のブック コントロールのルック アンド フィールを格納します。

  • ルック アンド フィール

    画像、カスケーディング スタイル シート、XML ファイル、およびその他のファイル タイプを集めたもので、これによってポータル アプリケーションの外観を制御します。

  • ブック

    ページのセットや他のブックを集約します。集約したページやブックの間を移動するためのメニュー コントロールを含めることもできます。Administration Console の多くのブックはこのメニュー コントロールを使用してタブを表示します (ドメインの [コンフィグレーション : 全般] タブなど)。

  • ページ

    レイアウト、ポートレット、またはブックが含まれています。

  • レイアウト

    UI 内のグリッドを定義します。グリッド内の各列はプレースホルダと呼ばれ、各プレースホルダでゼロ個以上のポートレットやブックをホストできます。

    Administration Console 内のほとんどのページでは単一列のレイアウトが使用されていますが、トップ ページの 1 つでは 2 列のレイアウトを使用して、左の列にチェンジ センタやドメイン構造などのポートレットを表示し、右の列にタブ付きインタフェースを表示しています。

  • ポートレット

    表示する静的および動的なコンテンツを定義します。Administration Console には、JSP ファイルを含むポートレットや、Struts Action または Beehive ページ フローに転送するポートレットを追加できます。

UI コントロールのスキーマの詳細については、「Portal Support Schema Reference」を参照してください。


注意 :

図 2-1 では、簡潔にするため、階層内の中間的なコントロールは一部省略しました。たとえば、ブック コントロールにページ コントロールが直接含まれることはありません。代わりに、ブックにはコンテンツというコントロールが含まれ、コンテンツ コントロールにはページ コントロールが含まれます。

以下の節では、Administration Console の拡張ポイントについて説明します。

Administration Console のデスクトップ

WebLogic Portal Web アプリケーションには必ず 1 つ以上のデスクトップ コントロールが必要ですが、Administration Console でサポートされるのは 1 つのみです。デスクトップ コントロールのラベルは defaultDesktopLabel (図 2-2 を参照)です。

デスクトップの拡張

Administration Console のこのレベルでサポートされる拡張の種類はルック アンド フィール拡張のみです。ルック アンド フィールは Oracle のロゴ、色、およびフォントを置換します。「Administration Console の外観の変更」を参照してください。

Home ブックを置換したり、デスクトップに他のコントロールを追加することはできません。

Administration Console のルック アンド フィール

Administration Console のルック アンド フィールでは、フォントと色、Oracle ロゴ、ポータル コンポーネントのレイアウト、およびナビゲーション メニューを定義します。


注意 :

Administration Console では WebLogic Portal フレームワークのみを使用するため、ルック アンド フィールは 1 つしかサポートされません。Oracle WebLogic Portal 製品で利用可能なすべての機能を使用するポータル アプリケーションであれば、ユーザやグループの ID ごとにパーソナライズされた複数のルック アンド フィールをサポートできます。

ルック アンド フィールの拡張

会社のロゴ、フォント、カラー スキームを含む単純なルック アンド フィールの拡張を作成するには、WebLogic Server に含まれているサンプルのルック アンド フィールのロゴやカスケーディング スタイル シート (CSS) 定義を置き換えます。ポータル コンポーネントやナビゲーション メニューのレイアウトを変更するなど、WebLogic Server ルック アンド フィールに複雑な変更を加える場合は、WebLogic Portal ルック アンド フィールに関してより高度な知識が必要になります。Oracle Workshop for WebLogic Platform 9.2 以降がある場合は、ルック アンド フィール エディタを使用してこうした複雑な変更を加えられます。ルック アンド フィールの詳細については、『Oracle WebLogic Portal 用のポータル開発ガイド』のルック アンド フィールの機能を使用したユーザ インタフェース開発」を参照してください。

Home ブックとページ

Administration Console の最上位のブックは、ラベル Home で識別されます。この最上位のブックには、すべての Administration Console コンテンツが属す 1 つのページ (ラベル page) が含まれます (図 2-3 を参照)。

page ページでは、2 列のレイアウトが使用されています。左の列 (レイアウト ロケーション 0) には、Administration Console を使用する際に不可欠なサービスを提供するポートレットが含まれています。右の列 (レイアウト ロケーション 1) には、以下が含まれています。

  • ポートレット。

    • 最上部のポートレットには、ウェルカム メッセージが表示され、オンライン ヘルプなどのサービスを起動するボタンが配置されている。

    • 2 番目のポートレットには、階層リンク (Administration Console 内でのナビゲーション (移動) の履歴を保持する一連のハイパーリンク テキスト) が表示される。

    • 3 番目のポートレットは、デフォルトでは非表示。エラー メッセージやその他のステータス メッセージが表示されます。

  • ContentBook という名前のブック。「ContentBook」を参照してください。

Home ブックの拡張

Home ブック内での最も単純な拡張は、page ページの列へのポートレットの追加です。たとえば、[システム状態] ポートレットの下に、アプリケーションをモニタするポートレットを追加できます。

より複雑な拡張では Home ブックにブックを追加できます。そのような拡張の場合、Home ブックと拡張ブックは 2 つの別々のタブとして表示されます。

ContentBook

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 の拡張

ContentBook 内での最も単純な拡張は、コンテンツ固有のブックに子ブックを追加してタブを作成したり、子ページを追加してサブタブを作成したりすることです。「 UI コントロールの定義 (省略可能)」を参照してください。

Administration Console の UI コントロールの要約

図 2-6 に、Administration Console のラベル付き UI コントロールの最上位を示します。すべてのコンテンツ固有ブックを含むラベル付きの全 UI コントロールのリストを見るには、 UI コントロール ラベルを表示するための環境設定のコンフィグレーションの説明に従って、Administration Console ですべてのコンソール拡張ポイントを表示できます。

JSP テンプレートとタグ ライブラリ

Oracle では、テーブル、データ入力ボックス、ボタンなどの UI 機能の表示に使用できる JSP テンプレートとタグ ライブラリを提供しています。JSP テンプレートの詳細については、「WebLogic Server の JSP テンプレート」を参照してください。

JSP タグ ライブラリ

Administration Console では、Administration Console の拡張で使用できる独自のタグ ライブラリ (console-html.tld) が用意されています。Administration Console 自体が使用する、標準のサードパーティのタグ ライブラリに対する実行時サポートも提供されます。

これらのサードパーティの JSP タグ ライブラリを JSP にインポートするには、あらかじめ定義された絶対 URI を使用する必要があります。Administration Console の web.xml ファイルでは、これらの URI を、インストールされている WebLogic Server 内部のタグ ライブラリにマップします。このマッピング機能によって、ユーザが JSP を変更しなくても、タグ ライブラリのインストール ディレクトリが認識されます。

表 2-1 に、Administration Console が実行時サポートを提供するタグ ライブラリと、JSP へインポートするための URI を示します。

これらのライブラリの開発サポートが必要な場合 (たとえば、JSP タグのコード補完を提供する統合開発環境を使用する場合) は、これらのタグが含まれるように開発環境をコンフィグレーションする必要があります。


注意 :

カスタム タグ ライブラリを作成したり、付加的なタグ ライブラリを使用したりできますが、カスタム タグ ライブラリで必要となるすべてのサポート ファイルを拡張 WAR ファイルに含める必要があります。『Oracle WebLogic Server 用の JSP Tag Extensions プログラマーズ ガイド』を参照してください。

表 2-1 サポートされる JSP タグ ライブラリ

タグ ライブラリおよび URI 説明

タグ ライブラリ : console-html.tld

URI : /WEB-INF/console-html.tld

Administration Console のフォームやテーブルの機能に調和する HTML フォームや HTML テーブルを作成するための WebLogic Server JSP タグ。

これらのタグは、WebLogic Server Administration Console を拡張する場合にのみ使用する。

このタグ ライブラリのドキュメントについては、『Oracle WebLogic Server JSP タグ リファレンス』を参照。

タグ ライブラリ : render.tld

URI : render.tld

ポータル フレームワーク URL を生成するためのコンビニエンス タグ。「Portal Framework JSP Tag Javadoc」の <render:pageUrl> タグを参照。

タグ ライブラリ : beehive-netui-tags-template.tld

URI : http://beehive.apache.org/netui/tags-template-1.0

JSP を JSP テンプレートに関連付けるための Apache Beehive JSP タグ。

このタグ ライブラリとドキュメントを含む Beehive ディストリビューションは、http://beehive.apache.org/downloads.html からダウンロードできる。

タグ ライブラリ : beehive-netui-tags-databinding.tld

URI : http://beehive.apache.org/netui/tags-databinding-1.0

データ バインディング用の Apache Beehive JSP タグ。

このタグ ライブラリとドキュメントを含む Beehive ディストリビューションは、http://beehive.apache.org/downloads.html からダウンロードできる。

タグ ライブラリ : beehive-netui-tags-html.tld

URI : http://beehive.apache.org/netui/tags-html-1.0

基本的な HTML タグを生成するための Apache Beehive JSP タグ。

このタグ ライブラリとドキュメントを含む Beehive ディストリビューションは、http://beehive.apache.org/downloads.html からダウンロードできる。

タグ ライブラリ : c.tld

URI : http://java.sun.com/jsp/jstl/core

多くの JSP アプリケーションに共通の中核機能を提供する JavaServer Pages Standard Tag Library (JSTL) タグ。

JSTL ディストリビューションは、http://java.sun.com/products/jsp/jstl/downloads/index.html からダウンロードできる。

これらのタグ ライブラリのドキュメントについては、(http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html)の「JSTL Tag Library Reference」を参照。

タグ ライブラリ : fmt.tld

URI : http://java.sun.com/jsp/jstl/fmt

多くの JSP アプリケーションに共通の中核機能を提供する JavaServer Pages Standard Tag Library (JSTL) タグ。

JSTL ディストリビューションは、http://java.sun.com/products/jsp/jstl/downloads/index.html からダウンロードできる。

これらのタグ ライブラリのドキュメントについては、(http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html)の「JSTL Tag Library Reference」を参照。

タグ ライブラリ : struts-bean.tld

URI : http://struts.apache.org/tags-bean

Struts フレームワークとの対話に使用する Apache Struts タグ。

Struts ディストリビューションは、http://struts.apache.org/download.cgi からダウンロードできる。

これらのタグ ライブラリのドキュメントは、http://struts.apache.org/ から入手できる。

タグ ライブラリ : struts-html.tld

URI : http://struts.apache.org/tags-html

Struts フレームワークとの対話に使用する Apache Struts タグ。

Struts ディストリビューションは、http://struts.apache.org/download.cgi からダウンロードできる。

これらのタグ ライブラリのドキュメントは、http://struts.apache.org/ から入手できる。

タグ ライブラリ : struts-logic.tld

URI : http://struts.apache.org/tags-logic

Struts フレームワークとの対話に使用する Apache Struts タグ。

Struts ディストリビューションは、http://struts.apache.org/download.cgi からダウンロードできる。

これらのタグ ライブラリのドキュメントは、http://struts.apache.org/ から入手できる。

タグ ライブラリ : struts-tiles.tld

URI : http://struts.apache.org/tags-tiles

Struts フレームワークとの対話に使用する Apache Struts タグ。

Struts ディストリビューションは、http://struts.apache.org/download.cgi からダウンロードできる。

これらのタグ ライブラリのドキュメントは、http://struts.apache.org/ から入手できる。


例 : Struts ポートレットによるコンテンツの表示

以下の手順では、ポータル フレームワークが拡張のソース ファイルを使用して Struts ポートレットを検索し、ContentBook ブック内にタブとして表示する方法について説明します。

  1. ポータル フレームワークは最初に、拡張の netuix-extension.xml ファイルを解析します。

    この例の netuix-extension.xml ファイルでは、ポータル フレームワークが medrecMonitor.book という .book ファイルをロードして、その内容を CoreDomainConfigGeneralBook ブックの子として表示することを指定しています。

    <book-extension>
       <book-location>
          <parent-label-location label="CoreDomainConfigGeneralBook"/>
          <book-insertion-point action="append"/>
       </book-location>
       <book-content content-uri="/controls/medrecMonitor.book"/>
    </book-extension> 
    
  2. ポータル フレームワークは medrecMonitor.book ファイルをロードします。このファイルでは、ページ UI コントロールを定義し、そのページにポートレットが含まれることを指定しています。

    <netuix:page markupName="page" markupType="Page">
    ...
       <netuix:portletInstance markupType="Portlet"
          instanceLabel="medrecMonitor.Tab.Portlet"
          contentUri="/portlets/medrec_monitor_tab.portlet"/>
    </netuix:page>
    
  3. ポータル フレームワークはポートレット ファイルをロードします。このファイルでは、以下のように実行する Struts Action を指定しています。

    <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" 属性では、MedRecMBeanFormAction という Struts Action の定義が、medrecMBean という Struts モジュールの Struts コンフィグレーション ファイルにあることを示しています。Struts の命名規則では、このコンフィグレーション ファイルを struts-auto-config-medrecMBean.xml という名前にする必要があります。

  4. ポータル フレームワークは制御を Struts コントローラ サーブレットに渡します。このサーブレットは struts-auto-config-medrecMBean.xml ファイルを解析して、MedRecMBeanFormAction の以下の定義を検索します。

    <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>
    
  5. Struts コントローラ サーブレットは 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>
    

    namehandle、および totalRx というプロパティを指定して、org.apache.struts.action.DynaActionForm 型の Java Bean を初期化します。

  6. Struts コントローラ サーブレットは com.bea.medrec.extension.MedRecMBeanFormAction クラスを呼び出して、インスタンス化した DynaActionForm Bean をこのクラスに渡します。

  7. MedRecMBeanFormAction クラスは MedRec アプリケーションの MBean からデータを収集し、そのデータを DynaActionForm Bean のプロパティに格納します。

    MedRecMBeanFormAction クラスはデータを格納した DynaActionForm Bean を返します。

  8. Struts コントローラは DynaActionForm Bean をシリアライズして HTTP リクエスト内に設定し、JSP に転送します。

  9. JSP は JSP タグを使用して DynaActionForm Bean 内のデータを表示します。