Skip navigation.

WebLogic Platform ツアー ガイド

  前 次 前と次、目次/インデックス/pdf を分けるコロン 目次  

Avitek 社の企業イントラネットにログインする

それでは、ツアーを開始しましょう。この節では、Avitek 社の企業イントラネットに、新しい従業員 John Smith としてログインします。この節では、ログイン プロセスとイントラネット ポータルの機能について説明し、WebLogic Portal を使用して構築されたアプリケーションの統合を例示します (WebLogic Portal は、WebLogic Workshop Platform Edition に付属しています)。

ツアーの各手順」に示されている手順を実行し、この節で説明する概念を検討して、次の内容を学習します。

 


ツアーの各手順

WebLogic Platform ツアーの Web アプリケーションを起動すると、Avitek イントラネット ポータルへのログインを要求されます。

最初に、Avitek 社の企業イントラネットに、新しい従業員 John Smith としてログインします。

  1. Avitek の [ログイン] ウィンドウで、以下のユーザ名とパスワードを入力します。
  2. ユーザ名 : john
    パスワード : employee

  3. [ログイン] をクリックします。

イントラネット ポータルの従業員画面が表示されます。

 


WebLogic Portal を使用してイントラネット ポータルを開発する

WebLogic Portal を使用すると、ポータルの開発、管理、および配信を簡単に行なうことができます。WebLogic Workshop と WebLogic Workshop Portal Extensions を併用すると、ポータルをグラフィカルに設計し、Web サービス、Web アプリケーション、ビジネス プロセスを統合できます。WebLogic Workshop を使用して構築したポータルなら、デプロイと管理に WebLogic Portal を使用できます。

以下の節で、WebLogic Portal の主要な機能について説明します。

ポータルを設計する

ポータルは、Web ベースのアプリケーションに対するユーザ インタフェースを提供します。ポータルとは企業のデータとアプリケーションにアクセスできるように用意された単一のポイントのことで、統合およびパーソナライズされたビューを通して、従業員、顧客、およびビジネス パートナに対して情報を表示します。

WebLogic Workshop を使用すると、ポータルを簡単に作成できます。ターゲット フォルダをクリックし、[ファイル新規作成ポータル] を選択します。ポータル デザイナが起動し、ポータルが表示されます。このポータルには、デフォルトのヘッダ、本文、フッタが組み込まれています。

ポータル デザイナはグラフィック ツールで、次の図に示すように、[従業員] ポータルのようなポータルを設計できます。

図 2-1 ポータル デザイナ

ポータル デザイナ


 

次の表では、前図にあるポータル設計ツールについて説明します。

表 2-1 ポータルの設計に使用するツール 

番号

使用するツール

実行するタスク

1

[アプリケーション] ウィンドウ

ポータル アプリケーション プロジェクトに含まれるポータル ファイルを作成、表示、および編集する。ポータル ファイルの名前には .portal という拡張子が付く。

ポータル デザイナでは、ポータルは XML ファイルとして格納される。WebLogic Workshop でポータル ファイルを XML フォーマットで表示するには、ポータル ファイルを右クリックして、ポータル アプリケーションの [XML として開く] プロパティが有効な場合にドロップダウン メニューから [XML として開く] を選択する。

ポータル アプリケーションの XML として開くプロパティを有効にするには

    1. [ツールアプリケーション プロパティ] をクリックして、[アプリケーション プロパティ] ウィンドウを開く。

    2. 左側のペインで、ポータル フォルダを選択する。

    3. ポータル オプションの [[XML として開く] オプションを利用可能にする] チェック ボックスをクリックしてこのオプションを選択する。

    4. [OK] をクリックして変更内容を適用し、[アプリケーション プロパティ] ウィンドウを閉じる。

2

[デザイン ビュー]

この領域でポータルを設計する。

3

[パレット] ウィンドウ

[パレット] ウィンドウからコンポーネントをドラッグしてデザイン ビューのキャンバスにドロップすることで、ブックおよびページをポータルに追加する。

4

[データ パレット] ウィンドウ

[データ パレット] ウィンドウからポートレットをドラッグしてデザイン ビューのキャンバスにドロップすることで、ポートレットをポータルに追加する。WebLogic Portal に付属するサンプル ポートレットを使用することも、「ポートレットを設計する」で説明する手順に従い独自のポートレットを作成することもできる。

5

[プロパティ エディタ] ウィンドウ

ポータルのルック アンド フィールなど、現在選択されているポータル コンポーネントのプロパティを設定する。ポータル コンポーネントを選択するには、デザイン ビューのキャンバス内で該当するものをクリックするか、次に説明する [ドキュメント構造] ウィンドウでその名前を選択する。

6

[ドキュメント構造] ウィンドウ

ポータル インタフェースのコンポーネントを階層構造で表示する (「図 2-3」を参照)。

[ドキュメント構造] ウィンドウでポータル コンポーネントをクリックすると、そのコンポーネントを選択できる。ポートレット コンポーネントがデザイン ビューで選択され、[プロパティ エディタ] ウィンドウでそのプロパティを編集できる。


 

次の図に、ポータルの階層構造を示します。

図 2-2 ポータルの階層構造

ポータルの階層構造


 

上の図にあるように、ポータルの階層構造は、次のコンポーネントによって構成されています。

[ドキュメント構造] ウィンドウには、現在のポータル ファイルに含まれる特定のコンポーネント間のリレーションシップが階層構造で表示されます。

図 2-3 ポータルの [ドキュメント構造] ウィンドウ

ポータルの [ドキュメント構造] ウィンドウ


 

[ドキュメント構造] ウィンドウに表示されるヘッダ コンポーネントとフッタ コンポーネントは、メイン ボディの上下にある領域を表していて、通常はパーソナライズされたコンテンツ、バナー グラフィック、著作権表示、関連リンクなどが配置されます。

ポータルの作成および設計についてさらに学習するには

ポートレットを設計する

ポータル内の各ページは、ネストしたページのセット、つまりポートレットで構成することができます。ポートレットは、ポータル ページ上にあるユーザ固有のリソースです。ポートレットには、特定のアプリケーションやサービスへのアクセスが用意されているので、さまざまな場所にある情報、ビジネス プロセス、アプリケーションに、1 つの場所からユーザがアクセスできます。

WebLogic Workshop を使用すると、ポートレットを簡単に作成できます。ターゲット フォルダをクリックし、[ファイル新規作成ポートレット] を選択します。ポートレット ウィザードが起動して、最初のポートレットを作成するプロセスに進み、そのポートレットがポートレット デザイナで開きます。

ポートレット デザイナはグラフィック ツールで、次の図に示すように、[従業員] ポートレットのようなポートレットを設計できます。ポートレット デザイナでは、ポートレットは XML ファイルとして格納される。

図 2-4 ポートレット デザイナ

ポートレット デザイナ


 

次の表では、前の図にあるポートレット設計ツールについて説明します。

表 2-2 ポートレットの設計に使用するツール 

番号

使用するツール

実行するタスク

1

[アプリケーション] ウィンドウ

ポータル アプリケーション プロジェクトに含まれるポートレット ファイルを作成、表示、および編集する。ポートレット ファイルの名前には .portlet という拡張子が付く。

ポートレット デザイナでは、ポートレットは XML ファイルとして格納される。WebLogic Workshop でポートレット ファイルを XML フォーマットで表示するには、ポートレット ファイルを右クリックして、ポータル アプリケーションの [XML として開く] プロパティが有効な場合にドロップダウン メニューから [XML として開く] を選択する。

