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

Administration Console の拡張

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

Administration Console の拡張について

Administration Console を拡張すると、WebLogic Server にインストールされているファイルを修正することなく、WebLogic Server Administration Console のコンテンツを追加または置換したり、ロゴ、スタイル、色を変更したりできます。たとえば、カスタマイズされたモニタ機能や管理機能を備えたポートレットを追加できます。

Administration Console は、WebLogic Portal フレームワーク、Apache Beehive、Apache Struts、Java Server Page (JSP)、および他の標準技術を使用してユーザ インタフェース (UI) とコンテンツを表示する J2EE Web アプリケーションです。WebLogic Portal フレームワークは、拡張を有効にするためにも使用します。

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

 


Administration Console の拡張とは

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

Administration Console の拡張の主要なコンポーネントは以下の 2 つです。

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

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 列のレイアウトを表示します。別のグループは、タブ付きインタフェース内の個別のタブを表示します。

これらの UI コントロールの多くはユニークなラベルで識別されます。NetUI 拡張 XML ファイルでは、追加または置換するラベル付きコントロールを指定します。WebLogic Server JSP タブでこれらのラベルを使用して、リクエストを特定の UI コントロールに転送することもできます。ラベルで特定できない UI コントロールは、拡張したりリクエストを転送したりできません。その場合は、ラベル付きの祖先コントロールまたは子コントロールと対話する必要があります。

以下の節では、Administration Console のラベル付き UI コントロールについて説明します。

UI コントロールの種類

以下に、Administration Console でラベル付けされる UI コントロールの種類をまとめます。

デスクトップ

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

図 2-1 デスクトップ

デスクトップ


 

デスクトップの拡張

Administration Console の拡張を使用して、デスクトップのルック アンド フィールを置換できます。ただし、最上位のブックは置換できません。ルック アンド フィールを置換するには、netuix-extension XML ファイルの desktop-extension 要素を使用します (『NetUI Extensions Schema Reference』の「desktop-extension」を参照してください)。

<desktop-extension>
    <look-and-feel-content title="myLookandFeel"
      ...
   />
</desktop-extension>

Home ブックとページ

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

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

Home ブックとページ


 

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

Home ブックの拡張

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

page ページを拡張するには、netuix-extension XML ファイルの page-extension 要素を使用します (『NetUI Extensions Schema Reference』の「page-extension」を参照してください)。

<page-extension>
    <page-location>
      <parent-label-location label="page"/>
      ...
   </page-location>
   ...
</page-extension>

ContentBook

ContentBook は、40 を超えるページを含むブックですが、一度に 1 つのページのみを表示します。Administration Console 全体のナビゲーション コントロールによって、どのページを表示するかが決まります。たとえば、[ドメイン構造] というタイトルのポートレット (NavTreePortlet) 内の「mydomain」をユーザがクリックすると、ドメインをコンフィグレーションするためのコントロールを含むページが ContentBook によって表示されます (図 2-3 参照してください)。

図 2-3 ContentBook

ContentBook


 

ContentBook の各ページには、コンテンツ固有の単一のページが含まれます。コンテンツ固有のブックには複数のブックが含まれ、一部のブックでは singleLevelMenu コントロールを使用してタブ付きインタフェースを表示しています。図 2-3 の各タブ ([コンフィグレーション]、[モニタ]、[制御]、[セキュリティ]、[Web Services Security]、および [メモ]) は、singleLevelMenu コントロールを使用したブックによって表示されます。

注意 : CoreDomainBook では、簡潔に示すために一部のラベル付きコントロールが省略されています。

タブ付きインタフェースを表示する各ブックは、少なくとも 1 つのページを含んでいます。ブックに複数のページが含まれている場合は、各ページで singleLevelMenu コントロールを使用してサブタブを表示しています。図 2-3 では DomainconfigTabPage ブックによって [コンフィグレーション] タブが表示されています。このブックの各サブタブがページです。たとえば、DomainConfigGeneralPage は、[全般] サブタブを表示するポートレットを含むページです。

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

図 2-4 ServerTableBook

