ナビゲーションをスキップ

Administration Console の拡張

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

Administration Console の拡張について

以下の節では、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 フレームワークと WebLogic Portal の違い

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

BEA Products のライセンスに 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 コントロールは、ポータル インクルード ファイル (.pinc ファイル) と呼ばれる XML ファイル内に定義されます。この XML ファイルのスキーマでは UI コントロールの階層を指定します。UI コントロールの中には階層内の複数のレベルで使用できるものもあります。以下のリストでは、拡張の開発時に最もよく使用される UI コントロールの種類について説明します (図 2-1 を参照)。

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

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

図 2-1 UI コントロールの階層のサブセット

UI コントロールの階層のサブセット


 

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

Administration Console のデスクトップ

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

図 2-2 デスクトップ

デスクトップ


 

デスクトップの拡張

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

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

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

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

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

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

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

Home ブックとページ

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

図 2-3 Home ブックとページ

Home ブックとページ


 

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

Home ブックの拡張

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

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

ContentBook

ContentBook は、40 を超えるページを含むブックですが (図 2-4 を参照)、一度に 1 つのページのみを表示します。Administration Console 全体のナビゲーション コントロールによって、どのページを表示するかが決まります。

図 2-4 ContentBook

ContentBook


 

図 2-4 では、CoreDomainBook というページに CoreDomainConfigGeneralBook というブックが含まれています。CoreDomainConfigGeneralBook には 6 つの子ブックと、子ブックごとのタブ ([コンフィグレーション]、[モニタ]、[制御]、[セキュリティ]、[Web サービス セキュリティ]、[メモ]) を表示する singleLevelMenu という特別な UI コントロールが含まれています。各子ブック (DomainconfigTabPage など) には、複数の子ページ コントロールと singleLevelMenu コントロールが含まれています。ルック アンド フィールは、singleLevelMenu コントロールに、このレベルのページ コントロール用のサブタブ ([全般]、[JTA]、[EJB]、[Web アプリケーション]、[SNMP]、[ロギング]、[ログ フィルタ]) を生成させます。

コンテンツ固有のブックには、子ブック用のタブ付きインタフェースを表示しないものもあります。図 2-5 に、タブ付きインタフェースを表示しない ServerBook を示します。

図 2-5 ServerTableBook

ServerTableBook


 

ContentBook の拡張

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

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

図 2-6 に、Administration Console のラベル付き UI コントロールの最上位を示します。すべてのコンテンツ固有ブックを含むラベル付きの全 UI コントロールのリストを見るには、Administration Console でコントロールのラベルを表示するためのルック アンド フィール拡張をダウンロードしてインストールします。「UI コントロール ラベルを表示するための開発ルック アンド フィールのデプロイメント」を参照してください。

図 2-6 UI コントロールの階層の要約

UI コントロールの階層の要約


 

 


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

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

JSP タグ ライブラリ

Administration Console では、表 2-1 に示す各タグ ライブラリについて、デフォルトで実行時サポートが提供されます。これらのライブラリの開発サポートが必要な場合 (たとえば、JSP タグのコード補完を提供する統合開発環境を使用する場合) は、これらのタグが含まれるように開発環境をコンフィグレーションする必要があります (「開発環境の設定」を参照してください)。

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

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

タグ ライブラリ

内容

console-html.tld

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

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

このタグ ライブラリのドキュメントについては、『WebLogic Server 9.1 JSP Tags Reference」を参照。

render.tld

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

beehive-netui-tags-
template.tld

beehive-netui-tags-
databinding.tld

beehive-netui-tags-
html.tld

JSP と JSP テンプレートの関連付け、データのバインディング、および基本的な HTML タグの生成に使用する Apache Beehive JSP タグ。

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

c.tld

fmt.tld

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

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

これらのタグ ライブラリのドキュメントについては、「JSTL Tag Library Reference」を参照。

struts-bean.tld

struts-html.tld

struts-logic.tld

struts-nested.tld

struts-template.tld

struts-tiles.tld

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

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

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


 

 


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

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

  1. ポータル フレームワークは最初に、拡張の netuix-extension.xml ファイルを解析します。
  2. この例の 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>

  3. ポータル フレームワークは medrecMonitor.pinc ファイルをロードします。このファイルでは、ページ UI コントロールを定義し、そのページにポートレットが含まれることを指定しています。
  4. <netuix:page markupName="page" markupType="Page">
    ...
       <netuix:portletInstance markupType="Portlet"
          instanceLabel="medrecMonitor.Tab.Portlet"
          contentUri="/portlets/medrec_monitor_tab.portlet"/>
    </netuix:page>

  5. ポータル フレームワークはポートレット ファイルをロードします。このファイルでは、以下のように実行する Struts Action を指定しています。
  6. <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 という名前にする必要があります。

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

  9. Struts コントローラ サーブレットは action 要素の name="medrecMBeanEJBForm" 属性を見つけると、同じ Struts コンフィグレーション ファイルで medrecMBeanEJBForm というフォーム Bean の定義を探します。
  10. コンフィグレーション ファイルで以下の要素が見つかったら、
    <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 を初期化します。

  11. Struts コントローラ サーブレットは com.bea.medrec.extension.MedRecMBeanFormAction クラスを呼び出して、インスタンス化した DynaActionForm Bean をこのクラスに渡します。
  12. MedRecMBeanFormAction クラスは MedRec アプリケーションの MBean からデータを収集し、そのデータを DynaActionForm Bean のプロパティに格納します。
  13. MedRecMBeanFormAction クラスはデータを格納した DynaActionForm Bean を返します。

  14. Struts コントローラは DynaActionForm Bean をシリアライズして HTTP リクエスト内に設定し、JSP に転送します。
  15. JSP は JSP タグを使用して DynaActionForm Bean 内のデータを表示します。
  16. 図 2-7 Struts ポートレットの概要

    Struts ポートレットの概要


     

 

フッタのナビゲーションのスキップ  ページの先頭 前 次