ポータル アプリケーションの XML として開くプロパティを有効にするには

    1. [ツールアプリケーション プロパティ] をクリックして、[アプリケーション プロパティ] ウィンドウを開く。

    2. 左側のペインで、ポータル フォルダを選択する。

    3. ポータル オプションの [[XML として開く] オプションを利用可能にする] チェック ボックスをクリックしてこのオプションを選択する。

    4. [OK] をクリックして変更内容を適用し、[アプリケーション プロパティ] ウィンドウを閉じる。

2

[デザイン ビュー]

この領域でポートレットを設計する。

3

[パレット] ウィンドウ

次のいずれかのコントロールをポートレットに追加する。

  • ヘルプ モード - タイトルバーにアイコンを追加する。このアイコンをクリックすると、ヘルプ情報が表示される。[プロパティ エディタ] ウィンドウで、関連するヘルプ URI の値を設定する。

  • 編集モード - タイトルバーにアイコンを追加する。このアイコンをクリックすると、現在のポートレットのコンテンツを編集できるページがロードされる。[編集] アイコンをクリックしたときにロードされるページを定義するには、[プロパティ エディタ] ウィンドウで関連する編集 URI の値を設定する。

  • 新しいプリファレンス - 開発者レベルでカスタマイズできるアプリケーション プロパティを追加する。これは、管理者とエンド ユーザにもエクスポーズできる。

4

[プロパティ エディタ] ウィンドウ

現在選択されているポートレット コンポーネントのプロパティを設定する。たとえば、ページフローを特定するコンテンツ URI や、ポートレットの最初のコンテンツを定義する JSP などを設定する。ポートレット コンポーネントを選択するには、デザイン ビューのキャンバス内で該当するものをクリックするか、次に説明する [ドキュメント構造] ウィンドウでその名前を選択する。

5

[ドキュメント構造] ウィンドウ

ポートレット インタフェースのコンポーネントを階層構造で表示する (「図 2-5」を参照)。

[ドキュメント構造] ウィンドウでポートレット コンポーネントをクリックすると、そのコンポーネントを選択できる。ポートレット コンポーネントがデザイン ビューで選択され、[プロパティ エディタ] ウィンドウでそのプロパティを編集できる。


 

次の図に、ポートレットの [ドキュメント構造] ウィンドウを示します。

図 2-5 ポートレットの [ドキュメント構造] ウィンドウ

ポートレットの [ドキュメント構造] ウィンドウ


 

[ドキュメント構造] ウィンドウの図にあるように、サンプルの [従業員] ポートレットのインタフェースの階層構造は、次のコンポーネントによって構成されています。

ポートレットの設計についてさらに学習するには

ページフローを使用してユーザ パスを制御する

Web アプリケーション内では、ページフローによって、複数の Web ページが特定の順序で関連付けられるため、これらのページ間のユーザ パスとそれに関連付けられたデータが決定されます。ページフローは、Web アプリケーション コンポーネントの動作制御用に特別に設計されたアノテーション、メソッド、およびフォームを持つ Java クラスで構成され、Apache Struts フレームワークをベースにしています。

ページフローには、1 つまたは複数の JSP ファイルを含めることができます。それにはページフロー フォルダに対象の JSP ファイルを追加します。JSP ファイルには特別なタグを使用でき、そのタグをページフロー ランタイムが解釈して、適切なアクションを呼び出します。JSP の各アクションは、ページフローで定義されたアクション メソッドに対応します。アクションは、サイトのナビゲーション、データの受け渡し、またはコントロール経由でのバックエンド ビジネス ロジックの呼び出しに使用できます。ページフロー クラスのビジネス ロジックは、JSP ファイルで定義されたプレゼンテーション コードとは分離されています。

WebLogic Workshop を使用すると、ページフローを簡単に作成できます。ターゲット フォルダをクリックし、[ファイル新規作成ページフロー] を選択します。ページフロー ウィザードが起動して、最初のページフローを作成するプロセスに進み、そのページフローがページフロー デザイナで開きます。

ページフロー デザイナはグラフィック ツールで、次の図に示すように、[従業員] ページフローのようなページフローを設計できます。

図 2-6 ページフロー デザイナー - フロー ビュー

ページフロー デザイナー - フロー ビュー


 

次の表では、前の図にあるページフロー設計ツールについて説明します。

表 2-3 ページフローの設計に使用するツール 

番号

使用するツール

実行するタスク

1

[アプリケーション] ウィンドウ

ポータル アプリケーション プロジェクトに含まれるページフロー ファイルを作成、表示、および編集する。ページフロー ファイルの名前には .jpf という拡張子が付く。

各ページフローには 1 つのフォルダが対応付けられ、そのフォルダには 1 つのコントローラ ファイル、参照される JSP ファイル、およびページフローに必要なアプリケーション ファイルが格納されている。ページフローに含める JSP ファイルは、ページフロー フォルダに配置する必要がある。

2

[フロー ビュー]、[アクション ビュー]、および [ソース ビュー]

この領域でページフローを設計する。必要に応じて、次のビューを切り替える。

  • フロー ビュー - Web アプリケーション内のページとそのページを結びつけるアクション間のリレーションシップをグラフィカルに構築する。

  • アクション ビュー - ページフローのアクション アイコンで呼び出されるアクションを定義する (「図 2-7」を参照)。

  • ソース ビュー - ソース コードを直接編集して、ビジネス ロジックを追加する。

1 つのビューで行った変更は、自動的に他方のビューにも反映される。

3

[パレット] ウィンドウ

[パレット] ウィンドウからコンポーネントをドラッグしてフロー ビューのキャンバスにドロップすることで、ページフローに各種アイコンを作成する。次の種類のアイコンを作成できる。

  • 開始アクション - ページフローが起動されたときにロードされるページと実行するアクションを定義する begin() メソッド。このアイコンは、ページフローを作成すると、自動的に要求され追加される。

  • アクション - ページフローのコントローラ クラスで定義したアクションのメソッド。

  • ページ - アクション メソッドが実行されたときにロードされる JSP ページ。

  • ページフロー - アクション メソッドが実行されたときにロードされるページフロー。

  • 終了 - ユーザが現在のページフローを終了するときに実行される内容を定義する done() メソッド。

  • アクションに戻る - 特定のアクションに制御を戻すリダイレクト メソッド。

  • ページに戻る - 特定のページに制御を戻すリダイレクト メソッド。

4

[データ パレット] ウィンドウ

ページフローで使用する Java コントロールとフォーム Bean を定義する。

Java コントロールは、エンタープライズ JavaBean (Enterprise Java Bean : EJB) やデータベースなどのエンタープライズ リソースに、アプリケーションから簡単にアクセスできるようにする。コントロールがユーザに代わってエンタープライズ リソースに接続する作業を行なうため、開発者はアプリケーションのビジネス ロジックに専念できる。

フォーム Bean はデータの格納に使用する変数を定義する。フォーム Bean をアクションで定義する場合、アクション アイコンの右下の隅に小さなボックスが表示される。たとえば、前の図では、UsrInfo メソッドと logout メソッドにフォーム Bean を定義する。

5

[フォーム Bean] ウィンドウ

選択したアクションに定義されているフォーム Bean を編集する。選択したアクションにフォーム Bean が定義されていない場合は、このウィンドウは空になる。

6

[プロパティ エディタ] ウィンドウ

ページフロー内で現在選択されているコンポーネントのプロパティを設定する。ページフロー アイコンを選択するには、デザイン ビューのキャンバス内で該当するものをクリックするか、次に説明する [ドキュメント構造] ウィンドウでその名前を選択する。

7

[ドキュメント構造] ウィンドウ

ページフローを構成する Java エンティティおよびページフロー アイコンの概要を表示する (「図 2-8」を参照)。この概要には、ページフローに定義された Java クラス、メソッドとシグネチャ、変数、内部クラスが含まれる。