ServerTableBook


 

ContentBook の拡張

ContentBook 内での最も単純な拡張は、コンテンツ固有のブックにタブ付きブックを追加したり、サブタブを追加したりすることです。ContentBook を拡張するには、netuix-extension XML ファイルの book-extension 要素を使用します (『NetUI Extensions Schema Reference』の「book-extension」を参照してください)。

たとえば、次の XML スタンザでは、CoreDomainGeneralBook にタブ付きブックを追加しています。

<book-extension>
   <book-location>
      <parent-label-location label="CoreDomainGeneralBook"/>
      <book-insertion-point action="append"/>
   </book-location>
</book-extension>

次の XML スタンザでは、DomainconfigTabPage ブックにサブタブを追加しています。

<book-extension>
   <book-location>
      <parent-label-location label="DomainconfigTabPage"/>
      <book-insertion-point action="append"/>
   </book-location>
</book-extension>

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

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

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

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


 

 


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

ルック アンド フィールは、画像、カスケーディング スタイル シート、XML ファイル、およびその他のファイル タイプを集めたもので、これによってポータル アプリケーションの物理的な外観を制御します。たとえば、Administration Console で使用するフォントと色、ポータル コンポーネントのレイアウト、ナビゲーション メニューなどを定義します。

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

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

 


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

Administration Console のほとんどのコンテンツは JSP によって表示され、その JSP のほとんどには、コンテンツの基本的な構造を提供するさまざまなテンプレート JSP の 1 つがインポートされています。また、JSP では、JSP タグ ライブラリを使用してテーブル、データ入力ボックス、ボタンなどの UI 機能を表示します。

コンソールの拡張も、これと同じパターンで、Administration Console の JSP テンプレートとタグ ライブラリを使用できます。たとえば、JSP タグとテンプレートを使用すると、45 行未満のコードで図 2-4 のサーバ テーブル ページを生成できます (コード リスト 2-1 を参照してください)。

コードリスト 2-1 サーバ テーブル ページの JSP

<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/console-html.tld" prefix="wl" %>
<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
<%@ taglib uri="/WEB-INF/beehive-netui-tags-template.tld" prefix="beehive-template" %>
<fmt:setBundle basename="core" var="current_bundle" scope="page"/>
<beehive-template:template templatePage="/layouts/tableBaseLayout_netui.jsp">
   <beehive-template:section name="configAreaIntroduction">
      <fmt:message key="core.server.servertable.introduction"
            bundle="${current_bundle}"/>
   </beehive-template:section>
   <beehive-template:section name="table">
      <wl:table name="extensionForm"
             property="contents"
             showcheckboxes="true"
             captionEnabled="true"
             controlsEnabled="true"
             checkBoxValue="handle"
             bundle="core"
             formEnabled="true"
             singlechange="false">
         <wl:caption>
            <fmt:message key="server.table.caption"
                 bundle="${current_bundle}"/>
         </wl:caption>
         <wl:column property="name" label="server.table.label.name">
            <wl:column-dispatch perspective="configuration-page"/>
         </wl:column>
         <wl:column property="clusterName"
            label="server.table.label.cluster"/>
         <wl:column property="machineName" label="server.table.label.machine"/>
      </wl:table>
   </beehive-template:section>
</beehive-template:template>

WebLogic Server の JSP テンプレート

表 2-1 では、Administration Console の拡張で使用できる JSP テンプレートについて説明します。すべてのテンプレートは、Administration Console の WEB-INF ディレクトリ内にある /layouts ディレクトリに格納されています。WebLogic Server ではテンプレート自体は公開されていませんが、テンプレートの使用方法については「Administration Console と調和するポートレットの作成」で説明します。

テンプレートがニーズに合わない場合は、独自のテンプレートを作成し、JSP 内に直接コンテンツを構造化できます。

表 2-1 Administration Console の JSP テンプレート

テンプレート

説明

tableBaseLayout_netui.jsp

Administration Console では、単一のテーブルを表示するすべての JSP でこのテンプレートを使用する (図 2-4 を参照)。