Java エンティティまたはページフロー アイコンを選択するには、[ドキュメント構造] ウィンドウでクリックする。ページフロー アイコンを選択すると、そのアイコンはフロー ビューまたはアクション ビューのキャンバス内でも選択され、[プロパティ エディタ] ウィンドウでそのプロパティを編集できる。Java エンティティまたはページフロー アイコンをダブルクリックすると、ソース ビューでそのコードの場所に移動できる。


 

次の図に、[従業員] ページフローのアクション ビューを示します。

図 2-7 ページフロー デザイナー - アクション ビュー

ページフロー デザイナー - アクション ビュー


 

アクション ビューには、ページフローに定義されているすべてのアクションと Java コントロール、および参照されるページとページフローが表示されます。

次の図に、ページフローの [ドキュメント構造] ウィンドウを示します。

図 2-8 ページフローの [ドキュメント構造] ウィンドウ

ページフローの [ドキュメント構造] ウィンドウ


 

ページフローの設計についてさらに学習するには

JSP コンテンツを作成する

JSP はインターネット経由で動的なコンテンツを生成する優れた手段です。JSP は、ポートレットの実装に使用され、静的な HTML、JSP タグ ライブラリ、EJB コンポーネントにアクセスする JSP スクリプトレットなどのアプリケーション サーバで利用可能な機能を含めることができます。

WebLogic Workshop を使用すると、JSP を簡単に作成できます。ターゲット フォルダをクリックし、[ファイル|新規作成JSP ファイル] を選択します。JSP エディタが開き、基本的な HTML コンテンツが含まれる JSP ファイルが表示されます。

図 2-9 JSP エディタ

JSP エディタ


 

次の表では、前の図にある JSP 編集ツールについて説明します。

表 2-4 JSP の設計に使用するツール 

番号

使用するツール

実行するタスク

1

[アプリケーション] ウィンドウ

ポータル アプリケーション プロジェクトに含まれる JSP ファイルを作成、表示、および編集する。JSP ファイルの名前には .jsp という拡張子が付く。

2

[デザイン ビュー] と [ソース ビュー]

この領域で JSP を設計する。デザイン ビューとソース ビューは必要に応じて切り替え可能で、1 つのビューで行った変更は自動的に他方のビューにも反映される。

デザイン ビューでは、JSP ページ上の HTML 要素はブラウザと同じように表示される。Java コードと他の要素は特別な形式で表示される。

3

[パレット] ウィンドウ

[パレット] ウィンドウからコンポーネントをドラッグしてデザイン ビューのキャンバスにドロップすることで、JSP タグを JSP コンテンツに追加する。

JSP タグは次のカテゴリに分類できる。

  • HTML - 標準的な HTML 要素タグ。

  • NetUI - 標準タグ、データ バインディング タグ、およびテンプレート タグを含むページフロー タグ。

  • ポータル - コンテンツ表示、パーソナライゼーション、スケルトン表示などに対応する WebLogic Portal タグ。

  • カスタム コントロール - プロジェクト用に定義したカスタム コントロールに対応するタグ。カスタム コントロールの構築に必要な手順は、「カスタム コントロールを作成する」を参照。

  • クライアント固有のコンテンツ - クライアント固有のコンテンツに対応するタグ。

WebLogic Workshop では、WEB-INF フォルダに必要なタグ ライブラリがある。*.tld ファイルは J2EE 標準タグ ライブラリ記述子ファイル。*.tldx ファイルは WebLogic Workshop 固有のファイルで、IDE でのタグの動作に関する情報が含まれる。

4

[データ パレット] ウィンドウ

次のカテゴリのコンポーネントを表示または追加する。

  • [ページ] - コントロールを追加および表示し、定義されているフォーム Bean を表示する。

  • [ページフロー] - ページフローに定義されているプロパティ、コントロール、およびアクションを表示する。

5

[テーブル ナビゲータ] ウィンドウ

選択されているテーブルの行とカラムをナビゲートし、選択されたセルと行を追加、マージ、または削除を行なう。

6

[プロパティ エディタ] ウィンドウ

現在選択されている JSP ファイル コンポーネントのプロパティを設定する。JSP タグ コンポーネントは、デザイン ビューのキャンバス、デザイン ビューのステータス バーに表示される階層的なタグ構造 (「図 2-11」を参照)、または次に説明する [ドキュメント構造] ウィンドウでそのコンポーネントをクリックして選択できる。

7

[ドキュメント構造] ウィンドウ

階層構造で JSP ファイル内の JSP タグを表示する (「図 2-10」を参照)。[ドキュメント構造] ウィンドウで任意の JSP コンポーネントをクリックすると、そのコンポーネントがデザイン ビューでも選択され、プロパティを編集できる。


 

次の図に、JSP ファイルの [ドキュメント構造] ウィンドウを示します。

図 2-10 JSP ファイルの [ドキュメント構造] ウィンドウ

JSP ファイルの [ドキュメント構造] ウィンドウ


 

また、現在の JSP タグの階層構造は、次の図にあるように、デザイン ビューのステータス バーにも反映されます。

図 2-11 デザイン ビューのステータス バーでの JSP タグの階層

デザイン ビューのステータス バーでの JSP タグの階層


 

JSP コンテンツの作成についてさらに学習するには

WebLogic Portal を使用してポータルを管理する

WebLogic Portal には、設計、開発、デプロイメント、および管理を含む、ポータルの完全なライフサイクルをサポートする制御構造が用意されています。ポータル設計者がポータル Web サイトに必要なリソースを開発した後は、ポータル管理者がこれらのリソースを使用して複数のポータルを作成、管理、変更できます。

ポータル管理では、多くの従来型システム管理作業に加えて、ポータルの動作、コンテンツ、および外観を制御するビジネス ユーザ タスクも伴います。

下の図に示される WebLogic Administration Portal では、ポータル管理者が以下のポータル機能を管理できます。

ポータル管理の詳細については、e-docs にある WebLogic Administration Portal ヘルプを参照してください。

 


Avitek イントラネット ポータルを検討する

Avitek イントラネット ポータルでは、従業員とマネージャが企業イントラネットにログインできます。ログインすると、従業員用またはマネージャ用にカスタマイズされたイントラネット ポータルにアクセスできます。

次の表では、WebLogic Platform ツアー用に定義されたユーザ名が定義されています。

表 2-5 WebLogic Platform ツアー用に定義されているユーザ名 

ユーザ名

パスワード

可能な操作

john

employee

John Smith (Avitek 社の従業員)

  • 自分の従業員プロファイルの参照

  • オフィス機器の注文の送信およびその注文のステータスの確認

rachel

emanager

Rachel Burns (Avitek 社のマネージャ)

  • 直属の部下のリストの参照

  • 自分の直属の部下からのオフィス機器の注文申請の承認または却下、およびそのステータスの確認


 

e2ePortal Web アプリケーションは、Avitek イントラネット ポータルを定義します。WebLogic Workshop で e2ePortal Web アプリケーションを表示するには

  1. 次の手順に従い、e2eWorkflow アプリケーションを開きます。
    1. [ファイル開くアプリケーション] を選択します。
    2. WebLogic Platform のインストール先の samples¥platform¥end2end¥e2ePortal フォルダに移動します。
    3. e2ePortal.work を選択します。
    4. アプリケーション ファイルの名前には、.work という拡張子が付きます。

    5. [開く] をクリックしてアプリケーションを開きます。
  2. 目的のアプリケーション ファイルが WebLogic Workshop に表示されていない場合は、[表示アプリケーション] を選択します。
  3. e2ePortal アプリケーション情報が次のように表示されます。

    アプリケーション情報


     

次の表では、e2ePortal アプリケーションの各フォルダについて説明します。

表 2-6 e2ePortal アプリケーション フォルダ 

フォルダ

内容

data

パーソナライゼーションやキャンペーンなどの WebLogic Portal の機能をサポートするために必要なデータ ファイル。このフォルダは、すべてのアプリケーション プロジェクトでの標準フォルダ。アプリケーションの要件によって、このフォルダの内容は変更可能。

e2ePortalProject

サンプル ポータル用のポータル、ポートレット、ページフロー、および JSP コンテンツ ファイルを含むアプリケーション プロジェクト ファイル。このフォルダには、次の標準アプリケーション サブディレクトリも含まれる。

  • resources - サンプル CSS、画像、テンプレート JSP などのポータル アプリケーション リソースを含む標準の Web アプリケーション フォルダ。

  • WEB-INF - デプロイメント記述子および検証ファイルを含む標準の Web アプリケーション フォルダ。

このフォルダの内容は、以降の節で説明する。

Schema

スキーマの定義。

JoinDB

複数のデータベースへのアクセスを調整するカスタム Java コントロール。このフォルダの内容については、「Avitek イントラネット ポータルのカスタム コントロールを検討する」を参照。

WorkflowInvoker

ポータルからビジネス プロセスを呼び出すカスタム Java コントロール。このフォルダの内容については、「Avitek イントラネット ポータルのカスタム コントロールを検討する」を参照。

モジュール

アプリケーションおよびポータル システムの JAR ファイル。このフォルダは、すべてのアプリケーション プロジェクトでの標準フォルダ。アプリケーションの要件によって、このフォルダの内容は変更可能。

ライブラリ

実行時関連ライブラリ ファイル。このフォルダは、すべてのアプリケーション プロジェクトでの標準フォルダ。アプリケーションの要件によって、このフォルダの内容は変更可能。

セキュリティ ロール

セキュリティ ロール情報 (このフォルダは e2ePortal Web アプリケーションでは空)。このフォルダは、すべてのアプリケーション プロジェクトでの標準フォルダ。アプリケーションの要件によって、このフォルダの内容は変更可能。


 

以降の節では、e2ePortalProject フォルダの内容について説明します。このフォルダには、Avitek イントラネット ポータルを構成するポータル、ポートレット、ページフロー、および JSP コンテンツの各ファイルがあります。

操作を続ける前に、WebLogic Workshop を起動して [アプリケーション] ウィンドウで e2ePortalProject フォルダを展開してください。ポータルまたはポートレットのコンテンツを表示するには、[アプリケーション] ウィンドウでその名前をダブルクリックします。

ポータルを検討する

e2ePortalProject Web アプリケーションは、[ログイン]、[従業員]、[マネージャ] の 3 つのポータルから構成されています。

前に説明したように、e2ePortalProject アプリケーション プロジェクトの各ポータルでは、次の要素を持つ階層構造が定義されています。

framework フォルダでは、アプリケーション プロジェクトに利用できるルック アンド フィール要素が定義されます。[プロパティ エディタ] ウィンドウの [ルック アンド フィール] プロパティは、各ポータル ファイルの default に設定されています。

ポートレットの詳細については、次の節を参照してください。

ポートレットを検討する

次の表では、3 つのポータルに定義されている各ポートレットについて説明します。

表 2-7 従業員情報システムで使用するポートレット 

ポートレット

親ポータル

説明

[ダイレクト レポート]

[マネージャ]

従業員情報データベースにアクセスし、特定のマネージャに報告を行う従業員のリストを表示する。

[Doc ツアー]

すべてのポータル

ツアーの各手順を実行するための詳細が記載された『WebLogic Platform ツアー ガイド』(このガイド) への状況依存リンクを提供する。

[従業員]

[従業員]

従業員情報データベースにアクセスし、従業員プロファイルを表示する。

[ログイン]

[ログイン]

ユーザの Avitek イントラネット ポータルへのログインを可能にする。WebLogic Server セキュリティ システムを使用してポータルへの安全なアクセスが実現されている。

[ログアウト]

すべてのポータル ([ログイン] を除く)

ユーザのポータルからのログアウトを可能にする。

[マネージャ保留タスク]

[マネージャ]

オフィス機器注文管理システムと通信し、マネージャが自分の直属の部下からのオフィス機器の注文申請を参照して、未処理の注文を承認または却下する。

[ナビゲーション]

すべてのポータル

現在表示されているポータルおよびポートレットについての状況依存情報を表示し、詳細が記載された『WebLogic Platform ツアー ガイド』(このガイド) への状況依存リンクを提供する。

[注文]

[従業員]

オフィス機器注文管理システムと通信し、従業員がオフィス機器の注文を送信したり、未処理の注文を参照できる。


 

たとえば、次の図はデザイン ビューに表示された [従業員] ポートレットを示します。

図 2-16 デザイン ビューに表示された [従業員] ポートレット

デザイン ビューに表示された [従業員] ポートレット


 

次の図は、[従業員] ポートレットの [プロパティ エディタ] ウィンドウでの設定例です。

図 2-17 [従業員] ポートレットの [プロパティ エディタ] の設定

[従業員] ポートレットの [プロパティ エディタ] の設定


 

前の図にあるプロパティ設定の多くは、Avitek イントラネット ポータル内のすべてのポートレットに共通です。コンテンツ プロパティおよびポートレット タイトル プロパティの設定は、ポートレットごとに異なります。

以降の節では、次のポートレットについて説明します。

デザイン ビューに任意のポートレットを表示するには、[アプリケーション] ウィンドウ内でポートレットの名前をダブルクリックします。

[ダイレクト レポート] ポートレット

[ダイレクト レポート] ポートレット (Manager.portlet) は、従業員情報データベースにアクセスし、特定のマネージャに直接報告を行う従業員のリストを表示します。プロパティ エディタのコンテンツ URI 値により、[ダイレクト レポート] ポートレットに参照される最初のページフロー ファイルが指定されます。このファイルの名前は /manager/Controller.jpf です。

次の図は、ページフロー デザイナのフロー ビューのキャンバスに表示される [ダイレクト レポート] ページフローのコントローラ ファイル、Controller.jpf を示しています。

図 2-18 [ダイレクト レポート] ページフローのコントローラ ファイル

[ダイレクト レポート] ページフローのコントローラ ファイル


 

次の表では、[ダイレクト レポート] ページフローのコントローラ ファイル内にある各コンポーネントについて説明します。

表 2-8 [ダイレクト レポート] ページフローのコントローラ ファイルのコンポーネント 

コンポーネント

機能

[begin] アイコン

現在のマネージャの直属の部下のリストを取得する employeeList() メソッドを定義し、コントロールを EmployeeList.jsp に渡す。

employeeList() メソッドは、UsersDBControl データベース コントロールのインスタンスである m_DBCtrl を使用し、従業員情報データベースから従業員情報を取得する。UsersDBControl データベース コントロールの詳細については、「従業員の情報を参照する」を参照。

EmployeeList.jsp

現在のマネージャの直属の部下のリストを表示する。まず、netui-data:callPageFlow JSP ページフロー タグを使用して、コントローラ ファイルに定義された employeeList() メソッドを呼び出す。次に、netui-data:repeaternetui-data:repeaterHeadernetui-data:repeaterItem タグ、および netui:label JSP ページフロー タグを使用して内容を記述する。たとえば、次のように入力する。

<netui:form action="info">
<netui-data:callPageFlow method="employeeList" resultId="array"/>
<table border="0">
<netui-data:repeater dataSource="{pageContext.array}">
<netui-data:repeaterHeader>
<table border="0.5">
<tr>
<td><b>Employee Name</b></td>
<td></td>
<td><b>Employee Email</b></td>
</tr>
</netui-data:repeaterHeader>
<netui-data:repeaterItem>
<tr>
<td>
<netui:label value="{container.item.employeename}"/>
</td>
<td>
<netui:label value="{container.item.email}"/>
</td>
</tr>
</netui-data:repeaterItem>
</netui-data:repeater>
</table>
</netui:form>