ドキュメント全体の構造を作成するため、このテンプレートから 2 行の HTML テーブルが出力される。1 行目には、そのドキュメントの <beehive-template:section name="configAreaIntroduction"> タグ内のすべてが格納される。通常、これがドキュメントの概要を示すテキストになる。

2 行目には、そのドキュメントの <beehive-template:section name="table"> タグ内のすべてが格納される。通常、これが WebLogic Server リソースやリソースを操作するためのボタン バーを表示するテーブルになる。

コード リスト 2-1 では、このテンプレートを使用している。

configBaseLayout_netui.jsp

Administration Console では、概要の説明、HTML フォーム、[保存] および [キャンセル] ボタンを表示するすべての JSP でこのテンプレートを使用する (図 2-3 を参照)。

このテンプレートからの出力は、ドメインのコンフィグレーションを変更する特権がユーザにあるかどうかに応じて行われる。

ユーザにパーミッションがある場合は、4 行の HTML テーブルが出力される。1 番目と 4 番目の行には、[保存] および [キャンセル] ボタンと、ユーザがロックしていて変更が可能な状態になっているかどうかを示すメッセージが表示される。ユーザにパーミッションがない場合、テーブルにはこれらの行が含まれない。

2 行目には、そのドキュメントの <beehive-template:section name="configAreaIntroduction"> タグ内のすべてが格納される。通常、これがドキュメントの概要を示すテキストになる。

3 行目には、そのドキュメントの <beehive-template:section name="form"> タグ内のすべてが格納される。通常、これがユーザ入力コントロールと説明になる。


 

JSP タグ ライブラリ

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

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

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

タグ ライブラリ

内容

console-html.tld

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

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

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

beehive-netui-tags-
template.tld

beehive-netui-tags-
databinding.tld

beehive-netui-tags-
html.tld

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

このタグ ライブラリとドキュメントを含む Beehive ディストリビューションは、http://incubator.apache.org/beehive/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/ から入手できる。


 

 


サンプル : 拡張でコンテンツを検索して表示する仕組み

この節では、ポータル フレームワークが拡張のソース ファイルを使用してデータを検索し表示する手順を示します。この手順では、WebLogic Server JSP タグと Struts アクションを使用する拡張について説明します。

  1. NetUI 拡張ファイルが、ロードするポートレット ファイルを特定します。
  2. たとえば、次の NetUI 拡張ファイルのスタンザでは、拡張を表示する場所と、その場所にロードするポートレット ファイルが記述されています。

    <page-extension>
       <page-location>
          <parent-label-location label="page"/>
          <page-insertion-point layout-location="0"
              placeholder-position="0"
          />
       </page-location>
       <portlet-content
          content-uri="/portlets/desktop/desktop_view.portlet"
           title="My Extension"
          orientation="top" default-minimized="false"
          instance-label="PortletExtensionInstanceLabel"
       />
    </page-extension>

    Administration Console にブックやページを追加する拡張の場合、NetUI 拡張ファイルは、ポートレット ファイルの代わりに、ブックやページを定義するポータル インクルード ファイルを特定します。ポータル インクルード ファイルは、ロードするポートレット ファイルを特定します。

  3. ポートレット ファイルが、実行する Struts アクションを特定します。
  4. たとえば、次のポートレット ファイルのスタンザは、ポートレットを定義し、実行する Struts アクションを特定しています。

    <portal:root>
       <netuix:portlet
          definitionLabel="MyPortlet"
          title="my.portlet.title">
       <netuix:strutsContent module="/mycompany"
          action="MyExtensionAction"
          refreshAction="MyExtensionAction"/>
       </netuix:portlet>
    </portal:root>

    Struts アクションを実行する代わりに、JSP や Beehive ページ フローをロードするポートレットを作成することもできます。

  5. Struts アクションによって、フォーム Bean への入力 (通常は WebLogic Server MBean からのデータの入力) と JSP への転送が実行されます。
  6. JSP が、JSP タグを使用してフォーム Bean 内のデータを表示します。

 

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