上記の JSP ページフロー タグの詳細については、WebLogic Workshop ヘルプの「JSP でユーザ インタフェースを設計する」を参照。

[info] アクション

EmployeeList.jsp に定義されているフォーム用のダミー アクション。コントロールを EmployeeList.jsp に渡す。

[logout] アクション

コントロールを expired.jsp ファイルに渡す。このアクションは、ユーザが「[ログアウト] ポートレット」の説明に従って [ログアウト] ページフローのコントローラ ファイルでシステムをログ オフしたときにトリガされる。

expired.jsp

ユーザがシステムをログ オフしたときに、現在のセッション内のデータが期限切れになったことを示す Data Expired メッセージを表示する。

[logIn] アクション

Controller.jpf ページフローの [begin] アクションにコントロールを渡す。このアクションは、ユーザが [ログアウト] ポートレットから [再ログイン] を選択したときにトリガされる。


 

[Doc ツアー] ポートレット

[Doc ツアー] ポートレット (Doc.portlet) は、ツアーの各手順を実行するための詳細が記載された『WebLogic Platform ツアー ガイド』(このガイド) への状況依存リンクを提供します。プロパティ エディタのコンテンツ URI 値により、[Doc ツアー] ポートレットに参照されるページフロー ファイルが指定されます。このファイルの名前は /doc/Controller.jpf です。

Controller.jpf ファイルは、他のポートレット内で実行されたユーザの動作に応じて JSP ファイルを適宜呼び出すことによって、状況依存情報を表示します。

[従業員] ポートレット

[従業員] ポートレット (Employee.portlet) は、従業員情報データベースにアクセスして、従業員プロファイルを表示します。プロパティ エディタのコンテンツ URI 値により、[従業員] ポートレットに参照されるページフロー ファイルが指定されます。このファイルの名前は /employee/Controller.jpf です。

次の図は、ページフロー デザイナのフロー ビューのキャンバスに表示される [従業員] ページフローのコントローラ ファイル、Controller.jpf を示しています。

図 2-19 [従業員] ページフローのコントローラ ファイル

[従業員] ページフローのコントローラ ファイル


 

次の表では、[従業員] ページフローのコントローラ ファイル内にある各コンポーネントについて説明します。

表 2-9 [従業員] ページフローのコントローラ ファイルのコンポーネント 

コンポーネント

機能

[begin] アイコン

現在のユーザのユーザ名を取得し、コントロールを Info.jsp (またはエラーの場合は Error.jsp) に渡す。

begin() メソッドは、次のように UsersDBControl データベース コントロールのインスタンスである m_DBCtrl を使用し、従業員 ID (empId) を使ってユーザ名を取得する。

joindb.UsersDBControl.User user= null;
.
.
.
String empId=SubjectUtils.getUsername(sub);
user = m_DBCtrl.lookupUser(empId);

UsersDBControl データベース コントロールの詳細については、「従業員の情報を参照する」を参照。

Info.jsp

現在のユーザの従業員プロファイルを表示する。netui:form JSP ページフロー タグを使用して従業員についての情報を収集する入力フォームを定義する。また、フォームの内容を [UsrInfo] アクションで定義されているフォーム Bean と関連付ける。たとえば、次のように入力する。

<netui:form action="/UsrInfo" focus="employeename">

netui:form ページフロー タグの詳細については、WebLogic Workshop ヘルプの「JSP でユーザ インタフェースを設計する」を参照。

Error.jsp

エラーの場合にエラー メッセージを表示する。

[UsrInfo] アクション

プロパティが入力フォーム内のデータ フィールドと一致するフォーム Bean を使用して、現在のユーザの従業員情報を取得する。その後、コントロールを Info.jsp (または、エラーの場合は Error.jsp) に渡す。

[UsrInfo] アクションは、UsersDBControl データベース コントロールのインスタンスである m_DBCtrl を使用し、従業員情報データベースから従業員情報を取得する。UsersDBControl データベース コントロールの詳細については、「従業員の情報を参照する」を参照。

[logout] アクション

コントロールを expired.jsp ファイルに渡す。このアクションは、ユーザが「[ログアウト] ポートレット」の説明に従って [ログアウト] ページフローのコントローラ ファイルでシステムをログ オフしたときにトリガされる。

expired.jsp

ユーザがシステムをログ オフしたときに、現在のセッション内のデータが期限切れになったことを示す Data Expired メッセージを表示する。

[logIn] アクション

Controller.jpf ページフローの [begin] アクションにコントロールを渡す。このアクションは、ユーザが [ログアウト] ポートレットから [再ログイン] を選択したときにトリガされる。


 

[ログイン] ポートレット

[ログイン] ポートレット (Login.portlet) は、ユーザが Avitek イントラネット ポータルにログインできるようにします。WebLogic Server セキュリティ システムを使用してポータルへの安全なアクセスが実現されています。プロパティ エディタのコンテンツ URI 値により、[ログイン] ポートレットに表示される最初の JSP ファイルが指定されます。このファイルの名前は /login/login.jsp です。

セキュリティで保護されたログイン プロセスの詳細については、「Web アプリケーションのセキュリティをコンフィグレーションする」を参照してください。

[ログアウト] ポートレット

[ログアウト] ポートレット (Logout.portlet) は、ユーザが Avitek イントラネット ポータルからログアウトできるようにします。プロパティ エディタのコンテンツ URI 値により、[ログアウト] ポートレットに参照されるページフロー ファイルが指定されます。このファイルの名前は /logout/Controller.jpf です。

次の図は、ページフロー デザイナのフロー ビューのキャンバスに表示される [ログアウト] ページフローのコントローラ ファイル、Controller.jpf を示しています。

図 2-20 [ログアウト] ページフローのコントローラ ファイル

[ログアウト] ページフローのコントローラ ファイル


 

次の表では、[ログアウト] ページフローのコントローラ ファイル内にある各コンポーネントについて説明します。

表 2-10 [ログアウト] ページフローのコントローラ ファイルのコンポーネント 

コンポーネント

機能

[begin] アイコン

コントロールを logout.jsp ファイルに渡す。

logout.jsp

現在のユーザ名を表示し、ユーザのログアウトを可能にする。

[logout] アクション

ユーザが [ログアウト] ボタンをクリックしたときに、ログアウト プロセスを開始する。[従業員] ポートレットおよび [注文] ポートレットで定義された [logout] アクションをトリガして、現在のデータを期限切れにする。

loggedout.jsp

ユーザがログアウトしたことを示すメッセージを表示する。

[logIn] アクション

ユーザを login/logout.jsp ファイルに戻す。


 

[マネージャ保留タスク] ポートレット

[マネージャ保留タスク] ポートレット (Worklist.portlet) は、オフィス機器注文管理システムと通信し、マネージャの直属の部下が発行したオフィス機器の注文を表示したり、マネージャが未承認の注文を承認または却下できるようにします。プロパティ エディタのコンテンツ URI 値により、[マネージャ保留タスク] ポートレットに参照されるページフロー ファイルが指定されます。このファイルの名前は /worklist/Controller.jpf です。

次の図は、ページフロー デザイナのフロー ビューのキャンバスに表示される [マネージャ保留タスク] ページフローのコントローラ ファイルである Controller.jpf を示しています。

図 2-21 [マネージャ保留タスク] ページフローのコントローラ ファイル

[マネージャ保留タスク] ページフローのコントローラ ファイル


 

次の表では、[マネージャ保留タスク] ページフローのコントローラ ファイル内にある各コンポーネントについて説明します。

表 2-11 [マネージャ保留タスク] ページフローのコントローラ ファイルのコンポーネント 

コンポーネント

機能

[begin] アイコン

現在のユーザに割り当てられているタスクのリストを取得する Worklist の TaskSelector を定義する。その後、コントロールを worklist.jsp ファイルに渡す。

begin() メソッドは、ManagerWorker タスク ワーカー コントロールのインスタンスである worker を使用して、マネージャの Worklist ユーザ インタフェースと対話できるようにする。

この Worklist ユーザ インタフェースにより、実行中のビジネス プロセスと対話しながら、各自に割り当てられているタスクを処理できる。タスク ワーカー コントロールからは Worklist ユーザ インタフェースへのインタフェースが提供されるので、ビジネス プロセスを現在のタスクで実行できる。

worker タスク コントロールを使用して、現在割り当てられているタスクを取得できる。たとえば、以下のようになる。

private worklist.ManagerWorker worker;
/**
* @jpf:action
* @jpf:forward name="success" path="worklist.jsp"
*/
protected Forward begin()
{
Subject sub= Security.getCurrentSubject();
// デフォルトでは、所有しているタスクを表示する
TaskSelector selector = new TaskSelector();
.
.
.
TaskInfo[] infos = worker.getTaskInfos(selector);
.
.
.
}

worklist.jsp

現在のユーザに割り当てられているすべての未処理タスクに関する、タスク名、タスクの状態、関連従業員名などの情報を表示する Worklist へのユーザ インタフェースを提供する。netui-data:repeaternetui-data:repeaterHeadernetui-data:repeaterItem、およびnetui:label JSP ページフロー タグを使用して内容を記述する。

worklist.jsp ファイルは、netui-anchor JSP ページフロー タグを使用してアクションを呼び出すリンクを提供する。たとえば、以下のようになる。

<netui:anchor action="taskDetail">Respond to the Task
<netui:parameter name="taskId"
value="{container.item.taskId}"/>
</netui:anchor>

上記の JSP ページフロー タグの詳細については、WebLogic Workshop ヘルプの「JSP でユーザ インタフェースを設計する」を参照。

[taskDetail] アクション

ManagerWorker タスク ワーカー コントロールのインスタンスである worker を使用して、選択したタスクに関する詳細を表示する。たとえば、以下のようになる。

TaskInfo[] infos = worker.getTaskInfo(taskId);

その後、コントロールを response.jsp ファイルに渡す。このアクションは、ユーザが [タスクへの応答] をクリックしたときにトリガされる。

response.jsp

[タスクへの応答] テキスト ボックスを表示して、マネージャに未処理タスクへの応答を要求する。

[setReplyXML] アクション

入力フォーム内のデータ フィールドに対応する responseXML プロパティを定義するフォーム Bean を使用して、マネージャの応答を取得する。その後、コントロールを worklist.jsp (または、エラーの場合は Error.jsp) ファイルに渡す。

[setReply] アクションは、ManagerWorker タスク ワーカー コントロールのインスタンスである worker のインスタンスを使用して、タスクの応答を設定する。たとえば、以下のようになる。

worker.setTaskResponseString(response, taskInfo.getTaskId());
worker.startTask(taskInfo.getTaskId());
worker.completeTask(taskInfo.getTaskId());

error.jsp

エラーの場合にエラー メッセージを表示する。

[logout] アクション

コントロールを expired.jsp ファイルに渡す。このアクションは、ユーザが「[ログアウト] ポートレット」の説明に従って [ログアウト] ページフローのコントローラ ファイルでシステムをログ オフしたときにトリガされる。

expired.jsp

ユーザがシステムをログ オフしたときに、現在のセッション内のデータが期限切れになったことを示す Data Expired メッセージを表示する。

[logIn] アクション

コントロールを worklist.jsp ファイルに渡す。このアクションは、ユーザが [ログアウト] ポートレットから [再ログイン] を選択したときにトリガされる。


 

[ナビゲーション] ポートレット

[ナビゲーション] ポートレット (Navigation.portlet) は、現在表示されているポータルやポートレットに関する状況依存ヘルプを表示します。プロパティ エディタのコンテンツ URI 値により、[ナビゲーション] ポートレットに参照されるページフロー ファイルが指定されます。このファイルの名前は /navigation/Controller.jpf です。

Controller.jpf ファイルは、他のポートレット内で実行されたユーザの動作に応じて JSP ファイルを適宜呼び出すことによって、状況依存情報を表示します。

[注文] ポートレット

[注文] ポートレット (Order.portlet) は、オフィス機器注文管理システムと通信し、従業員がオフィス機器の注文申請を新規に送信したり、未処理の注文申請を表示したりすることを可能にします。プロパティ エディタのコンテンツ URI 値により、[注文] ポートレットに参照される最初のページフロー ファイルが指定されます。このファイルの名前は /order/Controller.jpf です。

次の図は、ページフロー デザイナのフロー ビューのキャンバスに表示される [注文] ページフローのコントローラ ファイル、Controller.jpf を示しています。

図 2-22 [注文] ページフローのコントローラ ファイル

[注文] ページフローのコントローラ ファイル


 

次の表では、[注文] ページフローのコントローラ ファイル内にある各コンポーネントについて説明します。

表 2-12 [注文] ページフローのコントローラ ファイルのコンポーネント 

コンポーネント

機能

[begin] アイコン

コントロールを Equipment.jsp ファイルに渡す。

Equipment.jsp

ユーザが注文を発行したり、未処理の注文のステータスを表示できるように、オフィス機器注文管理システムへのユーザ インタフェースを提供する。netui-anchor JSP ページフロー タグである placeOrderStatuscheckStatus.を使用してアクションを起動するリンクを提供する。たとえば、次のように入力する。

<netui:anchor action="placeOrderPage">
Place a New Order</netui:anchor></p>
<netui:anchor action="checkStatus">
Check Order Staus</netui:anchor></p>

[placeOrderPage] アクション

コントロールを placeOrder.jsp ファイルに渡す。

placeOrder.jsp

注文している品目の ID をユーザに要求する。netui:form JSP ページフロー タグを使用して品目の ID を収集する入力フォームを定義する。また、フォームの内容を [placeOrder] アクションで定義されているフォーム Bean と関連付ける。たとえば、次のように入力する。

<netui:form action="/placeOrder" focus="ordid">

netui:form ページフロー タグの詳細については、WebLogic Workshop ヘルプの「JSP でユーザ インタフェースを設計する」を参照。

[placeOrder] アクション

オフィス機器の注文を取得し、コントロールを Success.jsp (または、エラーの場合は Error.jsp) に渡す。[placeOrder] アクションは、プロパティが注文入力フォームのデータ フィールドと一致するフォーム Bean を定義する。

[placeOrder] アクションは、WorkflowInvoker カスタム コントロールのインスタンスである m_WorkflowInvoker を使用して、注文申請ビジネス プロセスを呼び出す。WorkflowInvoker カスタム コントロールの詳細については、「カスタム コントロールを作成する」を参照。

また、UsersDBControl データベース コントロールのインスタンスである m_DBCtrl も使用して、従業員情報データベースに注文を挿入する。UsersDBControl データベース コントロールの詳細については、「従業員の情報を参照する」を参照。

Success.jsp

注文が問題なく発行されたことを示すメッセージを表示し、ユーザにすべての未処理の注文のステータスを確認するように要求するか、[完了] をクリックするように要求する。netui:form JSP ページフロー タグを使用して入力フォームを定義し、その内容を [done] アクションで定義されているフォーム Bean と関連付ける。たとえば、次のように入力する。

<netui:form action="done">

ユーザが [Check Order Status] をクリックした場合は [checkStatus] アクションが起動し、ユーザが [完了] をクリックした場合は [done] アクションが起動する。たとえば、次のように入力する。

netui:button type="submit" 
value="Check Order Status" action="checkStatus"></netui:button>
<netui:imageButton value="Done"
src="/e2ePortalProject/framework/skins/default/images/done.gif">
</netui:imageButton>

Error.jsp

エラーの場合にエラー メッセージを表示する。

[checkStatus] アクション

従業員 ID を取得し、JoinDB カスタム コントロールを使用して、従業員情報データベースとオフィス機器注文管理データベースに対するデータベース クエリを調整する。たとえば、次のように入力する。

m_Array= m_JoinDB.joinDB(m_employeeid);

その後、コントロールを Status.jsp ファイルに渡す。

JoinDB カスタム コントロールの詳細については、「カスタム コントロールを作成する」を参照。

Status.jsp

現在のマネージャの直属の部下のリストを表示する。まず、netui-data:callPageFlow JSP ページフロー タグを使用して、コントローラ ファイルに定義された checkStatusBusiness() メソッドを呼び出す。次に、netui-data:repeaternetui-data:repeaterHeadernetui-data:repeaterItem タグ、および netui:label JSP ページフロー タグを使用して内容を記述する。たとえば、次のように入力する。

<netui-data:callPageFlow method="checkStatusBusiness" resultId="m_Array"/>
<netui-data:repeater dataSource="{pageContext.m_Array}">
<netui-data:repeaterHeader>
<table border="1">
<tr>
<td><b>Order ID</b></td>
<td><b>Status Description</b></td>
</tr>
</netui-data:repeaterHeader>
<netui-data:repeaterItem>
<tr>
<td>
<netui:label value="{container.item.m_ordId}" />
</td>
<td>
<netui:label value="{container.item.m_statusDesc}" />
</td>
</tr>
</netui-data:repeaterItem>
<netui-data:repeaterFooter>
</table>
</netui-data:repeaterFooter>
</netui-data:repeater>

上記の JSP ページフロー タグの詳細については、WebLogic Workshop ヘルプの「JSP でユーザ インタフェースを設計する」を参照。

[DoneStatus] アクション

コントロールを Equipment.jsp ファイルに渡す。

[Done] アクション

コントロールを Equipment.jsp ファイルに渡す。

[logout] アクション

コントロールを expired.jsp ファイルに渡す。このアクションは、ユーザが「[ログアウト] ポートレット」の説明に従って [ログアウト] ページフローのコントローラ ファイルでシステムをログ オフしたときにトリガされる。

expired.jsp

ユーザがシステムをログ オフしたときに、Data Expired メッセージを表示する。

ErrorInvalid.jsp

ユーザが無効なエントリを指定した場合に情報を再要求する。

[logIn] アクション

Controller.jpf ページフローの [begin] アクションにコントロールを渡す。このアクションは、ユーザが [ログアウト] ポートレットから [再ログイン] を選択したときにトリガされる。


 

 


カスタム コントロールを作成する

Java コントロールは、プラットフォーム アプリケーション内の任意の場所で使用できる再利用可能なコンポーネントです。また、リソースへのアクセスを組み込んだり、ビジネス ロジックをカプセル化するための優れた手段です。

WebLogic Workshop には、アプリケーション内からエンタープライズ JavaBean (Enterprise Java Bean : EJB) やデータベースなどのリソースへのアクセスを可能にする、一連の組み込み Java コントロールが用意されています。Java コントロールの使用例については、「組み込みコントロールを使用する」を参照してください。

また、自分のプロジェクトやアプリケーションに合わせたカスタム Java コントロールを作成することもできます。カスタム コントロールは、組み込みコントロールと同じフレームワークを基盤としています。しかし、ソースを展開するインタフェースにアクセスする組み込みコントロールとは異なり、カスタム コントロールのソース ファイルはプロジェクト内に格納され、その格納場所から直接アクセスされます。そのため、コントロール コードを分離したり、再利用することができます。

WebLogic Workshop を使用すると、カスタム コントロールを簡単に作成できます。ターゲット フォルダをクリックし、[ファイル新規作成カスタム Java コントロール] を選択します。カスタム コントロール エディタが開き、Java コントロールのソース ファイルが表示されます。このファイルは、カスタム コントロールの実装を定義します。ファイル名は、文字列 Impl によって識別されます (JoinDBImpl.jcs など)。また、WebLogic Workshop では、Java コントロールのパブリック インタフェースを定義する Java クラス ファイルが自動的に生成され、維持されます。このファイルは編集する必要はありません。

カスタム コントロール エディタは、次の図の JoinDB カスタム コントロールのように、カスタム コントロールを設計し、その機能をエクスポーズするメソッドを作成できるグラフィカル ツールです。

図 2-23 カスタム コントロール エディタ

カスタム コントロール エディタ


 

次の表では、前の図にあるカスタム コントロール設計ツールについて説明します。

表 2-13 カスタム コントロール ファイルの設計に使用するツール 

番号

使用するツール

実行するタスク

1

[アプリケーション] ウィンドウ

ポータル アプリケーション プロジェクトに含まれるカスタム コントロール ファイルを作成、表示、および編集する。カスタム コントロール ファイルの名前は .jcs で終わる。

2

[デザイン ビュー] と [ソース ビュー]

この領域でカスタム コントロール ファイルを設計する。デザイン ビューとソース ビューは必要に応じて切り替え可能で、1 つのビューで行った変更は自動的に他方のビューにも反映される。

3

[パレット] ウィンドウ

[パレット] ウィンドウからコンポーネントをデザイン ビューのキャンバスにドラッグ アンド ドロップすることで、メソッド、コールバック、変数などを追加する。[パレット] ウィンドウで使用できるオプションは、作成しているコントロールのタイプによって異なる。

4

[データ パレット] ウィンドウ

カスタム コントロールに使用する Java コントロールのインスタンスを定義する。

6

[プロパティ エディタ] ウィンドウ

現在選択されているカスタム コントロール コンポーネントのプロパティを設定する。カスタム コントロール コンポーネントを選択するには、デザイン ビューのキャンバス内で該当するものをクリックするか、次に説明する [ドキュメント構造] ウィンドウで該当する名前を選択する。

7

[ドキュメント構造] ウィンドウ

コントロール ファイルを構成する Java エンティティの概要を表示する (「図 2-24 を参照)。この概要には、カスタム コントロールに定義された Java クラス、メソッドとシグネチャ、変数、内部クラスが含まれる。

Java エンティティは、[ドキュメント構造] ウィンドウでクリックして選択できる。メソッドを選択すると、そのメソッドはデザイン ビューのキャンバス内でも選択され、[プロパティ エディタ] ウィンドウでそのプロパティを編集できる。Java エンティティをダブルクリックすると、ソース ビュー内のそのコードの場所に移動できる。


 

次の図に、カスタム コントロールの [ドキュメント構造] ウィンドウを示します。

図 2-24 カスタム コントロールの [ドキュメント構造] ウィンドウ

カスタム コントロールの [ドキュメント構造] ウィンドウ


 

カスタム コントロールの作成についてさらに学習するには

 


Avitek イントラネット ポータルのカスタム コントロールを検討する

e2ePortal アプリケーションでは、次の 2 つのカスタム コントロールを定義します。

カスタム コントロールについては、この後の節で詳しく説明しています。

JoinDB カスタム コントロール

JoinDB カスタム コントロールは、次のような複数のデータベースに対するデータベース クエリを調整します。

JoinDB カスタム コントロールは、「[注文] ポートレット」で説明されているように、[注文] ポートレット ページフローに定義された [CheckStatus] アクションで使用されます。

JoinDB カスタム コントロールおよび関連ファイルは、次の図に示すように、e2ePortal アプリケーションの JoinDB フォルダに保存されます。

図 2-25 JoinDB カスタム コントロールのファイル

JoinDB カスタム コントロールのファイル


 

次の表では、JoinDB フォルダの内容について説明します。

表 2-14 JoinDB カスタム コントロール ファイルの説明 

ファイル

機能

JoinDBImpl.jcs

カスタム コントロールの実装コードを定義する。

JoinDB.java

カスタム コントロールのパブリック インタフェースを定義する。このファイルは、WebLogic Workshop によって自動的に生成される。

OrderStatus.java

注文追跡情報 (オフィス機器注文管理データベースから取得) と従業員情報 (従業員情報データベースから取得) をマージするために使用する OrderStatus() メソッドを定義する。このメソッドは、カスタム コントロールに使用される。

UsersDBControl.jcx

従業員情報の取得に使用されるデータベース呼び出しを定義するデータベース コントロール ファイル。このコントロールの詳細については、「従業員の情報を参照する」を参照。


 

WorkflowInvoker カスタム コントロール

WorkflowInvoker カスタム コントロールにより、ポータルでビジネス プロセスの起動が可能になります。

WorkflowInvoker カスタム コントロールは、「[注文] ポートレット」で説明されているように、[注文] ポートレット ページフローに定義された [PlaceOrder] アクションで使用されます。

WorkflowInvoker カスタム コントロールと関連ファイルは、次の図に示すように、e2ePortal アプリケーションの WorkflowInvoker フォルダに保存されます。

図 2-26 WorkflowInvoker カスタム コントロールのファイル

WorkflowInvoker カスタム コントロールのファイル


 

次の表では、WorkflowInvoker フォルダの内容について説明します。

表 2-15 WorkflowInvoker カスタム コントロール ファイルの説明 

ファイル

説明

OrderRequisitionControlWSContract.wsdl

メソッド名、パラメータ、戻り型など、OrderRequisitionControlWS.jws Web サービスが実装するメソッドおよびコールバックを記述する WSDL (Web Service Definition Language) ファイル。

オフィス機器注文管理システムを検討する」で説明されているように、OrderRequisitionControlWS.jws Web サービスは e2eWorkflow アプリケーションに定義されている。

OrderRequisitionWebServices.jcx

OrderRequisitionControlWS.jws ファイルを使用して注文申請ビジネス プロセスを開始するプロセス コントロール。

オフィス機器注文管理システムを検討する」で説明されているように、OrderRequisitionControlWS.jws Web サービスは e2eWorkflow アプリケーションに定義されている。

WorkflowInvokerImpl.jcs

カスタム コントロールの実装コードを定義する。invokeWorkflow() メソッドが OrderRequisitionControlWS.jws Web サービスに定義された clientRequest() メソッドを呼び出して、注文申請ビジネス プロセスに定義された注文申請のワークフローを起動する。

WorkflowInvoker.java

カスタム コントロールのパブリック インタフェースを定義する。このファイルは、WebLogic Workshop によって自動的に生成される。


 

 


Web アプリケーションのセキュリティをコンフィグレーションする

WebLogic Platform ツアーへの安全なアクセスは、WebLogic Server セキュリティ レルム ユーザ認証によって可能になります。

ユーザ認証を使用して Web アプリケーションへの安全なアクセスを提供するには、web.xml および weblogic.xml デプロイメント記述子を更新して以下のパラメータを定義します。

デプロイメント記述子は、アプリケーション ディレクトリまたは JAR ファイルの内容を記述した XML ドキュメントです。J2EE 仕様では、web.xml などの J2EE コンポーネントやアプリケーションのための標準の移植可能なデプロイメント記述子が定義されています。BEA では、WebLogic Server 環境でコンポーネントやアプリケーションをデプロイするための新たな WebLogic 固有のデプロイメント記述子 (weblogic.xml など) を定義しています。

WebLogic Server 環境では、J2EE 仕様で指定されているとおり、デプロイメント記述子が Web アプリケーションのルート ディレクトリである WEB-INF ディレクトリに格納されています。また、WEB-INF ディレクトリには、コンパイル済み Java クラスとライブラリ JAR ファイルを格納するための 2 つのサブディレクトリも用意されています。ただし、Web アプリケーション階層のルート ディレクトリには、ドキュメント ルートが定義されています。このルート ディレクトリの下にあるすべてのファイル (WEB-INF ディレクトリ以下のファイルは除く) は、クライアントに使用できます。

ユーザ認証などのセキュリティ制約は、web.xml ファイルに定義されています。

たとえば、e2ePortal アプリケーションのセキュリティ制約を定義するとします。この場合、次のように WebLogic Workshop で e2ePortal アプリケーションの web.xml ファイルを開きます。

  1. [アプリケーション] ウィンドウで、e2ePortal/e2ePortalProject フォルダの WEB-INF ディレクトリを展開します。
  2. WEB-INF ディレクトリにある web.xml ファイルをダブルクリックします。
  3. このファイルには、次のようなセキュリティ制約情報が定義されています。

<!-- セキュリティ -->
<security-constraint>
<web-resource-collection>
<web-resource-name>login</web-resource-name>
<url-pattern>/Controller.jpf</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>employee</role-name>
<role-name>manager</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>employee</web-resource-name>
<url-pattern>/Employee.portal</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>employee</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>manager</web-resource-name>
<url-pattern>/Manager.portal</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>manager</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login/loginRedirect.jsp</form-login-page>
<form-error-page>/login/login_error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>employee</role-name>
</security-role>
<security-role>
<role-name>manager</role-name>
</security-role>
<security-role>
<description>Administrator</description>
<role-name>Admin</role-name>
</security-role>
<security-role>
<description>all users</description>
<role-name>AnonymousRole</role-name>
</security-role>

次の表では、上記のコードで使用されている XML 要素について説明します。

XML 要素

機能

<login-config>

フォームベースの認証を有効にし、以下を指定する。

  • /login/loginRedirect.jsp (認証フォームが含まれる JSP ページ)

  • /login/login_error.jsp (エラーの場合に返す JSP ファイル ページ)

[ログイン] ポートレットに最初に表示される login.jsp ファイルは、ユーザのログイン情報を取得するための入力フォームを生成する。次のようなアクションを定義する。

<% String formActionURL = 
response.encodeURL("j_security_check");%>
<form method="post" action="<%formActionURL %>">

その結果、認証のための j_security_check にログイン情報が渡される。

<security-constraint>

次のようなセキュリティの詳細を指定する。

  • セキュリティ制約が適用される Web アプリケーション コンポーネント。これは、ブラウザで Web アプリケーションを起動したときに呼び出される最初のページ。

  • employeemanager などの、セキュリティ アクセスを持つユーザ ロール。

  • クライアントとサーバ間の通信には転送の保証は必要ない。

<security-role>

有効なセキュリティ ロールを指定する。デプロイ時に、セキュリティ ロールのマッピングが weblogic.xml ファイルから取得される (このファイルは WebLogic Server Administration Console でコンフィグレーションされる)。


 

セキュリティのコンフィグレーションの詳細については、e-docs にある『WebLogic Security プログラマーズ ガイド』の「Web アプリケーションのセキュリティ対策」を参照してください。

WebLogic Platform ツアーの次の手順に進む前に次の操作を実行してください。

  1. [ファイルすべてのファイルを閉じる] を選択し、開いているすべてのファイルを閉じます。
  2. 画面領域を節約するには、WebLogic Workshop のウィンドウを一時的に最小化します。

 

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