IBM WebSphere Portlet Factory 7 ドキュメンテーション

2010 年 8 月

このエディションについて

IBM のアクセシビリティー尊重方針に従い、この製品資料のこのエディションは アクセシビリティーに対応しています。

印刷

本書を印刷する際、スタイル・エレメントのいくつかは印刷出力の改善のために印刷されません。 以下に印刷についていくつかのヒントを示します。
  • 文書の長さが、ブラウザーの印刷可能範囲を超えてしまうことがあります。 Microsoft Internet Explorer であれば、大容量のファイルを正しく印刷できることが実証されています。
  • 本書は非常に長い文書です。 印刷した場合のページの長さを、印刷プレビューで確認してください。
  • 文書の一部を強調表示してから、選択された内容のみを印刷することができます。

オフラインでの作業

ご使用のブラウザーから、この文書のローカル・コピーを保存することが可能です。各ブラウザーごとに、メニューやメニュー・オプションは異なります。 文書をローカルに保存するにあたって支援が必要な場合は、ブラウザーのヘルプを参照してください。

フィードバックの送信

本書についてフィードバックを寄せていただける場合は、 Submit Feedback Web サイトを参照してください。

IBM WebSphere Portlet Factory Designer の概要

WebSphere® Portlet Factory Designer は、Eclipse 開発環境に統合されます。

WebSphere Portlet Factory Designer は、IBM® Lotus® Mashups に公開される、 Java 2 Platform、Enterprise Edition (J2EE) Web アプリケーション、ポートレット、およびウィジェットを開発するためのツールです。

WebSphere Portlet Factory Designer は Eclipse ベースの統合開発環境 (IDE) へのプラグインです。Eclipse の WebSphere Portlet Factory パースペクティブで作業し、プロジェクトを作成します。このプロジェクトで Builder およびプロファイル・セットを使用して モデルを開発し、このモデルから結果としての Web アプリケーションを生成します。

各 Builder にはウィザード・ユーザー・インターフェースがあり、これを使用して入力を指定します。Builder は、アプリケーションの一部を自動的に生成または変更します。プロファイル・セットのプロファイルによって、1 つのアプリケーションの調整、複数のバージョン (異なる言語または異なるユーザー・グループによって異なるバージョン) の生成が 可能になります。

モデルに Builder をアセンブルして、ユーザー・インターフェースまたはデータ・サービスをインプリメントします。 モデル内の Builder への入力に変更を行うと、アプリケーション・コードが再生成されます。再生成によって、アプリケーションを繰り返して開発できます。Builder は、JSP、Java クラス、および XML 文書などの必要なアプリケーション・コードを生成します。繰り返し型開発を容易にするために、Builder を使用してデザイン・パターンをインプリメントします。

IBM WebSphere Portal サーバー・フレームワークには、複数のサービス (ページ・ナビゲーションやコラボレーション機能など) が用意されています。

また、 WebSphere Portlet Factory Designer を使用すると、新しい Builder およびプロファイルを簡単に作成できるようになります。

WebSphere Portlet Factory wiki の使用

WebSphere Portlet Factory wiki では、インストールおよびアプリケーションの開発につての補足的な内容が提供されています。 この wiki は頻繁に更新されるため、定期的に確認してください。

WebSphere Portlet Factory wiki

専門知識を共有しましょう。登録を行い、この活気のある開発者コミュニティーへの投稿をお願いします。

WebSphere Portlet Factory Designer ヘルプの使用について

WebSphere Portlet Factory Designer には、すべての機能および関数に関するコンテキスト・ヘルプが用意されています。 ヘルプにアクセスする方法はいくつかあります。

  • F1 キー

    すべての WebSphere Portlet Factory Designer ウィンドウおよびダイアログには、 そのウィンドウまたはダイアログによってサポートされるタスクを説明するコンテキスト・ヘルプが用意されています。 このヘルプを表示するには、ポインターをコンテキストを開設するウィンドウまたはダイアログの上に移動して、F1 キーを押します。

  • 「ヘルプ」ボタン

    Builder 呼び出しエディターには、その Builder の構成ヘルプにアクセスできる「ヘルプ」ボタンが用意されています。

  • Eclipse の「ヘルプ」メニュー項目

    WebSphere Portlet Factory は、文書プラグインを Eclipse ヘルプ・システムにインストールします。このプラグインは Eclipse ヘルプ・エンジンのコンテキスト内で実行され、Eclipse「ヘルプ」メニューからアクセスできます。 Eclipse「ヘルプ」メニューから WebSphere Portlet Factory ヘルプにアクセスするには、 「ヘルプ」 > 「ヘルプ目次」 を選択します。 「Eclipse SDK ヘルプ」ウィンドウが表示されます。「目次」の下の、 「IBM WebSphere Portlet Factory Designer」をクリックします。

本リリースの新機能

今回のバージョンの IBM WebSphere Portlet Factory では、多数の新機能を提供しています。

Builder

本リリースの新規 Builder を以下に示します。

本リリースの新規モデル・ウィザードを以下に示します。
  • データ・サービス UI サービス・コンシューマー
  • データベースの表示および更新
  • スプレッドシート View and Form
  • SQL データ・サービス・プロバイダー
以下の Builder は、本リリースで新しい名前になりました。
  • Excel Export Builder は、Spreadsheet Export になりました
  • Excel Import Builder は、Spreadsheet Import になりました
  • XML/JavaScript Converter Builder は、XML to JSON Converter になりました
新規 Builder 機能
以下の Builder は、新規機能をサポートします。
Button、Client Event Handler、Form Submit Action、HTML Event Action、Link、および Timed Action
「アクション後の操作」入力の新規オプション (「スマート・リフレッシュ」) は、ページ全体を再ロードせずにユーザー・インターフェースの一部を更新します。
Data Page
新規入力によって、ラベルをランタイム・アクセスとしてリソース・バンドルに挿入するように Builder に指示されます。
Dojo Data Grid
新規のオプションを使用して、グリッドの高さを自動設定できます。
Dojo Enable、Dojo Page Element
新規の入力を使用して、ターゲット・ページに追加する Dojo カスケーディング・スタイル・シート (CSS) ファイルを指定できます。
Dojo Inline Edit
ある新規入力は複数のフィールドを同時に編集モードにし、別の新規入力はユーザーがフィールド・テキストをクリックしたときにフィールドを編集可能にします。 また、複数編集が許可されていない場合、ユーザーが現行フィールドで進行中の編集をキャンセルして編集対象の別のフィールドを選択すると、Builder は新規のクライアント・サイド・イベントを生成します。
Dojo Page Element
新規の入力を使用して、カスケーディング・スタイル・シート (CSS) ファイルをページに関連付けることができます。
Dojo Progress Indicator
新規の入力を使用して、Builder にデフォルトの WebApp テーマ・ファイルから一部のユーザー・インターフェース入力を導き出させることができます。
Dojo Rich Text Editor
フォームが送信され、この Builder がポートレットで使用されている場合に、新規入力によって内容が自動的にデコードされます。新規の入力を使用して、ウィジェットのフォント機能および色機能を有効にすることができます。
File Upload
新規の入力を使用して、同じ名前の既存ファイルを上書きするかどうかを制御します。
ローカライズ対象のリソース
新規の入力を使用して、モデル生成時ではなく実行時にリソース変数を更新できます。
REST Service Call
「URL」の入力は必要ありません。
Sort
新規の入力を使用すると、表示されたソート・コントロールを追加することによって、エンド・ユーザーが現在のソート情報を確認できるようになります。他の入力を使用して、使用するイメージおよび CSS ファイルを指定できます。また、新規の入力を使用して、ページの部分的な最新表示を制御できます。
Spreadsheet Export、Spreadsheet Import
新規の入力を使用して、作業するスプレッドシートの形式を決定することができます。
SQL Call
新規の入力を使用すると、Builder が自動生成されたキーを検索して、INSERT、UPDATE、および DELETE の各 SQL ステートメントのカウントを更新できるようになります。 この新規の入力を使用する場合、Builder は、返されたデータを保持するための 2 つの新規の変数を生成します。
SQL Call、SQL Statement
新規の入力を使用して、INSERT 操作で返される自動生成されたキーを含む列の名前を指定できます。 別の入力によって、「SQL ステートメント」入力で間接参照を使用できるようになります。
テーマ
新規の入力を使用して、より多くの Builder についてモデル内の外観を制御できます。
Web Service Multiple Operations
新規のボタンを使用して、取り出した WSDL 文書内ですべての操作を有効および無効にすることができます。
ウィジェット・アダプター
新規の入力を使用して、モデルで使用されるデフォルトのウィジェット・テンプレート定義ファイルを変更できます。
非推奨の Builder
Tree Builder は、本リリースでは推奨されません。

ユーザー・エクスペリエンス

WebSphere Portlet Factory Designer には、以下の機能が追加されています。

モデル・エディター
「設計」パネルで同じタイプのオブジェクトを複数選択するには、Ctrl キーを押しながらクリックします。

ポップアップ・メニューの新規コマンド (「データ・フィールドの設定」) のオプションを使用すると、「設計」パネルからのフィールドおよび列の表示設定値と検証設定値の変更、列の表示または非表示、列のソート設定の変更を行うことができます。

ポップアップ・メニューの新規コマンド (「フィールドのマージ」) は、選択されたフィールドを表示用に結合します。

ポップアップ・メニューの新規コマンド (「メソッド」 > 「オーバーライド」) を使用すると、選択されたメソッドに特殊処理を追加して、選択されたメソッドを変更後のメソッドに置き換えることが容易になります。

プロジェクトの作成
プロジェクト作成時に、override.properties ファイルが作成されます。このファイルは、スマート・リフレッシュ機能を有効にし、プロジェクトのデフォルトの基本 Rich Data Definition (RDD) ファイルを指定します。Data Field Settings Builder を使用すると、モデルの基本 RDD ファイルを変更できます。
「プロパティー」ビュー
標準の「Eclipse プロパティー」ビューには、アプリケーション・ツリーまたは「設計」パネルで選択された生成エレメントについて、選択した Builder 入力およびその現行設定が表示されます。このビューでは、モデル内の選択列または選択フィールドの表示設定値および検証設定値を変更できます。
WebApp ツリー
アプリケーション・ツリー内の検索に、標準の Eclipse ツリー・フィルターを使用できるようになりました。
WebSphere Portlet Factory ビュー
この新規ビューには、まだ開発環境にいるときに WebSphere Portlet Factory wiki の選択ページにアクセスできる、デフォルトの Eclipse ブラウザーが表示されます。ブラウザーのドロップダウン・リストを使用すると、表示する wiki カテゴリー・ページを選択できます。

一般

Eclipse
WebSphere Portlet Factory Designer のインストール済み環境には、Eclipse バージョン 3.5.1 が含まれています。
サーバー構成およびポータル API
以下のサーバー構成は、サポートされなくなりました。
  • IBM WebSphere Application Server 6.0
  • IBM WebSphere Portal 6.0
以下のポータル API は、サポートされなくなりました。
  • WebSphere Native
Axis 1 JAR はデフォルトでインストールされない
Axis 1 JAR を取得するには、 (「機能情報」ダイアログの「統合拡張機能」で) プロジェクトに Axis 1 拡張機能セットを追加する必要があります。
プロパティー・ファイルに対する動的変更は自動的に認識されない
WAR の実行中にプロパティー・ファイルの変更を有効にするには、override.properties ファイル内で bowstreet.properties.enableObserverThreads プロパティーを true に設定して、WAR を再始動する必要があります。

リリース・ノート - IBM WebSphere Portlet Factory バージョン 7.0

WebSphere Portlet Factory バージョン 7.0 が使用可能です。

説明

WebSphere Portlet Factory バージョン 7.0 には、以下の特徴があります。
  • 充実したユーザー・インターフェース・エレメントのための新規 Builder
  • パフォーマンスの向上
  • ユーザー・インターフェースの強化
詳しくは、本リリースの新機能 トピックを参照してください。

WebSphere Portlet Factory バージョン 7.0 で解決された APAR のリストについては、次の場所にある修正のリストを参照してください。

WebSphere Portlet Factory 7.0 の修正済み APAR

発表

WebSphere Portlet Factory バージョン 7.0 の告知は、www.ibm.com/common/ssi/index.wss で入手できます。以下の情報に関する発表を参照してください。
  • 新機能の説明など、詳細な製品説明
  • 製品の位置付けに関するステートメント
  • パッケージ化と注文の詳細
  • 国際化対応の互換性情報

システム要件

ハードウェアおよびソフトウェアの互換性については、以下の場所にある詳細システム要件の資料を参照してください。

WebSphere Portlet Factory バージョン 7.0 の詳細システム要件

WebSphere Portlet Factory バージョン 7.0 のインストール

インストールの段階的な説明については、インフォメーション・センターの以下のトピックを参照してください。

WebSphere Portlet Factory 製品インストール・ガイド

既知の問題

既知の問題は、次の場所にある IBM サポート・ポータルで文書化されています。

http://www.ibm.com/support/entry/portal/Overview/Software/WebSphere/WebSphere_Portlet_Factory

問題が 検出および解決された時点で、IBM サポート・チームが知識ベースを 更新します。知識ベースを検索することで、問題の回避策または解決策を 迅速に検索できます。

次のリンクでは、 サポート知識ベースのカスタマイズ済み照会が起動されます。

WebSphere Portlet Factory の既知の問題すべてを表示する7.0

学習の継続

IBM WebSphere Portlet Factory の学習リソースへのリンクを以下に示します。

Builder のヘルプ

その他の資料

IBM WebSphere Portlet Factory Designer の概要

WebSphere Portlet Factory がポータル開発チームにとってどのように役立つかについて説明します。さらに、Portlet Factory の主要概念や、基本タスクの実行方法、データ・サービスの作成方法、ポートレット・ユーザー・インターフェースの開発方法、デバッグ手法、および公開のベスト・プラクティスについて説明します。これらのすべてを組み合わせることにより、ポータル・インターフェースにおけるコンポーネントの作成の大部分は迅速化され、自動化されます。このガイドのリリース 7.0.0 には、リリース 7.0.0 および 6.1.5 の新機能 (例えば、テーマやユーザー・インターフェース・コントロールの使用、REST サービス・サポート、拡張リッチ UI、および新規のグラフィカル設計ビュー) に関する情報が記載されています。

製品の概要

WebSphere Portlet Factory は、サービス指向アーキテクチャーの上にポートレットを素早く作成するための、強力で柔軟なツールです。開発者は、会社のコア資産を素早く容易に活用し、それらを自動的にアセンブルして高価値のカスタム・ポートレットにすることができます。 WebSphere Portlet Factory を使用して作成されるポートレットは、変化に自動的に対応する動的で堅固な Java 2 Enterprise Edition (J2EE) アプリケーションです。これらのポートレットに対し、ビジネス・ユーザーは、変化するビジネス要件を満たすためにリアルタイムで変更を加えることができ、その際に、資産のコーディング、複製、およびバージョン管理を行う必要はありません。これらの実装とそのバリエーションをすべてコーディングする必要がないため、 WebSphere Portlet Factory では、開発、公開、および変更管理のプロセスが単純化され、会社にとっては時間とコストの削減になります。

WebSphere Portlet Factory の主な機能は、以下のとおりです。

  • WebSphere Application Server CE 内でポートレットをスタンドアロンで実行することにより、ポートレットの迅速な開発をサポートする。 この開発環境により、変更からテストまでのサイクルが数分から数秒に短縮されるため、開発者の生産性が向上します。
  • 複数ページのカスタム・ポートレットの作成を自動化する。 WebSphere Portlet Factory の Rapid Application Development (RAD) 機能と使いやすさにより、あらゆるスキルの開発者が、複数ページの複雑なポートレットを作成できます。開発者は、使いやすいインターフェースが備わった Builder と呼ばれる適応性の高い一連のソフトウェア・コンポーネントを定義することによって、ポートレットを作成します。開発者が Builder をアセンブルしてモデルを作成すると、そのモデルによってその後にアプリケーション・コードが生成されます。このように、開発者は、各ポートレットを明示的にコーディングするのではなく、動的ポートレットの作成プロセスを取り込んで自動化することができます。 ポートレットやパターンの多くは、既存の WPF Builder を使用することで、ほとんどあるいはまったくコーディングする必要なく作成できますが、カスタム・ビジネス・パターンおよびロジックをカプセル化した WebSphere Portlet Factory ウィザードのような Builder を作成したい開発者にとっては、コーディングも可能です。
  • エンタープライズ・アプリケーションおよびデータとの堅固な統合機能 WebSphere Portlet Factory は、既存のアプリケーションおよびデータ (SAP、Lotus Domino、PeopleSoft、Siebel、Web サービス、リレーショナル・データベース、Excel など) との自動統合を提供します。開発者は、既存のアプリケーションおよびデータにおける既存の投資を活用する、高価値の複合ポートレットを素早く作成できます。
  • IBM WebSphere Portal との自動統合。 WebSphere Portlet Factory を使用すると、IBM WebSphere Portal 機能 (ポートレット・ワイヤリング、Click-to-Action、ビジネス・ユーザー構成、在席確認、WebSphere Portal グループ、およびクリデンシャル・ボールトなど) に直接統合されます。ポートレットは、 WebSphere Portal ソフトウェアに自動的に公開されます。
  • SOA 開発のサポート。 WebSphere Portlet Factory は、サービス指向のアプリケーションやポートレットの作成を促進するための強力なテクノロジーを提供します。これには、Data Services Builder が Data Integration Builder と共に含まれており、これらが連携して SAP や IBM Lotus Domino® などのシステムからサービスを作成するプロセスを自動化します。 このサービス手法により、アプリケーションのバックエンド・サービスをプレゼンテーション層から切り離すための明確な方法が提供されます。バックエンド・サービスのテスト・サポートも自動的に作成されます。また、バックエンドに接続する必要なく、フロントエンド・プレゼンテーションの開発およびテストを行えます。
  • 単一コード・ベースからポートレットの多数のバリエーションを作成する。 WebSphere Portlet Factory のプロファイル作成機能により、開発者は 1 つのコード・ベースからポートレットの複数のバリエーションを容易に作成でき、その際に追加のコード変更や再公開は必要ありません。
  • 頻繁に行われる開発タスクを自動化する。 新しい Builder を作成することにより、開発者や設計者は、よく使用される設計パターンや会社固有のビジネス・プロセスを、すべての開発者にとって再使用可能なコンポーネントとして取り込めるため、アプリケーションのアーキテクチャーや開発のベスト・プラクティスを実施できます。
  • Lotus Mashups との自動統合。 WebSphere Portlet Factory を使用すると、Widget Customizer や Widget Event などの Lotus Mashups 機能に直接統合されます。 ウィジェットは Lotus Mashups ツールボックスに簡単に公開されます。

アーキテクチャーの概要

このセクションでは、 WebSphere Portlet Factory のテクノロジーの概要を、アーキテクチャーから説明します。

アーキテクチャー・スタックの最初の層はデータ・ソースです。データの入手元としては、異なるいくつかのシステム (データベースを含む)、SAP などのエンタープライズ・アプリケーション、Domino などのコラボレーション・プラットフォーム、SAP Business Warehouse などの製品からのヒストリカル・データおよび分析データがあります。

その次の 2 つの層、つまりサービスとポートレットは、どちらも WebSphere Portlet Factory Designer を使用して開発できます。Designer ツールは Eclipse プラグインであり、Rational Application Developer などの Eclipse ベース製品でシームレスに実行されます。

最後の層は WebSphere Portal サーバー・フレームワークです。ここでは、ページのナビゲーションおよび作成ツール、シングル・サインオン機能、ユーザー管理、組み込みプロセス・サーバー、およびコラボレーション機能 (例えば、インスタント・メッセージ) などの主要サービスが提供されます。

主要概念: Builder、モデル、およびプロファイル

WebSphere Portlet Factory では、開発者は Builder と呼ばれる一連のコンポーネントを組み合わせることによってポートレットを作成します。 各 Builder は、ウィザードのような単純なユーザー・インターフェースを備えており、アプリケーションのパーツを自動生成または変更する処理を行います。Builder は、アプリケーション設計パターンを実装します。

Builder はモデル内でアセンブルされるため、モデルはアプリケーション生産ラインのようなものです。 モデル内のいずれかの Builder に変更を加えるたびに、アプリケーション・コードが再生成されるので、開発者はカスタム・ポートレット・アプリケーションを繰り返し開発できます。Builder の中には、ページやテーブルなどの webapp 成果物を作成するものもあれば、前の Builder によって作成された成果物を、テーブルの列の再配置、非表示、または追加によって変更するものもあります。Builder は、JSP、Java クラス、および XML 文書などのアプリケーション・コードを生成します。

さらに、開発者は 1 つのコード・ベースからポートレットの複数のバリエーションを作成でき、その際に追加のコード変更や再公開は必要ありません。これは、 WebSphere Portlet Factory のプロファイル作成機能を使用して行われます。地域、役割、グループ・メンバーシップなどの特性に基づいて、ユーザー区分ごとに異なるプロファイルを作成できます。プロファイル作成テクノロジーはランタイム構成のサポートにも使用されるため、ビジネス・ユーザーは単純なブラウザー・インターフェースを介してアプリケーション機能を制御できます。 最終的な結果として、 WebSphere Portlet Factory を使用すると、会社はオンデマンドで変化に対応する、適応性のあるアプリケーションを素早く作成できるようになります。これは、従来のツールやテクノロジーではとても実現できないことです。

新規プロジェクトにようこそ

新規プロジェクトを作成するか、または現行プロジェクトをアップグレードしたら、アクションで Web アプリケーションまたはウィジェットを表示するために、いくつかのステップを完了する必要があります。

1. モデルの作成

新規モデルを作成するには、「ファイル」 > 「新規」 > 「WebSphere Portlet Factory モデル」をクリックします。

サンプル Web アプリケーションまたはウィジェットで作業するには、プロジェクト・エクスプローラーを使用して、models/samples フォルダー内のファイルの 1 つを 開きます。

2. テスト実行
テスト・サーバーでモデルを実行するには、以下のようにします。
  1. プロジェクト・エクスプローラーで、テストするモデルを選択します。
  2. ダブルクリックしてモデルを開きます。
  3. 「実行」アイコン 「実行」アイコン、緑の円の中の白い三角形をクリックします。

3. 使用するために公開またはエクスポート

プロジェクトをターゲット・サーバーに公開するには、プロジェクトを右クリックして、アプリケーションの公開をクリックします。

IBM WebSphere Portlet Factory インターフェース

WebSphere Portlet Factory には、モデルとプロファイルの編集および Web アプリケーションの 開発のための多機能なユーザー・インターフェースが用意されています。

WebSphere Portlet Factory Designer を実行する場合、IBM WebSphere Portlet Factory パースペクティブを使用します。このパースペクティブには、モデルの編集および Web アプリケーションの構築をサポートする特殊メニューなどの機能があります。「ウィンドウ」 > 「パースペクティブを開く」 > 「その他」 > 「WebSphere Portlet Factory」をクリックして、このパースペクティブをアクティブにします。 ウィンドウのタイトルに、 WebSphere Portlet Factory パースペクティブが使用中であることが示されます。

WebSphere Portlet Factory は Eclipse の問題ビューを使用して、モデルの生成と動作に関連する警告メッセージおよびエラー・メッセージを表示します。 特定の Builder 呼び出しによってエラーが発生した場合に、 問題リストでそのエラーをダブルクリックすると、関連する Builder 呼び出しが Builder 呼び出しエディターで編集用に開かれます。

「適用対象プロファイル」ビュー
「適用対象プロファイル」ビューでは、1 つ以上のプロファイルをモデルに適用できます。

このビューを使用すれば、同じモデルに複数のプロファイルが適用されたときに、 プロファイルの組み合わせを管理することもできます。開かれているモデルが編集域で選択された場合にのみ、内容が表示されます。 「ウィンドウ」 > 「ビューの表示」 > 「適用対象プロファイル」をクリックして、ビューを表示します。

「プロパティー」ビュー
「プロパティー」ビューには、アプリケーション・ツリーまたは「設計」パネルで選択された生成エレメントについて、選択した Builder 入力およびその現行設定が表示されます。

標準の Eclipse プロパティー・ビューを使用して、モデル内のフィールドの表示設定値および検証設定値を確認および変更することができます。このビューを表示するには、「ウィンドウ」 > 「ビューの表示」 > 「その他」 > 「一般」 > 「プロパティー」をクリックします。

「ベスト・プラクティス (Wiki) (Best Practices (Wiki))」ビュー
「ベスト・プラクティス (Wiki) (Best Practices (Wiki))」ビューには、 WebSphere Portlet Factory Wiki のホーム・ページを表示するよう設定された、デフォルトの Eclipse ブラウザーが表示されます。

この Wiki は、製品のベスト・プラクティスに関連する IBM とコミュニティーの両方のコンテンツのリポジトリーです。このビューを表示するには、「ウィンドウ」 > 「ビューの表示」 > 「その他」 > 「WebSphere Portlet Factory」 > 「ベスト・プラクティス (Wiki) (Best Practices (Wiki)」をクリックします。

プロジェクト・エクスプローラーおよびモデル・ナビゲーター・ビュー

プロジェクト・エクスプローラーは、標準のナビゲーターの拡張バージョンです。

プロジェクト・エクスプローラーは、主要なプロジェクト成果物である Java ソース、モデル、およびプロファイルへのプロジェクト・レベル・フォルダー・アクセス権を提供します。これらのプロジェクト・レベル・フォルダーは、WEB-INF ディレクトリー内のフォルダーに保管されているファイルを操作するときの便宜のために提供されています。このようにフォルダーが配置されていることで、対象のディレクトリーにドリルダウンすることなく成果物にアクセスできます。これらのフォルダー内のファイルを使用して作業するには、この特別なプロジェクト・レベル・フォルダーからナビゲートするか、 WEB-INF の下にあり、リソースが実際に保管されているプロジェクト・ファイル構造のフォルダーからナビゲートします。

プロジェクト・エクスプローラー・ビューは、現行プロジェクトを構成するすべてのオブジェクトを表示する ツリー・ベースのディレクトリー階層を提供します。プロジェクト・エクスプローラーを使用することで、IBM WebSphere Portlet Factory プロジェクトの完全なツリーの表示、そのツリーで表示するプロジェクト・コンポーネントのサブセットの指定、およびツリー内で選択したエレメントに対するリファクタリングの実行が可能になります。 モデルやプロファイル・セットなどのオブジェクトにナビゲートし、 それをダブルクリックすることによって、そのオブジェクトを開くことができます。 このオブジェクトは、該当するエディターに表示されます。

モデル・ナビゲーター・ビューは、プロジェクト・エクスプローラーのサブセットを示します。これにより、プロジェクトで定義されたモデルおよびプロファイルのセットに容易にアクセスできます。 「ウィンドウ」 > 「ビューの表示」 > 「モデル・ナビゲーター」をクリックして、ビューを表示します。

両方のビューで、階層を展開したり、表示をフィルタリングしたりできます。

注: プロジェクト・エクスプローラーまたはモデル・ナビゲーター・ビューを使用して、プロジェクト成果物 (モデルまたはプロファイルのセットなど) を名前変更しないでください。 WebSphere Portlet Factory は、一部の成果物 (プロファイルのセットなど) を名前ではなく ID で 参照するため、プロジェクト・エクスプローラーまたはモデル・ナビゲーターで成果物を名前変更すると、モデルが再生成または実行されるときに問題が発生します。

モデルまたはプロファイルのセットを名前変更するには、「リファクタリング」 > 「名前変更」コマンドを使用します。

プロジェクト・エクスプローラーは、Eclipse および Rational Application Developer でサポートされます。それ以前のバージョンの Eclipse および Rational Application Developer については、モデル、プロファイル、および Java ソースのリンク・フォルダーが提供されます。これにより、標準のナビゲーターからこれらのリソースを迅速に検索およびナビゲートできます。

注: WebSphere Portlet Factory コンテンツは、 WebSphere Portlet Factory プロジェクト内にのみ表示されます。

プロジェクト・エクスプローラーで表示をフィルタリングする

対象としないタイプを選別することで、プロジェクト・エクスプローラーが表示するエレメントのタイプを制御できます。

例えば、プロジェクトで使用するモデルのリストのみ表示 できます。
注: プロジェクト・エクスプローラーでプロジェクト・ツリーを表示するには、「Portlet Factory」「の両方、および「Java 要素」または「リソース」のいずれかを選択する必要があります。

プロジェクト・エクスプローラー・ツリーで表示されるリソースのリストを制限または拡張するには、プロジェクト・エクスプローラーのナビゲーション・バーでメニュー・アイコン (メニュー) をクリックして「フィルター」をクリックし、「使用可能なフィルター (Available Filters)」オプションからチェック・ボックスを選択またはクリアします。 フィルターを選択すると、そのフィルター・タイプが非表示になります。 例えば、プロジェクトで使用するモデルのみを表示するには、「モデル以外」を選択してモデル以外のすべてのリソースを非表示にします。

「フィルター」ダイアログで「使用可能なコンテンツ (Available Content)」をクリックし、プロジェクト・エクスプローラーで表示するリソースの選択および表示しないリソースのクリアを行い、表示するリソースも制限できます。

モデル・ナビゲーター・ビューを表示する

表示される内容をフィルタリングするには、モデル・ナビゲーター・ビューを使用します。

モデル・ナビゲーター・ビューを使用することで、プロジェクト・コンポーネントのすべての項目を表示するのではなく、プロジェクト・モデルおよびプロファイル・セットのみを表示できます。

Eclipse で、「ウィンドウ」 > 「ビューの表示」 > 「モデル・ナビゲーター」をクリックします。

モデルおよびプロファイル・セット・フォルダーのみを含むプロジェクト・ツリーが、別のペインに表示されます。モデル・ナビゲーターでは、プロジェクト・エクスプローラー・ビューでの操作と同様の方法でモデルおよびプロファイル・セットを使用できます (ただし完全なツリーをナビゲートする必要はありません)。

注: プロジェクト・エクスプローラーからモデルまたはプロファイル・セットをフィルタリングにより除外しても、モデル・ナビゲーターにはこれらのフォルダーが引き続き表示されます。モデル・ナビゲーターの目的は、プロジェクト・エクスプローラー・ビューの内容に関係なく、プロジェクト・モデルとプロファイル・セットを表示することです。

プロジェクト・エクスプローラーを起動する

デフォルトでは、プロジェクト・エクスプローラーが表示されます。

プロジェクト・エクスプローラーを閉じた場合は、「ウィンドウ」 > 「ビューの表示」 > 「その他」をクリックして「一般」 > 「プロジェクト・エクスプローラー (Project Explorer)」を選択することで、再表示できます。

プロジェクト・エクスプローラーでリソースを開くと、別のペインのエディターにそのリソースに関する情報が表示されます。 リソースを右クリックして開き、表示されるポップアップから「開く」を選択します。例えば、モデルを開く場合、モデル・エディターが表示されます。 ここには、以下のタブが含まれます。

ソース
モデルのソース・コード、および役に立つ関連情報 (プロパティーや関連付けなど)を表示します。
設計
アプリケーション・ツリーまたは「ページ」パネルで選択されたユーザー・インターフェース・エレメントの構造をグラフィカルに表示します。
モデル XML
モデルを定義する XML コードを表示します。
Builder 呼び出しエディター
開いている Builder に関する情報を表示します。

プロファイル・セットを開く場合、独自のタブおよびボタンのセットとともにプロファイル・エディターが表示されます。これを使用することで、そのセット内でプロファイルを追加、編集、または削除できます。 個別のプロファイルを開くには、プロファイル・セットを開いてそのコンテンツを「アウトライン (Outline)」で表示する必要があります。

エディターで Builder 呼び出しを名前変更できます。

注: この機能を利用した場合は、変更内容がシステム全体で調整されないため、利用しないことを強く推奨します。 Builder 呼び出しを名前変更する場合は、エディターではなく「アウトライン (Outline)」から行う必要があります。

プロファイル・エディター

IBM WebSphere Portlet Factory では、 プロファイル・エディターを使用して、プロファイル・セットを作成および管理できます。

WebSphere Portlet Factory パースペクティブのエディター領域上部にあるプロファイル・セット・アイコン (プロファイル・セット・イメージ) が示されたタブから、編集用に開かれているプロジェクト・プロファイル・セットにアクセスできます。 フォーカスがあるタブには X が表示され、すべてのビューの内容が取り込まれます。

タブにアスタリスク (*) が表示される場合は、保存されていない変更内容がプロファイル・セットに存在します。 プロファイル・エディターには、以下のタブ・パネルがあります。
プロファイルの管理
このパネルでは、プロファイル項目を編集できます。
項目
このパネルでは、プロファイル・セット内のプロファイル項目を定義できます。
ハンドラーの選択
このパネルでは、プロファイル選択設定の編集およびプロファイル選択ハンドラーの選択を行うことができます。

「アウトライン (Outline)」ビューについて

IBM WebSphere Portlet Factory パースペクティブの「アウトライン (Outline)」ビューは、編集域で選択したモデルの Builder 呼び出しリストを表示します。

現在選択しているモデルの Builder 呼び出しリストは、モデル内にある各 Builder 呼び出しの番号別、名前別、またはタイプ別のリストです。プロファイルが作成された Builder 呼び出しには、プロファイル・アイコンが表示されます。ビュー・ツールバーにあるアイコンを使用して、現行モデルの生成や、モデルへの Builder 呼び出しの追加を素早く実行できます。

「アウトライン (Outline)」ビューはポップアップ・メニューをサポートします。これにより、選択して利用可能なコマンド (切り取り、コピー、および貼り付けなど) を使用することで、リスト内の Builder 呼び出しを管理できます。

Builder 呼び出しリスト内で Builder 呼び出しをドラッグ・アンド・ドロップして、それらを再配列できます。 Builder 呼び出しリスト内の番号記号 (#) は、Builder 呼び出しの 数値順序を示します。Builder 呼び出しが、リスト内で後に指定されている別の Builder 呼び出しに依存している場合、呼び出しが失敗するため、リスト内の Builder 呼び出し順序は重要です。 使用できない Builder 呼び出しは、ぼかし表示されます。

「名前」には、Builder の「名前」入力として入力できる指定項目があります。名前を入力しないと、ページ場所に基づいて名前が生成されるか、<名前なし> と表示されます。「タイプ」には、Builder ピッカーで選択された実際の Builder の指定項目があります。別の列は、Builder 呼び出しに関連プロファイルが存在するかどうかを示します。

「ビュー」メニュー

アウトライン・ビュー・ツールバーにあるビュー・メニューでは、Builder 呼び出しリストを管理するコマンドを使用できます。「すべてを展開して表示」コマンドは、すべての Builder 呼び出し項目を表示します。「すべて省略表示」コマンドは、そのカテゴリー下の Builder 呼び出し項目を非表示にします。 これは、長いリストを短縮する場合に役立ちます。以下のコマンドを使用できます。

「ビュー」メニューの末尾に、モデルに追加する Builder の候補を示す名前の リストがあります。Builder 名をクリックするのみでその Builder が モデルに追加され、Builder 呼び出しエディターがエディター領域に開きます。

グループ化

「ビュー」メニューの「グループ化」コマンドを使用して、 リスト内の Builder 呼び出しの整列方法を選択します。以下のオプションがあります。
カテゴリー
カテゴリーを選択します。そのカテゴリーの Builder 呼び出しすべてを非表示にすることが できます。Builder 呼び出しをドラッグ・アンド・ドロップすると、カテゴリー値が割り当てられます。
コメント
カテゴリーによるグループ化に似ていますが、リスト内のすべての Comment Builder がカテゴリー として使用されます。
依存関係
アプリケーション・ツリーでの依存関係情報に基づく順序になります。 例えば、「サービス操作」は対応する「サービス定義」の下に表示されます。 ドラッグ・アンド・ドロップは使用不可です。
なし
挿入位置によるデフォルトの順序付けを使用します。ドラッグ・アンド・ドロップは、数値によって ソートされている場合のみ使用可能です。
タイプ
タイプによるソートに似ていますが、グループ全体を非表示にできる点が異なります。 ドラッグ・アンド・ドロップは使用不可です。

ソート順

「ソート順」コマンドでは、さまざまな方法でリスト表示を調整できます。デフォルトは、番号順です。 列タイトルをクリックして、Builder 呼び出しリストをソートすることもできます。

アプリケーション・ツリーとのリンク

リストされた各 Builder 呼び出しの矢印アイコンを含む列では、別のビューにある関連エレメントに リンクできます。この矢印をクリックして、「アプリケーション・ツリー」ビューおよび「ページ」ビューで関連エレメントを強調表示します。 また、この機能は、「ソース」ビューのコードと「設計」ビューの関連オブジェクトを表示および強調表示します。 ビューのプルダウン・メニューで「アプリケーション・ツリーとのリンク」を設定した場合、リスト内で異なる Builder 呼び出しを選択するたびに、「アプリケーション・ツリー」ビュー、「ページ」ビュー、「ソース」ビュー、および「設計」ビューで変更内容が強調表示されます。 コマンドを設定すると、矢印アイコンは列に表示されません。 IBM WebSphere Portlet Factory Designer にパフォーマンス・オーバーヘッドを発生させることになるため、デフォルトではコマンドは設定されません。

「ビュー」メニューの「列」コマンドを使用して 、Builder 呼び出しリストでの列の順序および外観を制御します。

Builder 呼び出しリスト

Builder 呼び出しリストには、モデルを定義する Builder 呼び出しがすべて含まれています。

Builder 呼び出しリストは、編集のためにモデルが開かれた場合に開発環境のアウトライン・ビューでレンダリングされます。Builder 呼び出しリストには、モデル内の各 Builder 呼び出しのシーケンス番号、名前、およびタイプが表示され、Builder 呼び出しのプロファイルが作成されるかどうかが示されます。

Builder 呼び出しリストを使用すれば、Builder 呼び出しのソート、フィルタリング、およびカテゴリー化を行うことができます。 Builder 呼び出しを選択して、コンテキスト・メニュー (右クリック・メニュー) で選択可能な コマンド (切り取り、コピー、貼り付けなど) を使用することにより、リストで Builder 呼び出しを管理することができます。

使用できない Builder 呼び出しは、ぼかし表示されます。

IBM WebSphere Portlet Factory は、これらの Builder 呼び出しを、Builder 呼び出しリストに現れる番号順に実行します。 各 Builder 呼び出しが実行されるときに、WebApp オブジェクトにエレメントが追加されたり、WebApp オブジェクト内のエレメントが変更されたりします。

Web アプリケーションをモデルから生成するときに、 WebSphere Portlet Factory は Builder 呼び出し入力に使用された間接参照を解決し、該当するプロファイルの値をプロファイル済み Builder 呼び出し入力に指定します。

Builder 呼び出しは線形に実行されるため、リスト内で Builder 呼び出しを配置する順序は重要です。 例えば、あるメソッドによって戻される値を Builder 呼び出し入力で参照するには、そのメソッドを現在の Builder 呼び出しの前に WebApp に追加します。

モデルを開発するとき、必要なオブジェクトにアクセスできない Builder 呼び出しを追加することがあります。 例えば、Data Field Modifier Builder 呼び出しが Data Page Builder 呼び出しのエレメントに対して 作動するときに、Data Field Modifier Builder 呼び出しを Data Page Builder 呼び出しの前に追加または移動すると、 WebSphere Portlet Factory Designer は以下のような警告を表示します。

Field selector "[page1]ShowEmployeeData/RowSet/Row/EMPNO" did not evaluate to any fields.
Ensure that this BuilderCall follows the corresponding Data Page BuilderCall.

この場合、Data Field Modifier Builder 呼び出しを Data Page Builder 呼び出しの「下」にドラッグすれば、このエラーは除去されます。

一般に、Builder 呼び出しを Builder 呼び出しリストに追加するとき、呼び出しと呼び出しの間にある依存関係を考慮してください。まだ作成されていない呼び出し (または呼び出しの成果物) に依存する呼び出しをリストに入れないようにしてください。 トップダウン方式で Builder 呼び出しリストにデータを取り込み、リストに追加する呼び出しがその上の Builder 呼び出しにのみ依存するようにしてください。

注: Builder は、Builder 呼び出しリストのソート方法 (例えば、アルファベットで名前順、タイプ順など) に関係なく、Builder 呼び出しリスト内の Builder 呼び出しの番号順に基づいて実行されます。
Builder 呼び出しリストの編成の変更について

以下の Builder 呼び出しリストの表示オプションを使用して、モデル内 の Builder 呼び出しの表示を変更できます。

ドラッグ・アンド・ドロップ
Builder 呼び出しをリスト内の別の位置にドラッグして、Builder 呼び出しの相対位置を変更します。
ソート
番号、名前、またはタイプの列見出しをクリックして、Builder 呼び出しリスト を英数字順に整列します。
filter
グラフィカル・ユーザー・インターフェース (GUI) でのフィルタリングを行うことにより、Builder 呼び出しリスト・ビューに Builder 呼び出しが表示されないようにします。
Builder ピッカーの使用について

Builder ピッカーは、環境内で使用可能な Builder をリストし、ユーザーのモデルに追加できる Builder を選択する手段を提供します。

Builder ピッカーには、デフォルトで次のペインが表示されます。
  • カテゴリー名

    このペインには、Builder を管理し、関連 Builder の検索に役立つフォルダーが用意されています。提供されるすべての Builder にはカテゴリーが最低 1 つ割り当てられます。Builder ピッカーで、このカテゴリーに従って Builder を表示できます。Builder の中には、複数のカテゴリーに表示されるものがあります。 カテゴリーを使用して、Builder を 編成できます。例えば、「カテゴリー名」リストの「ページ・エレメント」をクリックすると、ページの作成および操作に関係するすべての Builder がリストされます。

    推奨
    「推奨 (Recommended)」をクリックして、「Builder」のすべてのカテゴリーで推奨されるすべての Builder 名を表示します。「推奨 (Recommended)」を展開して推奨カテゴリーをリストします。 どのようなオブジェクトがアプリケーション・ツリー・ビューで選択されたとしても、それに関連付けられたカテゴリーが推奨カテゴリーとなります。 これらの推奨カテゴリーのいずれかをクリックすると、「Builder」の下のリストは、選択されたカテゴリー内にある Builder 名に制限されます。
    すべて
    使用可能な Builder をリストします。リストに Builder が表示されない場合は、プロジェクト・バージョンをアップグレードするか、またはプロジェクト・プロパティーを使用してフィーチャー・セットを追加する必要がある場合があります。
    最近使用されたもの
    現在のワークスペースでの作業中に、Builder ピッカーからアクセスした Builder の名前をリストします。
    お気に入り
    選択した Builder 名をリストします。リストに追加するには、Builder 名をクリックし、「お気に入りに追加」または「お気に入りの管理」をクリックして、すべての Builder 名を表示するダイアログを使用します。

    リストから項目を削除するには、「お気に入りの管理」を使用します。

    検索結果
    「検索結果」をクリックすると、「Builder」の下に、検索ボックスから保存したキーワードに関連しているすべての Builder 名がリストされます。

    例えば、Builder ペインの上部の検索ボックスに文字「p」を入力すると、スクロール可能なドロップダウン・リストに、「p」が含まれているすべてのキーワードがリストされます。キーワード「page」を入力すると、「page」が含まれているすべてのキーワードが表示されます。

    テキスト・ボックスに表示させ、「検索結果」に保存する対象のキーワードをクリックします。 そのキーワードに関連した Builder の名前が「Builder」の下に表示されます。 キーワードを「検索結果」に追加し、「Builder」の下に関連する Builder 名をリストするには、ドロップダウン・リスト内の最後の項目 (「以下を含むすべての Builder キーワード」と検索語) をクリックします。

    「検索結果」を展開し、保存したキーワードをリストします。 キーワードをクリックすると、「Builder」のリストは、そのキーワードに関連した Builder の名前に制限されます。

    Builder ピッカーのダイアログが閉じると、「検索結果」はクリアされます。

    各種カテゴリー (Assorted categories)
    現在 IBM WebSphere Portlet Factory Designer で使用されているカテゴリーの名前がリストされます。新規カテゴリーで Builder を追加すると、そのカテゴリーがここにもリストされます。

  • Builder

    このペインには、「カテゴリー名」での選択または検索ボックスに入力されたキーワードに基づいて、アルファベット順に Builder 名がリストされます。ユーザーのモデルに Builder を追加するには、名前を選択して「OK」をクリックします。

  • ヘルプ・トレイ

    デフォルトでは、このペインには選択した Builder に関する情報が表示されるため、それが追加する Builder かどうかを判別できます。またこのペインには、その Builder に関する詳細情報へのリンクがあります。

    デフォルトでヘルプ・トレイを表示しないことを選択した場合は、F1 キーを押すか、疑問符 (?) アイコンをクリックして、再表示します。

Builder ピッカーを使用すると、 WebSphere Portlet Factory インストール・システムに組み込まれているかまたは追加されているどの Builder でも追加できます。

Builder を選択して、「OK」をクリックすると、Builder ピッカーは終了し、その Builder に対して Builder 呼び出しエディターが実行されます。

Builder リストの更新について

IBM WebSphere Portlet Factory Designer で使用可能な Builder のリストを更新できます。

Builder ピッカー内の Builder リストを更新して、他の Builder を組み込むようにできます。WEB-INF/builders ディレクトリーに追加される Builder 定義によって定義された Builder は、「すべて」カテゴリーと Builder 定義で定義された その他の任意のカテゴリーにリストされます。以下の場合、Builder 名は Builder リストに表示されません。

  • Builder が機能セットに関連付けられており、その機能セットがプロジェクトの一部ではない。

    プロジェクトを変更して、機能セットを追加できます。 これにより、Builder が Builder ピッカー内にリストされます。

  • 新規バージョンまたはパッチを WebSphere Portlet Factory Designer に追加した。

    プロジェクトのバージョンをアップグレードして、Builder リストを更新する必要があります。

Builder リストを更新する

Builder のリストを更新できます。

  1. プロジェクト・エクスプローラーで、プロジェクトを右クリックし、「プロジェクト・バージョンのアップグレード」をクリックします。
  2. WEB-INF/builders ディレクトリーに Builder 定義を追加したばかりのときには、IBM WebSphere Portlet Factory Designer を再始動して、新規 Builder を Builder ピッカーに表示することが必要である場合があります。
Builder のヘルプを表示する

Builder 呼び出しエディターを開くことなく Builder のメイン・ヘルプ・トピックを表示できます。

これは、モデルに追加するのに適した Builder であるかどうかの判断に役立ちます。次のいずれかを行います。
  • Builder ピッカーで、「Builder」においてカーソルを Builder 名の上へ移動します。

    Builder の目的を記述するホバー・テキストが表示されます。

  • Builder ピッカーで、「Builder」において、ヘルプの表示対象の Builder の名前をクリックします。

    デフォルトでは、ダイアログにヘルプ・トレイが表示されます。

    ダイアログの右側のヘルプ・トレイに、その Builder の目的が要約されたテキストが表示されます。このテキストには、Builder のメイン・ヘルプ・トピックへのリンクが含まれています。

  • デフォルトでヘルプ・トレイを表示しないように選択した場合は、Builder ピッカーで、以下のいずれかのアクションを実行します。
    • 左下隅にある疑問符 (?) アイコンをクリックします。
    • 「Builder」で、ヘルプを表示する Builder の名前をクリックし、F1 キーを押します。

    要約テキストとリンクが含まれたヘルプ・トレイが表示されます。

  • 「ヘルプ」 > 「ヘルプ目次」 > 「IBM WebSphere Portlet Factory Designer」 > 「参照」 > 「Builder のヘルプ」をクリックし、リストから Builder 名をクリックします。

    Builder のメイン・ヘルプ・トピックが、詳細ペインに表示されます。

「お気に入りの管理」ダイアログについて

「Builder ピッカー」ダイアログで「お気に入りの管理」をクリックして、頻繁に使用する Builder のリストを保守します。

このリストは、Builder ピッカーの「カテゴリー名」の下にある「お気に入り」フォルダーに保管されます。

追加
クリックすると、選択した項目が「Builder」から「お気に入り」に移動します。 「Builder」には、「すべて」フォルダーに表示される名前と同じ名前がリストされます。
除去
クリックすると、選択した項目が「お気に入り」から削除されます。
閉じる
クリックすると、ウィンドウが閉じます。

ダイアログのコンテキスト情報をヘルプ・トレイに表示するには、疑問符 (?) アイコンをクリックします。

Builder 呼び出しのポップアップ・メニュー

アウトライン・ビューを右クリックすると、Builder 呼び出しリストを管理し、Builder 呼び出しで他の操作を実行できるようにするポップアップ・メニューが開きます。

このメニューの一部のオプションは、Builder 呼び出しが選択されている場合にのみ使用できます。このメニューは、以下のコマンドおよびアクションへのアクセスを提供します。

開く
Builder 呼び出しを開き、Builder 呼び出しエディター・ページを表示します。
切り取り
Builder 呼び出しをリストから除去してクリップボードに保管します。
コピー
Builder 呼び出しのコピーをクリップボードに保管します。
貼り付け
Builder 呼び出しのコピーを別の場所に書き込みます。
元に戻す
メニューで最後に実行されたアクションの効果を除去します。
再実行
メニューで最後に実行されたアクションの効果を繰り返します。
名前変更
選択された Builder 呼び出しの名前を変更します。名前の変更によって影響されるリソースのリストと、これらのリソースを変更するためのオプションが提供されます。
挿入
Builder 呼び出しエディターを構成し、「適用」または「OK」をクリックして保管した後、Builder 呼び出しをリストに配置します。
コメントの挿入
モデルに Comment Builder を追加します。これは、モデルのさまざまな部分を文書化するには適切な手段です。リストがコメント別にグループ化されている場合、このコメントと次のコメント下の項目は、この追加されたコメント別にグループ化されます。
すべて選択
リスト内のすべての Builder 呼び出しを選択します (通常は、コピーおよび貼り付けのため)。
削除
「アウトライン (Outline)」ビューのリストから Builder 呼び出しを除去します。
使用可能
使用不可になっている Builder 呼び出しをアクティブにします。
使用不可
Builder 呼び出しを非アクティブにします。Builder 呼び出しは「アウトライン (Outline)」ビューのリスト内にそのまま残りますが、その Builder 呼び出しが表す Builder は再生成時にモデル上で作動しません。
Builder カテゴリーの変更
モデルで使用されている既存のカテゴリーから選択または新規カテゴリーを入力できるダイアログを表示します。このカテゴリーは、選択されたすべての Builder 呼び出しに影響します。
最新表示
Builder 呼び出しリストの現行状態を表示します。
アプリケーション・ツリーでエレメントを表示
選択された Builder 呼び出しの場合、アプリケーション・ツリーで関連エレメントの場所を強調表示することで、簡単に見つけられるようにします。
変換
Builder 呼び出しを Builder のタイプ間で変更します。複数の選択項目が表示されることがあります。
builder-name
システムでそのタイプの Builder に即座に変換できる場合や、変換ターゲットとして Builder が分類されているような場合、個別の選択項目として Builder の名前が表示されます。

このメニュー選択項目は、Builder を、ほとんど同じ入力を持つ同様のタイプの Builder に変換する場合に役立ちます。 例えば、Button Builder を Link Builder に変換したり、Page Builder を Imported Page Builder に変換したりする場合です。

変換
「Builder ピッカー」ウィンドウが開きます。このウィンドウで、Builder を選択できます。

通常、Builder の変換には同じカテゴリーの Builder が必要です。 例えば、「ページ」カテゴリー内や「ページ・エレメント」カテゴリー内で、あるタイプの Builder から別のタイプの Builder に変換します。 性格や設計が 根本的に異なる Builder への変換を行わないでください。

元の Builder の入力は保存されて、適切な場合は、 新規の Builder に自動的に適用されます。 例えば、「ボタン・ラベル」の入力値は「リンク・テキスト」入力に適用されます。 元の Builder の入力はすべて、新規 Builder 呼び出しエディターに追加されます。

モデル・エディターについて

IBM WebSphere Portlet Factory では、 WebSphere Portlet Factory パースペクティブのエディター領域で複数のパネルを使用して、Web アプリケーションのモデルを作成および開発します。

プロジェクト・エクスプローラーまたはモデル・ナビゲーターのビューを使用してモデルにアクセスし、モデル・エディターで開きます。 WebSphere Portlet Factory パースペクティブのエディター領域上部にある、モデル・アイコン (モデル・イメージ) が示されたタブから、編集用に開かれているプロジェクト・モデルにアクセスできます。 フォーカスがあるタブには X が表示され、すべてのビューの内容が取り込まれます。

タブにアスタリスク (*) が表示される場合は、保存されていない変更内容がモデルに存在します。

パネル

モデル・エディターのパネルを使用して、モデル上の Builder 呼び出しの効果を理解したり、Builder 呼び出しを変更したり、モデル内の エレメント間の関係を検証したりすることができます。 パネルには以下が含まれます。

アプリケーション・ツリー
このパネルには、Builder 呼び出しが作成してモデルに追加したすべてのエレメントが、WebApp フォルダーに表示されます。 これには、データ・サービス、イベント、Linked Java Object、メソッド、ページ、変数、 スキーマなどが含まれます。 オブジェクトにナビゲートして選択することで、オブジェクトとその内容を調べることができます。

WebApp ツリーは、モデルが再生成されるたびに更新されます。

ページ
このパネルは、モデル内のページおよびフォームを代替表示します。 より迅速に特定のページまたはフォームを特定するには、「大きいアイコン」 フォーマットを使用します。
ソース
このパネルは、モデル内のオブジェクトに関連するソース・コードを表示し、そのソース・コード自体の有用な情報を提示します。
設計
このパネルは、「アプリケーション・ツリーまたはページ」パネルのいずれかで選択された可視エレメントのビジュアル表示を示します。 このパネルにより、モデルを実行することなく、モデル内の可視エレメントを迅速かつ効率的に確認できます。 このパネルを使用して、ページ自動化フィールドを変更したり、外観を表示したりすることもできます。
パレット
「設計」パネルの右上隅にパレット・アイコンがあります。 このアイコンをクリックすると、Builder をモデルに追加するための設計ツールおよびコマンドのパレットの表示/非表示が切り替わります。タイトル・バーのポップアップ・メニューを使用すると、パレットのドッキング場所のサイズ変更および移動を行うことができます。 ドラッグ・アンド・ドロップ操作を使用して、モデルのレイアウトを変更することもできます。 このような変更を行うと、Display Manager Builder がモデルに追加されます。
モデル XML
このパネルは、モデルの基礎となる XML コードを表示します。Builder を作成する開発者向けのパネルです。
Builder 呼び出しエディター
このパネルは、モデル内の Builder 呼び出しを構成または変更する際に使用するエディターを表示します。

アプリケーション・ツリーについて

アプリケーション・ツリーには、エディター領域で選択された、開いているモデルで生成されたエレメントがリストされます。

モデル・エディターでアプリケーション・ツリーを使用すると、生成されたエレメントにナビゲートしてアクセスできます。モデル・エディターでフォーカスされている開いているモデルの、「アプリケーション・ツリー」タブをクリックして、パネルを表示し、生成されたエレメントがタイプ別にリストされている WebApp フォルダーおよびサブフォルダーを表示します。「アプリケーション・ツリー」タブが表示されていない場合は、エディター領域の左方の矢印アイコンをクリックして、選択したパネルを省略し、「アプリケーション・ツリー」パネルを表示します。

モデルの生成されたエレメントが、ツリー形式で WebApp フォルダー下に表示されます。エレメント・タイプを表すフォルダーは、展開および省略できます。例えば、WebApp 内のすべての変数は変数フォルダーに含まれています。 このことは他のタイプのエレメントにも当てはまります。生成されたエレメントをこのように編成すると、WebApp に含まれている内容と再生成時に WebApp がどのように変化するかを容易に視覚化できます。例えば、アプリケーション・ツリーを使用して、Builder が WebApp に何を追加するかを判別できます。

コンパニオン「ページ」タブをクリックすると、さらに容易にページおよびフォーム・エレメントにアクセスできます。

アプリケーション・ツリーで選択された生成されたエレメントのタイプごとに、対応するコードが「ソース」パネルに表示されます。

Builder 呼び出しまたはメソッドによって生成された関連コードを調査するには「ソース」パネルを使用します。

アプリケーション・ツリーでフォルダーを展開し、WebApp オブジェクトをクリックすると、オブジェクトを作成する Builder が Builder 呼び出しリスト内で強調表示されます。 同様に、「アウトライン (Outline)」ビューで Builder 呼び出しを選択し、「WebApp ツリーとのリンク」を使用可能にすると、その Builder 呼び出しに関連した生成されたエレメントが、アプリケーション・ツリーで選択されます。

アプリケーション・ツリー操作は、「ソース」ビューおよび「設計」ビューと密接に結合されています。

アプリケーション・ツリー内のコントロール

アプリケーション・ツリーの上部には、標準の Eclipse ツリー・フィルターがあります。このフィルターにテキストを入力すると、インクリメンタル検索が実行されます。 名前の先頭にフィルター文字があるリソースのみが、WebApp フォルダー内の関連したサブフォルダーに表示されます。アスタリスク文字 (*) を入力してからテキストを入力すると、そのテキストが名前の任意の場所に含まれているリソースが表示されます。フィルターをクリアし、すべてのリソースを表示するためのアイコンがあります。

アプリケーション・ツリーはポップアップ・メニューをサポートし、このメニューを使用すると、作成された Builder を容易に開いたり、選択したエレメントを変更したりできます。

注: IBM WebSphere Portlet Factory Designer 設定で「非表示オブジェクトの表示」を設定すると、WebApp フォルダー下の追加のオブジェクトを表示できます。
アプリケーション・ツリーの標準的なフォルダー

通常、アプリケーション・ツリーには次のフォルダーが表示されます。

コメント
Comment Builder 呼び出しを表示します。この呼び出しは、モデル構造や Builder 呼び出しリスト内の Builder のセグメントを文書化する場合に使用されます。これにより、モデルの文書化を容易に行うことができます。
データ・サービス
IBM WebSphere Portlet Factory データ・サービス層へのアクセスに使用する生成されたエレメントに関する情報を表示します。この共通層は、バックエンド・データまたは外部データへのアクセスに使用され、データとユーザー・インターフェース (UI) を分離できるようになります。 例えば、この層によってデータおよびリンクされたモデル (データにアクセスするためのビジネス・ロジックまたはユーザー・インターフェースを提供) への アクセスに使用する 1 つのモデルを持つことができます。 データ・サービスとして表示されるオブジェクトには、さまざまな View and Form Builder によって行われるサービス呼び出し、SQL 呼び出し、 およびデータ・アクセス要求があります。
イベント
イベント・ハンドラー情報を表示します。(イベント宣言そのものは 表示されません。) Error Handler Builder 呼び出しがモデルに追加される場合、 その情報が「ソース」パネルに表示されます。 WebApp の各イベントは、イベント・ツリーにリストされます。 ユーザー定義イベント (Event Declaration Builder で作成) には User という接頭部が付き、そのイベントを処理する Event Handler Builder が存在する場合にのみ、表示されます。 イベント宣言は 2 つのメソッドを WebApp に追加します。これらのメソッドは、メソッド・フォルダー下に表示されます。 以下に、標準的なイベント・ビューアーの表示を示します。
イベント: OnError.main
アクション: showErrorPage
Linked Java Object
モデル内の各 LJO についての情報を表示します。 これには、LJO 内の状態 (フェイルオーバーのために保持されます) および 公開メソッドが含まれます。
メソッド
選択したメソッドの Java コードを強調表示して表示します。ビューアーには 生成されたメソッド・クラス全体が表示され、選択したメソッドが強調表示されます。
ページ
WebApp 内の各ページについての情報を表示します。上部のパネルは ページ名の状態 (公開) およびプロパティーを説明しています。 下部のパネルはページの HTML および JSP コードおよびタグを表示します。 個々のページの下にリストされたノード (ページ制御) をクリックして、 そのノードをインプリメントするコードにジャンプします。

モデル内のページおよびフォームにさらに直接的にアクセスするには、「ページ」パネルを使用します。

プロパティー
WebApp 全体に適用されるプロパティーについての情報を表示します。 さまざまな Builder (Schema Builder や File Chooser Builder など) で、WebApp プロパティーを作成して使用します。
スキーマ
エレメントおよび属性 (実際のスキーマ・データではない) のスキーマ および一般構造を定義する XSD/XML マークアップを表示します。 上部のパネルはスキーマ・ソースとキャッシング情報を表示します。 下部のパネルはスキーマの XSD エレメントと参照を表示します。
変数
WebApp の各変数についての情報 (その変数が手動で作成されたのか、 Builder によって自動的に作成されたのか) を表示します。 上部のパネルには変数名、状態、タイプ、およびパーシスタンスと プロパティーについての情報が表示されます。 オブジェクト・タイプの場合は、クラス名とインスタンス化メソッドもリストされます。

設計のプレビューおよび対話

モデルのビジュアル表示を表示できます。

「設計」ビューをクリックし、アプリケーション・ツリーで不可視項目が選択されている場合、またはモデルに可視エレメントが存在しない場合、このテキストが表示されます。

ページ・エレメントを作成する Builder をモデルに追加している必要があります。

  1. 以下のいずれかを実行することで、ページ・エレメントを作成する Builder をモデルに追加していることを確認します。
    • アプリケーション・ツリーで、「ページ」フォルダーにあるエレメントを確認します。
    • Builder 呼び出しリストで、適正な Builder (ページまたはフォームを作成する Builder) を検索します。
  2. モデルにページ・エレメントがない場合、Builder を追加してページまたはフォームを作成します。
  3. モデル内のページまたはフォームで、以下のいずれかを実行します。
    • アプリケーション・ツリーから、「ページ」フォルダーにナビゲートして展開し、ページを選択します。
    • 「ページ」タブをクリックして、ページ・エレメントをクリックします。
「設計」ビューで、選択した可視エレメントのビジュアル表示を確認できます。
「設計」パネルおよび「ページ」パネルでの作業

モデル・エディターの「設計」パネルおよび関連する「ページ」パネルでは、モデルのビジュアル・エレメントのグラフィック表示を行います。

「設計」パネルを使用して、ページ上のフィールドおよびフィールドのグループを変更できます。

「ページ」パネル

「ページ」パネルは、モデル内で作成されたすべてのページおよびフォームのサムネール・アイコンを表示します (同じ生成エレメントがアプリケーション・ツリーにリストされます)。 「ページ」タブをクリックすることで、ペインが開きます。 アイコンにより、モデル内の可視エレメントを容易に選択できます。 「ページ」ツールバーの表示アイコンを使用して、可視エレメントをリスト形式と詳細形式の両方の形式で表示することもできます。

「ページ」パネルではポップアップ・メニューがサポートされ、選択したエレメントを作成した Builder、または選択したエレメントを変更できる Builder を、素早く開くことができます。

「設計」パネル

「設計」パネルは、アプリケーション・ツリーまたは「ページ」パネルのいずれかで選択された可視エレメントのビジュアル表示を示します。 「設計」タブをクリックすることで、「設計」パネルが開きます。 このパネルを使用すると、Web アプリケーションを生成しなくても、モデル内の可視エレメントを迅速かつ効率的に確認したり、設計を変更したりすることができます。

このペインでは、ページ上で、タグがボックスとして視覚的に示されます。タグはオレンジ色で表示され、Builder を追加する場所を示します。タグ名はボックス内に表示されます。

エディター・パネルの左側にある矢印アイコンを使用して、アプリケーション・ツリーおよび「ページ」パネルの表示/非表示を切り替えることができます。 他のパネルを非表示にすることで、Builder 呼び出しエディターで作業するための画面上の空間を増加させることができます。 ビジュアル表示には、赤色の星形とテキスト・インディケーターがあります。 これらは、関連エレメントがエラー状態になっており、Builder 呼び出しエディターで削除する必要があることを示しています。また、集約エレメントに対して容易に操作できるグループ・アイコンも含まれています。

「設計」パネルは、アプリケーション・ツリーと密接に関連付けられています。 「設計」パネルでエレメントを選択すると、アプリケーション・ツリー内の対応するエレメントが選択されます。 また、「ソース」パネル内の関連コードも強調表示されます。

「設計」パネルは、Web アプリケーションの開発を支援するポップアップ・メニュー・オプションおよびパレットをサポートします。 使用可能なポップアップ・メニュー・オプションは、パネルで選択したエレメントのコンテキストに応じて異なります。 ペイン内のグループ・アイコンまたはエレメントを右クリックすると、メニューが表示されます。

「設計」パネルでモデルに追加する Builder の Builder 呼び出しエディターでは、ページおよびタグのフィールドは、選択したエレメントのコンテキストに基づいて事前入力されます。

パレットの表示
「設計」パネルの右上隅の「パレットの表示」アイコンによって、設計エレメントをモデル内のページにドラッグ・アンド・ドロップできるパレット・ダイアログが提供されます。このダイアログを表示するには「パレットの表示」アイコンをクリックし、ダイアログを非表示にするには「パレットの非表示」アイコンをクリックします。「設計」パネル内のページ自動化エレメントは、マウスでドラッグ・アンド・ドロップすることによって再配置できます。パレット内のカテゴリーを使用すると、Builder をドラッグ・アンド・ドロップしてページの場所に追加できます。パレット内の「レイアウト・ツール」グループを使用すると、ページ設計を変更および拡張できます。ページにグリッドを追加するには、「レイアウト・グリッド」を使用します。「レイアウト行」および「レイアウト列」ツールを使用すると、行および列をページに追加できます。
注: ページ上のオブジェクトをドラッグ・アンド・ドロップして追加および変更すると、Display Manager Builder がそのページのモデルに追加されます。
「フィールドのマージ」
「設計」パネルまたはアプリケーション・ツリーで複数のフィールドを選択する場合は、ポップアップ・メニューで「「フィールドのマージ」」コマンドが使用可能になります。 このコマンドを使用して、表示用にフィールドを結合することができます。

データを複数のフィールドに入力しなければならない状況が発生することはよくあります。しかし、このデータを表示するときに、これらの複数のフィールドを 1 つの列として表示したい場合があります。例えば、個人の住所は、郵便番号、都道府県、市区町村の別個のフィールドで構成されています。Data Field Merge Builder を使用すると、別個のフィールドを詳細ページ上の単一のフィールドとして扱ったり、単一の表示列として扱ったりすることができます。

「設計」パネルで、マージする複数のフィールドを選択し、右クリックから、「フィールドのマージ」をクリックして、これらのフィールドを現行列にマージします。 これらの複数のフィールドはすべて同じコンテナー・フィールド内に存在している必要があります。 メニュー・コマンドに関連した情報を入力すると、Data Field Merge Builder がモデルに追加され、新しくマージされた列が表示されます。

データ・フィールドの設定
「設計」パネルまたはアプリケーション・ツリーでフィールドまたは列を選択する場合は、「データ・フィールドの設定」コマンドが使用可能になります。 このコマンドを使用して、モデル内のページ自動化フィールドのいくつかの表示設定値 (およびデータ入力フィールドの検証設定値) を制御できます。変更のタイプによっては、変更の範囲をモデル内の 1 つのページに制限することも、フィールドが表示されるモデル内のすべてのページに変更を適用させることもできます。

「設計」パネルでページ自動化フィールドを右クリックして、「データ・フィールドの設定」 > 「フィールド」をクリックするか、「データ・フィールドの設定」 > 「検証」をクリックします。 (「検証」コマンドは、データ入力フィールドのメニューでのみ使用可能です。) 設定を変更して「適用」または「OK」をクリックします。

フォームまたはページ内の列またはフィールドを右クリックすると、「データ・フィールドの設定」 > 「非表示」または「データ・フィールドの設定」 > 「表示」を使用して、その表示設定を素早く変更できます。このコマンドで、フィールドまたは列を表示/非表示にするプロパティーを切り替えます。

フォームまたはページ内の列またはフィールドを右クリックすると、「データ・フィールドの設定」 > 「ソート」または「データ・フィールドの設定」 > 「ソートの解除」を使用して、ソート設定を素早く変更できます。このコマンドで、フィールドまたは列をソート/ソート解除するプロパティーを切り替えます。

このフォームまたはページの関連 Builder がモデルに含まれていない場合は、推奨される Builder がモデルに追加されます。関連 Builder がこのフォームまたはページのモデルに存在する場合は、その Builder 内の関連した入力が、変更を反映して更新されます。

「ソース」パネルでの作業

モデル・エディターの「ソース」パネルは、アプリケーション・ツリー、「設計」パネル、または「ページ」パネルで選択された生成エレメントに関連付けられているアプリケーション・コード、または「アウトライン (Outline)」ビューで選択された Builder 呼び出しに関連付けられているアプリケーション・コードを示します。

「ソース」タブをクリックすることで、パネルが開きます。 エディター領域の左側にある矢印アイコンを使用して、パネルを拡大/縮小します。 例えば、アプリケーション・ツリーおよび「ページ」タブが表示されていない場合、矢印をクリックして「ソース」パネルを縮小し、他のパネルを開きます。

「ソース」パネルが空の場合、「エレメントが選択されていません」というメッセージが表示されます。 以下のいずれかを実行できます。
  • アプリケーション・ツリー、「ページ」パネル、または「設計」パネルを使用して、エレメントを選択します。

    アプリケーション・ツリーでは、生成エレメントにナビゲートして選択します。 「ページ」パネルでは、ページまたはフォームを選択します。 「設計」パネルでは、可視エレメントを選択します。「ソース」パネル内の関連ソース・コードも強調表示されます。

  • 「アウトライン (Outline)」ビューの Builder 呼び出しリストを使用して、Builder 呼び出しを選択します。

    「アウトライン (Outline)」ビューで「WebApp ツリーとのリンク」を有効にした場合、Builder 呼び出しを選択すると、アプリケーション・ツリー内の関連エレメントも選択され、「ソース」パネル内の関連ソース・コードが強調表示されます。

「ソース」パネルでは、コードの情報およびコード自体の両方を確認できます。 エレメントの情報を縮小および拡大するには、エレメント名の左側にある三角形のアイコンを使用します。 情報を縮小することで、ソース・コードを表示するスペースを増加させることができます。

コードの情報は、関連エレメントのタイプに応じて異なります。 例えば、メソッドの場合、「関連」の下で次の項目を確認できます。
  • 呼び出し元

    現在の選択項目を呼び出したメソッド

  • 呼び出し対象

    選択したコードが呼び出すメソッド

コードの情報を利用して、より簡単にモデル操作を把握できます。

「ソース」ビューおよびアプリケーション・ツリーでの作業

「ソース」ビューおよび「設計」ビューのタブには、アプリケーション・ツリーで選択したエレメントの詳細を表示できます。

「ソース」ビューのタブを選択したときに、アプリケーション・ツリー・ビューで選択したオブジェクトに使用可能なソースがない場合、このトピックが表示されます。 モデル内の Builder が作成するエレメントのソース・コードを、「ソース」ビューで表示させることができます。

モデルのソース情報の表示により、Builder の追加や Builder 呼び出しの入力指定などを行います。
  1. モデルに Builder を追加していることを確認します。

    「アウトライン (Outline)」ビューで、Builder 呼び出しリストを確認できます。リスト内の各項目は、モデルに追加した Builder を示します。

    Builder 呼び出しリストが空の場合、Builder ピッカーを使用して Builder をモデルに追加します。

  2. Builder をモデルに追加している場合、Builder 呼び出しエディターで、必要な入力データおよびデフォルトの入力データを指定し、「適用」をクリックします。

    「アウトライン (Outline)」ビューで、Builder 呼び出しリストに追加した Builder が表示されます。

  3. 「アプリケーション・ツリー」をクリックし、WebApp フォルダー内にナビゲートし、任意のエレメントを選択します。

    ソース情報が「ソース」ビューに表示されます。

モデル・エディターのポップアップ・メニュー

モデル・エディターのポップアップ・メニュー (アプリケーション・ツリー内の「ページ」パネルおよび「設計」パネル) には、選択したオブジェクトを作成した Builder および選択した生成エレメントを変更できる使用可能 Builder の両方が、現行コンテキスト内で示されます。

メニュー上の選択項目を使用して、より素早く適切な Builder を始動できます。 アプリケーション・ツリー内のフォルダーや生成エレメント、「ページ」パネル内の生成エレメント、または「設計」パネル内のビジュアル・エレメントを右クリックすると、以下のタイプの選択項目があるポップアップ・メニューが表示されます。
作成
選択したフォルダーに関連付けられたエレメント・タイプの Builder 呼び出しを追加できます。 例えば、選択したフォルダーが Events である場合、「作成」 > 「Event Declaration」が表示されます。
ブレークポイントの切り替え
選択した生成エレメントのブレークポイントを有効または無効にします。アプリケーション・ツリー内のフォルダーを右クリックしても、表示されません。
name(builder-name)」を開く
WebApp フォルダーを右クリックすると、モデル内で示された Builder 呼び出しを開くことができます。通常、これは WebApp フォルダーを作成した Builder 呼び出しです。
Builder 呼び出し操作
以下のコマンドは、「アウトライン (Outline)」ビューの Builder 呼び出しポップアップ・メニューから使用することもできます。
開く
Builder 呼び出しを開き、Builder 呼び出しエディター・ページを表示します。
使用不可
Builder 呼び出しを非アクティブにします。Builder 呼び出しは「アウトライン (Outline)」ビューのリスト内にそのまま残りますが、その Builder 呼び出しが表す Builder は再生成時にモデル上で作動しません。
削除
「アウトライン (Outline)」ビューのリストから Builder 呼び出しを除去します。
アプリケーション・ツリーでエレメントを表示
選択された Builder 呼び出しの場合、アプリケーション・ツリーで関連エレメントの場所を強調表示することで、簡単に見つけられるようにします。
変換
Builder 呼び出しを Builder のタイプ間で変更します。複数の選択項目が表示されることがあります。
builder-name
システムでそのタイプの Builder に即座に変換できる場合や、変換ターゲットとして Builder が分類されているような場合、個別の選択項目として Builder の名前が表示されます。

このメニュー選択項目は、Builder を、ほとんど同じ入力を持つ同様のタイプの Builder に変換する場合に役立ちます。 例えば、Button Builder を Link Builder に変換したり、Page Builder を Imported Page Builder に変換したりする場合です。

変換
「Builder ピッカー」ウィンドウが開きます。このウィンドウで、Builder を選択できます。

通常、Builder の変換には同じカテゴリーの Builder が必要です。 例えば、「ページ」カテゴリー内や「ページ・エレメント」カテゴリー内で、あるタイプの Builder から別のタイプの Builder に変換します。 性格や設計が 根本的に異なる Builder への変換を行わないでください。

元の Builder の入力は保存されて、適切な場合は、 新規の Builder に自動的に適用されます。 例えば、「ボタン・ラベル」の入力値は「リンク・テキスト」入力に適用されます。 元の Builder の入力はすべて、新規 Builder 呼び出しエディターに追加されます。

element-name(builder-creator)」を開く
選択したエレメントを作成した Builder タイプの Builder 呼び出しエディターを実行します。
element-name(builder-modifier)」を開く(Open "element-name(builder-modifier)")
選択したエレメントを変更できる Builder の Builder 呼び出しエディターを実行します。 このタイプの選択を行う複数のコマンドがある場合があります。
データ・レイアウト用の HTML のエクスポート
選択された生成済みエレメントの HTML コードを含むファイルを作成します。
リソース・バンドルのエクスポート
ユーザーに表示されるテキストをローカライズして複数の言語で表示するために役立つ .properties ファイルを生成します。 アプリケーション・ツリーまたは「ページ」パネルでページを右クリックすると、このコマンドを使用できるようになります。
カテゴリー名 (category-name)
生成されるエレメントまたは選択されているフォルダーのタイプを変更できることを宣言する、すべての Builder カテゴリー内の Builder リストを提示します。 複数のカテゴリーがある場合があります。

カテゴリーのサブメニューで、Builder 名をクリックして Builder 呼び出しエディターを実行し、エレメントを変更する新規 Builder 呼び出しをモデル内で作成します。

Builder のカテゴリーおよびリストには、すべての Builder が含まれるわけではありません。 そのため、特定の Builder が特定のエレメントを作成できても、リストには示されない場合があります (当該コンテキストではリスト上に示す意味がないため)。

以下は、使用対象が特殊なコマンドです。
データ・フィールドの設定
以下のコマンドを使用できます。
フィールドまたは検証

「設計」パネルでページ自動化フィールドを右クリックして、「データ・フィールドの設定」 > 「フィールド」をクリックするか、「データ・フィールドの設定」 > 「検証」をクリックします。 (「検証」コマンドは、データ入力フィールドのメニューでのみ使用可能です。) 設定を変更して「適用」または「OK」をクリックします。

非表示または表示
フォームまたはページ内の列またはフィールドを右クリックすると、「データ・フィールドの設定」 > 「非表示」または「データ・フィールドの設定」 > 「表示」を使用して、その表示設定を素早く変更できます。このコマンドで、フィールドまたは列を表示/非表示にするプロパティーを切り替えます。
ソートまたはソートの解除
フォームまたはページ内の列またはフィールドを右クリックすると、「データ・フィールドの設定」 > 「ソート」または「データ・フィールドの設定」 > 「ソートの解除」を使用して、ソート設定を素早く変更できます。このコマンドで、フィールドまたは列をソート/ソート解除するプロパティーを切り替えます。

このフォームまたはページの関連 Builder がモデルに含まれていない場合は、推奨される Builder がモデルに追加されます。関連 Builder がこのフォームまたはページのモデルに存在する場合は、その Builder 内の関連した入力が、変更を反映して更新されます。

コマンドに対して同じタイプ (フィールドまたは列) のオブジェクトを複数選択するには、Ctrl キーを押しながらクリックします。

「フィールドのマージ」

「設計」パネルで、マージする複数のフィールドを選択し、右クリックから、「フィールドのマージ」をクリックして、これらのフィールドを現行列にマージします。 これらの複数のフィールドはすべて同じコンテナー・フィールド内に存在している必要があります。 メニュー・コマンドに関連した情報を入力すると、Data Field Merge Builder がモデルに追加され、新しくマージされた列が表示されます。

メソッド
アプリケーション・ツリーでメソッドを右クリックすると、このコマンドで以下のオプションを使用できるようになります。
オーバーライド
モデルに Method Builder を追加し、選択されたメソッドのコードを「メソッド本体」入力に入れます。この機能は、main などのメソッドに特殊な処理を追加する必要がある場合に便利です。Builder で変更を加え、「OK」をクリックします。 選択されたメソッドが、変更されたメソッドで置き換えられ、名前が変更されます。変更されたメソッドが、選択されたメソッドをオーバーライドします。
メソッド
Builder 呼び出しリストにブランクの Method Builder を追加します。
Builder 呼び出しの追加
Builder ピッカーのダイアログを表示します。ここから、Builder 呼び出しを選択してモデルに追加できます。

「モデル XML」パネル

モデル・エディターの「モデル XML」パネルは、モデルの XML がディスクに保存されるときにその XML を表示します。

Builder を作成している場合、「モデル XML」パネルを使用して、間接参照の解決方法を検証できます。 また、各種 Builder (Data Page Builder および Database Builder など) により生成されるスキーマを検証できます。

Builder 呼び出しエディターの使用について

Builder 呼び出しエディターを使用すると、Builder 呼び出しに対するすべての入力値を指定できます。

1 つの XML 構造内のエレメントを参照して、モデル内の 1 ページ以上のページに コントロール Builder 呼び出しを配置することもできます。

以下の Builder 呼び出し入力グループは、多くの Builder に共通です。

プロパティー
「プロパティー」入力グループを展開すると、Builder 呼び出しに関する情報を記述する以下の入力が表示されます。
Builder を使用可能に設定
「Builder を使用可能に設定」の値である「True」または「False」によって、 Builder 呼び出しを生成に組み込むかどうかのマークを付けます。 デフォルト値は「True」です。 この入力のプロファイルを作成して、特定のプロファイルの Builder 呼び出しを使用可能または使用不可に設定できます。
カテゴリー
この入力は現在使用されません。
コメント
この Builder 呼び出しをどのように使用するかについての関連情報を記述するコメントを入力します。 Builder 呼び出しを開くと、このコメントが Builder 呼び出しエディターの「プロパティー」セクションに表示されます。
引数
「引数」グループを展開すると、指定されたアクションに引数を渡すようにする以下の入力が表示されます。
名前
指定されたアクションの引数の名前を入力します。
引数の値を入力します。 リファレンス・チューザーを使用して、Web アプリケーション内のいずれかのエレメントの値を選択できます。
拡張
「拡張」グループを展開すると、 要件に応じて Builder の動作を詳細に調整するために設定できる追加入力が表示されます。
HTML 属性
「HTML 属性」グループを展開すると、 コントロール Builder 呼び出し (ボタン、テキスト入力など) を HTML にレンダリングする方法を記述する以下の入力が表示されます。
クラス
このコントロールがあるページがカスケーディング・スタイル・シート (CSS) を使用している場合、このコントロールに適用するスタイル・クラス名を入力します。
スタイル
Builder がページに追加するコントロールの HTML スタイル構文を入力します。

Builder に応じて、他のオプションが表示される場合があります。

入力値の指定につて

Builder 呼び出しへのほとんどの入力には、間接参照または Java 式から派生した値、 あるいはストリング値からの値を使用できます。 変数やモデルなどの特定のオブジェクトの名前が必要な入力は、 不適切なエレメントをフィルターで除外する特別なチューザー を使用します。

Builder 呼び出しの命名について

一般に、モデル内 の Builder は、Java 変数と同じ規則で命名します。

(先頭は小文字で、その後の各語の先頭は大文字とします。) 次に例を示します。

  • orders
  • ordersList
  • OrdersListNorthEast
  • entryPage
  • result
  • registerUser

先頭が小文字の規則に従ってはならない場合があります。 例えば、Portlet Adapter Builder の「名前」入力は、生成された Web アプリケーション・オブジェクトで使用されるのではなく、ポータルポートレット名として使用されるため、この Builder 呼び出し名の先頭は大文字にするほうが適切です。

一般に、コントロール Builder (Button Builder、Link Builder など) の「名前」入力は、ブランクにしておくことをお勧めします。 この入力をブランクにすると、コントロール Builder は、自身が配置されているタグの名前を自動的に表示します。

重複名エラー
既存の変数または LJO と同じ名前の LJO を作成すると、 WebSphere Portlet Factory から例外がスローされます (重複名エラー)。重複名によって、診断および修正が困難な実行時の問題が発生することがあります。このエラーによって、アプリケーションの実行時に原因不明のエラーを発生させる可能性のある実行時の競合を回避します。このエラーは、設計時または実行時に発生することがあります。このエラーは、以下のいずれかの場合に発生します。
  • Linked Java Object Builder で直接、LJO の名前を誤って指定した場合。
  • Builder 呼び出し自体でその Builder 名の LJO が作成される Builder 呼び出しの名前を経由して間接的に、LJO の名前を誤って指定した場合。
このエラーを回避するには、重複名エラーを生成する Builder 呼び出しのいずれかの名前を変更します。

「参照の選択」ダイアログの使用について

「参照の選択」ダイアログにより、Builder 入力の値として、モデル・エンティティーの値を指定できます。

「参照の選択」ダイアログは、モデル・エレメントをツリーとして表示します。これにより、Builder 入力に指定する値を持つモデル・エレメントにナビゲートできます。 「参照の選択」ダイアログが生成する構文が Builder 入力のテキスト・ボックスに表示され、これを間接参照と呼びます。間接参照構文を使用して、Java 式によって戻される値を Builder 入力の値として指定することもできます。

「参照の選択」ダイアログは、すべての変数、メソッド、入力、およびページを表示するため、そこから、選択したエレメントの出力値を Builder 呼び出しの入力値にマップすることを選択できます。 スキーマに関連した XML 構造の参照の場合、「参照の選択」ダイアログは、すべてのエレメントと、それらのエレメントに関連するすべての属性を表示します。 属性は、ダイアログ・ツリーの中で、名前の前に @ 記号を付けることで区別されます。

「参照の選択」ダイアログでは、無効である可能性のあるものをフィルタリングで除去します。 例えば、Button Builder の「ラベル」入力値が、メソッドの出力、変数の値、または以前にサブミットされたページ上の入力からの値になるように設定することができます。 「ラベル」入力用の「参照の選択」ダイアログを表示する場合、モデル内のページは、ボタン用のラベルを取得する有効な手段ではないため、表示されません。

メソッドへの参照を作成する

「参照の選択」ダイアログは、引数を持たないメソッドのみを表示します。 メソッドによって戻された値を持つ入力を指定しようとする場合、「参照の選択」ダイアログ内で選択されたメソッドへの引数の指定が一部の Builder ではサポートされないことに注意してください。 引数を持つメソッドから戻された値を持つ Builder 呼び出し入力を指定する場合は、 メソッドを呼び出し、そこに引数を提供する、Method Call Builder 呼び出しをモデルに追加してください。 「参照の選択」ダイアログを使用し、ここで作成したメソッド呼び出しを選択することで、入力値を設定してください。

Builder 入力の値を指定する

Builder 入力の値は、いくつかの方法で指定できます。

例えば、入力選択ボックスやテキスト入力コントロールを使用することができます。 これらのコントロールを使用して値を指定するのが、直接的な方法です。 IBM WebSphere Portlet Factory Designer は、リソースを選択するための入力値の指定に、いくつかのタイプのチューザー・コントロールも使用します。

次のダイアログは選択可能なエレメントをツリーとして表示し、ここから選択できます。例えば、「ファイルの選択」ダイアログは、ファイルのリスト、またはファイルを含むディレクトリーのリストを表示します。 これらのダイアログを使用して、適切なリソースにナビゲートします。

アクションの選択
入力に対して実行するアクションとして、メソッドまたはページを選択できます。 Action List Builder の「アクションの選択」ダイアログでは、特殊なアクションの選択も可能です。
データ・ページ・フィールド・チューザー
Date / Time Formatter Builder により提供されるフィールドなど、フィールドがフォーマットされるフォーム・エレメントを選択できます。
ファイルの選択
例えば、Imported Page Builder の呼び出しでインポートされるページの選択で、 ファイルを選択できます。 ダイアログ・ウィンドウでは、以下のオプションを使用できます。
プロジェクトへのファイルの追加
ファイル・システムの任意の場所にあるファイルをプロジェクトに追加して、プロジェクト内の宛先を選択することができます。
ファイルのコピーと参照
ウィンドウにリストされているファイルをコピーおよび参照できます。 コピーしたファイルの宛先をダイアログで選択すると、このファイルへの参照がウィンドウで更新されます。 この機能により、プロジェクトに用意されているファイルの変更と、ソフトウェア更新間での変更の保守が容易になります。
モデルの選択
例えば、Imported Model Builder の呼び出しでインポートされるモデルの選択で、モデルを選択できます。
参照の選択
さまざまな入力値を選択できます。このページの残りのセクションでは、このダイアログの使用法を説明します。
プロファイル入力
プロファイルを選択できます。
変数またはスキーマの選択
スキーマを選択できます。
クラスの選択
完全修飾 Java クラス名を選択できます。このチューザーは、IBM WebSphere Portlet Factory によって作成されない /WEB-INF/lib 内の jar、および bowstreet.dynamic.class.load.path プロパティーに指定されたディレクトリーに格納されている jar およびディレクトリー内のクラスを表示します。
変数タイプの選択
Variable Builder の値として、変数タイプ (String、XML、Object、Boolean、Double、Float、Integer、Short、または Long) を選択できます。
間接参照タイプを組み合わせる

間接参照タイプの組み合わせを使用することができます。

例えば、イメージの URL を取得するために、 以下のように Java 式と変数参照を組み合わせることができます。

${Java/webAppAccess.getRequestData().getContextURL()}/${Variables/ImageFileName}

ImageFileName 変数には、イメージのファイル名が入っています。

Builder 入力に Java 式を使用する

Builder への入力で Java 構文を入力することもできます。

IBM WebSphere Portlet Factory ランタイムは生成時に Java 式を評価して、Builder 呼び出しへの入力に値を提供します。チューザーまたは Builder 呼び出しエディターが直接サポートしていない Web アプリケーション内のエレメントを指定する場合に、間接参照で Java 式を使用することができます。 例えば、入力に WebSphere Portlet Factory ランタイムへの URL を指定する場合、以下の Java 式を使用できます。
${Java/webAppAccess.getRequestData().getContextURL()}

テキスト入力値を、引数を持つメソッドによって戻された値に設定するには、 以下のようにします。

${Java/webAppAccess.callMethod("MethodName", arg1, arg2)}
事前定義の Java 式

「参照の選択」ダイアログの Java ノードでは、 ユーザーが使用できるいくつかの事前定義の式も提供しています。

式を挿入するには、単にチューザーからその式を選択するだけです。 以下の式が使用可能です。
  • HttpServletRequestwebAppAccess.getHttpServletRequest() を呼び出します。
  • HttpServletResponsewebAppAccess.getHttpServletResponse() を呼び出します。
  • HTMLRootcom.bowstreet.BSConfig.getHtmlRootDir() を呼び出します。
  • RequestwebAppAccess.getRequestData() を呼び出します。
  • ServerURLwebAppAccess.getRequestData().getServerURL() を呼び出します。
  • ServletURLwebAppAccess.getRequestData().getServletURL() を呼び出します。
  • StaticContentURLwebAppAccess.getURLMapper().getStaticContentURL("","http") を呼び出します。
  • WEB-INFcom.bowstreet.BSConfig.getHomedir() を呼び出します。

「参照の選択」ダイアログから式を 1 つ選択すると、その式が Builder の入力フィールドに置かれます。 ここで、引数を追加するか、あるいは式を変更する必要がある場合に、 その式を編集することができます。

間接参照をネストおよび連結する

必要に応じて、間接参照を連結するか、間接参照をネストすることができます。

例えば、Builder 呼び出し入力の値として使用する XML エレメントの索引が別の変数によって決定される場合、 ネストされた間接参照は以下のようになります。
${Variables/MyXML/XmlElement[
${Variables/IndexValue}]}

ネストされた間接参照を作成するには、以下のようにします。

  1. 「参照の選択」ダイアログを使用して、 入力ボックスに間接参照の最初の部分を取り込みます。
  2. 別の間接参照を挿入したいスポットにカーソルを置きます。
  3. ブラウズ・アイコンをクリックして「参照の選択」ダイアログを表示します。
  4. 希望するモデル・エレメントを選択します。
「参照の選択」ダイアログが、カーソル位置に新しい間接参照を挿入します。

リファレンス・チューザー

リファレンス・チューザーを使用すると、モデル内のエレメントの値を builder 呼び出し入力に割り当てることができます。

リファレンス・チューザーは、値を引き出すことができる変数、メソッド、入力、およびページをすべて表示します。リファレンス・チューザーで項目を選択すると、 戻される値は間接参照と呼ばれ、モデル内の選択されたエレメントのパスを定義します。 例えば、${Variables/CustomerName} または ${MethodCall/GetCustomerName} などです。

間接参照を相互に結合したり、組み込んだりして、柔軟性の高い、値への参照を作成できます。 例えば、次の間接参照は、モデルから戻された値をエレメントの索引として使用して、 XML 構造内の特定のエレメントの値を戻します。
${Variables/Customers/Customer[${MethodCall/GetIndexValue}]}

リファレンス・チューザーは、最も可能性のあるモデル・エレメント (変数、メソッド、入力、およびページなど) を表示するため、ここから、選択したエレメントの出力値を Builder 呼び出しの入力値にマップすることを選択できます。 デフォルトでは、リファレンス・チューザーは、役に立つ可能性のない多くのエレメントを意図的に非表示にします。デフォルトで当初非表示されていたエレメントを表示するには、ダイアログ内の「表示の展開」をクリックします。

リファレンス・チューザーでは、無効である可能性のあるものをフィルタリングで除去します。 例えば、Button Builder の「ラベル」入力値が、メソッドの出力、変数の値、または以前にサブミットされたページ上の入力からの値になるように設定することができます。 「ラベル」入力用のリファレンス・チューザーを表示する場合、モデル内のページは、ボタン用のラベルを取得する有効な手段ではないため、表示されません。

以下に、リファレンス・チューザーの 使用におけるさまざまな側面を示します。

  • テーマ・プロパティー・データへの間接参照の仕様
  • ページ・コントロールを指定する
  • メソッドへの参照
  • 間接参照のネストと連結
  • Java 式の使用法
  • 間接参照タイプの組み合わせ
  • リストの仕様
テーマ・プロパティー・データへの間接参照

リファレンス・チューザーに直接、間接参照を入力して、テーマ・プロパティー・データにアクセスすることができます。

以下の構文を使用します。
${Properties/bowstreet.Theme/property-name}
この参照は、ユーザー・インターフェース (UI) エレメントとを定義する Builder 入力で使用されます。 例えば Paging Buttons Builder では、「通常のボタン・イメージ」入力を指定できます。 ファイルへのパスを指定する代わりに、そのファイルを定義するテーマ・プロパティーへの間接参照を使用できます。 この方法では、UI エレメントへの参照定義を集中化できるため、エレメントの変更が必要になった場合に、複数の Builder で複数の入力を変更しなくても済むようになります。
集中参照を設定するには、WebApp テーマ・プロパティー・ファイルに以下の例のような定義を組み込みます。
<PagingButtons_NormalImage>/myfiles/images/normal.jpg
  </PagingButtons_NormalImage>
この定義では、WebContent フォルダー内にあるイメージ・ファイルへのパスを指定しています。 プロパティーがテーマ・ファイルで固有であることを確認してください。
定義を利用するには、Builder 入力に間接参照を入力します。 例えば、Paging Buttons Builder の「標準のボタンのイメージ」入力に、以下の参照を入力します。
${Properties/bowstreet.Theme/PagingButtons_NormalImage}
WebApp を作成するときのモデルの生成時に、normal.jpg イメージが、間接参照が含まれる入力を持つすべてのページに組み込まれます。

この構文は、単一の値を受け入れる Builder 入力にのみ使用できます。 値のリストを受け入れる入力には使用できません。

ページ・コントロールを指定する

リファレンス・チューザーを使用してページ・コントロール (例えば、テキスト入力やボタンのラベル) の値を指定できます。

要求入力への間接参照は選択しないでください。例: ${Inputs/someValue}。 アプリケーションがポートレット環境で実行される場合、ページ上の別のポートレットへの要求の結果としての出力のレンダリングが必要になる可能性があります。 ただし、要求入力から値を取得するコントロールやラベルは、値を持っていません。

このアプリケーションでのベスト・プラクティスは、ページ自動化 Builder (例えば、Data Field Modifier Builder と Data Column Modifier Builder を使用した Data Page Builder) を使用することです。 または、変数からページ・コントロールの値を指定します。

メソッドへの参照

リファレンス・チューザーは、Builder 入力の値を指定するメソッドを表示します。

引数を必要とするメソッドを選択した場合、メソッドに引数を指定するためのポップアップ・ダイアログがプロンプト表示されます。指定するメソッド引数は、ハードコーディングすることも、または自身を他のメソッドや変数への間接参照とすることもできます。

間接参照のネストと連結

必要に応じて、間接参照を連結するか、間接参照をネストすることができます。

例えば、Builder 呼び出し入力の値として使用する XML エレメントの索引が別の変数によって決定される場合、 ネストされた間接参照は以下のようになります。

${Variables/MyXML/XmlElement[${Variables/IndexValue}]}
Java 式の使用法

Builder への入力で Java 構文を入力することができます。

IBM WebSphere Portlet Factory サーブレットは生成時に Java 式を評価して、Builder 呼び出しへの入力に値を提供します。チューザーまたは builder 呼び出しエディターが直接サポートしていない WebApp 内のエレメントを指定する場合に、間接参照で Java 式を使用することができます。 例えば、入力に WebSphere Portlet Factory への URL を提供する場合、以下の Java 式を使用できます。
${Java/webAppAccess.getRequestData().getContextURL()}

2 つの引数を使用するメソッド MethodName を呼び出すには、以下のようにします。

${Java/webAppAccess.callMethod("MethodName", arg1,  arg2)}
間接参照タイプの組み合わせ

間接参照タイプの組み合わせを使用することができます。

例えば、イメージの URL を取得するために、 以下のように Java 式と変数参照を組み合わせることができます。
${Java/webAppAccess.getRequestData().getContextURL()}/${Variables/ImageFileName}

ImageFileName 変数には、イメージのファイル名が入っています。

リストの仕様

コンマ区切りのリストを受け入れる任意の Builder 入力に、 java.util.Collection をインプリメントするかまたはjava.util.Iterator を拡張するオブジェクトを指定し、 これによって Builder 入力値に基となるコレクション内の項目のデータを取り込むことができます。

例えば、次の間接参照は Java 式を使用して、myInput Builder 呼び出しの値を含む ArrayList のイテレーターを戻します。
${Java/webAppAccess.getRequestInputs().getInputValues("myInput")}
「参照の選択」ダイアログに式を追加する

ユーザー独自の式を「参照の選択」ダイアログの Java ノードに追加できます。

これは、頻繁に使用する式をダイアログ内で使用できるようにしておくために、 行います。 「参照の選択」ダイアログに式を取り込むには、 式を定義している行を ../WEB-INF/config/IndirectJavaExpressions.config ファイルに追加する必要があります。 次に例を示します。

  • Java ノード・ツリーの最上位に表示する、ユーザー独自の式を追加するには、次の行をファイルに追加します。
    MyExpressionName=webAppAccess.getMyExpressionData()
  • 式ツリーの 1 レベル下を表示する式を追加するには、以下を入力します。
    MyExpressionCollection/MyExpressionName1=webAppAccess.getMyExpressionData1()
    MyExpressionCollection/MyExpressionName2=webAppAccess.getMyExpressionData2()
注: WebContent/WEB-INF/config ディレクトリーはデフォルトでは除外されたリソースのため、チームのファイルおよびディレクトリー除外をオーバーライドして、新規または変更されたファイルがソース制御ストレージで更新されている状態にしておく必要があります。

モデル・チューザー

ダイアログを使用して、Builder 入力としてモデルを指定できます。

多くの Builder には、モデルを指定する必要がある「モデル」入力があります。 省略符号ボタン (チューザー・アイコン) をクリックすると、「モデル・チューザー (Model Chooser)」ダイアログが表示され、ここからモデルにナビゲートして選択できます。デフォルトでは、Builder で使用されるモデルの場所の指定は、モデルへの絶対参照です。

モデル参照を相対参照にするオプション (「相対モデル参照を使用」) があります。 そのため、モデル A からモデル B への参照は、モデル・フォルダー内のモデル A の場所に基づきます。相対参照では、両方のモデルを特定のフォルダーから別のフォルダーに移動またはコピーした場合、モデル A の新規コピーはモデル B の新規コピーを参照します。 絶対参照では、モデル A の新規コピーは、元の場所におけるモデル B の元のコピーを引き続き参照します。

データ参照技法について

Builder 呼び出しエディターは、一般的に使用されるほとんどの参照メソッドおよび構文をサポートします。

Web アプリケーションには、変数、メソッド、およびサービス呼び出しなどのランタイム・エンティティーのセットが組み込まれています。 相互の参照を作成して、これらの Web アプリケーション・エレメントを相互接続します。 参照はいくつかの方法で作成できます。 ただし、適切な入力値を指定するために間接参照の組み合わせが必要になったり、XPath のような表記を使用して XML エレメントの値を取得することが必要になる 場合があります。

代替形式の入力を使用するには、Builder 入力を指定するための正しい構文を知る必要があります。 以下のセクションで、使用可能な入力のタイプを説明し、特定の入力タイプを使用する際に従う必要のある構文の例を示します。

変数データ参照と ${ ... } 構文の使用

モデルで間接データ参照を使用することができます。 例えば、Builder に対する入力としてユーザーが入力した、変数に格納されている値を使用できます。 これは、変数への間接データ参照を使用して行うことができます。

間接参照の構文では、次のように、ドル記号 $ の直後に中括弧のペアを続ける必要があります。

${...} 

括弧でデータのソースを囲みます。 次のボタン・ラベル例では、次のデータ参照を入力して、ButtonLabel という名前の変数の値を「ボタン・ラベル」入力で使用することができます。

${Variables/ButtonLabel}
Java 式の使用

Builder への入力で Java 構文を入力することができます。 IBM WebSphere Portlet Factory は実行される Java 式を実行時に調整して、Builder 入力値を提供するようにします。チューザーまたは builder 呼び出しエディターが直接サポートしていない Web アプリケーション内のエレメントを指定する場合に、間接参照で Java 式を使用することができます。 例えば、入力に WebSphere Portlet Factory への URL を指定する場合、次の Java 式を使用できます。

${Java/webAppAccess.getRequestData().getContextURL()}

以下の式では、テキスト入力値を、引数を使用するメソッドによって戻される値に設定します。

${Java/webAppAccess.callMethod("MethodName", arg1, arg2)}
間接参照タイプの組み合わせ

インポートするページの値を派生するには、次のような間接参照を使用して、間接参照タイプの組み合わせを使用できます。

${Java/webAppAccess.getRequestData().getContextURL()}/${Variables/PageToImport}

PageToImport 変数にはインポートするページの名前が含まれます。

サービス提供可能なリソースへの参照

プロジェクトを見つけたり作成したりする場所には、HTML ページ、生成された JSP ページ、 およびその他のサービス提供可能なリソースがすべて格納され、 この場所はサービス提供可能なコンテンツ・ルート・ディレクトリーと呼ばれます。複数のアプリケーション・コンテキストで公開またはエクスポート可能な Web アプリケーションを開発するときには、webAppAccess.getRequestData().getContextURL() メソッドを使用して、サービス提供可能なリソースに対する参照が、すべてのアプリケーション・コンテキストでも許可されるように十分な柔軟性があることが必要です。 Java 式の使用を参照してください。サービス提供可能なリソースに対する参照が柔軟性があるようにするには、メソッド内または Builder 呼び出し入力内のサービス提供可能なリソースを参照するときにメソッド「webAppAccess.getRequestData().getContextURL()」を使用します。 例えば、 Imported Page Builder の「インポートするページ」入力の値として、 次のように入力します。

${Java/webAppAccess.getRequestData().getContextURL()}/pages_to_import_dir/MyPage.htm

この構文は、 このモデルが実行されるアプリケーション・コンテキストに関係なく、 常に pages_to_import_dir ディレクトリーに照らして評価されます。

メソッドに対する間接参照

メソッド呼び出しの結果のデータにアクセスする場合は、間接データ参照を使用できます。任意のメソッド呼び出し、または引数を使用しないメソッドを使用できますが、 メソッドは、値を参照できるように、値を戻す必要があります。メソッド呼び出しの結果を他のメソッド呼び出しまたはストリングと連結することもできます。 このタイプの間接指示の構文は、次のとおりです。

${MethodCall/methodName}

参照するメソッドを選択するには、リファレンス・チューザーを使用します。 これには、「メソッド呼び出し」と呼ばれるセクションを含むツリーが表示されます。 表示されたセクションに、使用できるモデルのアクション・リスト、メソッド、およびメソッド呼び出しがリストされます。

XML 変数を使用してナビゲートすることはできますが、メソッドの結果にナビゲートすることは できないことに注意してください。次に例を示します。

${Variables/Customers/customer[2]/name}

データに対する追加処理が必要な場合、または以前に処理を行うことができなかった場合は、メソッドに間接データ参照を使用することを考慮してください。 メソッドに対して間接参照を使用する例は、Repeated Region Builder にあります。 通常、この Builder の実行の内部で何らかの処理を行うのは困難です。 しかし、メソッドに対する間接参照を使用すると、処理が可能になります。 例えば、テーブル行の背景色を変更する場合は、メソッド呼び出しを使用することができます。 1 回おきに各色を戻す getRowColor と呼ばれるメソッドを作成します。 その後、背景色を設定するためにテーブル行に付加するプロパティー Setter の内部でこのメソッドを呼び出します。

間接参照値の連結

Builder 入力としてテキストのストリングを入力する場合は、入力域にストリングを直接入力できます。 さらに、ストリングを使用する入力の場合は、複数のストリングを連結することができます。 例えば、Formatted Text Builder の「値」フィールドに、次の行全体を入力できます。

Foo および Bar の値は次のとおりです: ${Variables/Foo} および ${Variables/Bar}

Text Builder が再生成されると、2 つの ${...} 領域は、参照される変数からの該当するストリング値で置換されます (変数に値がある場合)。

同様の技法を使用して、間接指示をネストすることもできます。 テキスト「Foo」またはテキスト「Bar」のいずれかを結果として持つ、「FooOrBar」という名前の変数がある場合は、次の行を使用することができます。

${Variables/FooOrBar} の値は ${Variables/${Variables/FooOrBar}} です。

引用符内の部分は、Variables/FooOrBar の値に応じて、Variables/Foo または Variables/Bar に格納されたストリングに対して評価されます。 以下のいずれかの値をとることができます。

Variables/Foo: dataVariables/Bar: stuff
Variables/FooOrBar: Bar

上記の行の式の結果は、次のようになります。

Bar の値は「stuff」です
索引参照のリストと大括弧の使用

多くの場合、間接参照値の連結 で説明した 1 つのレベルの参照では、データ・アクセスおよび操作のニーズに対応していません。 間接参照メカニズムをさらに拡張できます。

リスト内のコンポーネントを参照するには、構文で大括弧 [ および ] を使用します。 XML 構造内のサブエレメントを参照するを参照してください。この構文を間接参照メカニズムと組み合わせて使用して、リスト内のコンポーネントにアクセスできます。 例えば、TableData という名前の変数があり、その変数が多くの子を持っており、子の名前がすべて Row であると想定します。 子にはそれぞれ、その下に Name および Address などのデータを持っています。 3 行目にある名前にアクセスするには、次のコードを指定します。

${Variables/TableData/Row[2]}

索引はゼロが基準であることに注意してください。したがって、索引 0 は先頭、索引 1 は 2 番目です。

変数 TableData が他にも子を持っている場合、上の例では 3 番目の行が選択され、他の子は無視されます。 TableData の 3 番目の子を参照するには、アスタリスク (*) を使用して、すべての子を表します。

${Variables/TableData/*[2]}

索引自体を別の変数で指定することもできます。 例えば、テーブルの特定行が、変数 RowIndex で指定されます。 現在行は、次の構文で指定できます。

${Variables/TableData/*[${Variables/RowIndex}]}
XML 構造内のサブエレメントを参照する

/ 文字を使用すると、タグ付きデータ・ストリングを「歩いて」行って、エレメントにアクセスできます。 この技法と間接参照を組み合わせて、名前が変数に格納されているサブエレメントを選択することもできます。 例えば、変数 Data にはサブエレメント Name および Address があり、変数 WhichOne には値として、ワード Name またはワード Address があります。したがって、次の参照は、変数 WhichOne 内の値が次の 2 つのうちのいずれであるかによって、${Variables/Data/Name} に格納されている値、または ${Variables/Data/Address} に格納されている値を戻します。

${Variables/Data/${Variables/WhichOne}}

これらの技法は組み合わせることができます。 索引参照のリストと大括弧の使用のテーブル・データ例を使用します。 アクセスする列を選択する追加変数 ColumnName を使用する場合は、次の構文で、選択した行の選択した列のセル・データを取得します。

${Variables/TableData/*[${Variables/RowIndex]/@ColumnName}
IXml オブジェクト内のサブエレメントを参照する

サービス呼び出しまたはメソッドによって戻され、変数に保管された IXml オブジェクトの構造を歩くことができます。 下の例では、XML 文書内のエレメントを検出するフィルターの作成に使用できる技法が示されています。

例はすべて、次の XML コード・セグメント例に基づいています。

<Employees>
  <Employee age="25">
     <Name>John Smith</Name>
     <Address>14 Park Lane</Address>
     <City>Portsmouth</City>
     <State zip="03801">New Hampshire</State>
  </Employee>
  <Employee age="21">
     <Name>Ted Jones</Name>
     <Address>26 Harbor View</Address>
     <City>Hampton</City>
     <State zip="03802">New Hampshire</State>
  </Employee>
  <Employee age="35">
     <Name>Jill Jeffries</Name>
     <Address>100 Oak Lane</Address>
     <City>Exeter</City>
     <State zip="03803">New Hampshire</State>
  </Employee>
  <Employee age="40">
     <Name>Josh Vanderwall</Name>
     <Address>45 Maple Ave.</Address>
     <City>Bedford</City>
     <State zip="03804">Massachusetts</State>
  </Employee>
</Employees>
例 1 - 指定されたエレメントを検出する

次の参照は、指定されたエレメント名を検出します。

${Employees/Employee/Name}

この式は、最初に一致したエレメントを戻します。この例では、戻されるエレメントは、<Name>John Smith</Name> です。

例 2 - エレメントの 2 番目のインスタンスを検出する

次の参照は、Name という名前のエレメントの 2 番目のインスタンスを検出します。

${Employees/Employee/Name[1]}

この式は、ゼロを基準とする索引番号で指定された、一致するエレメントを戻します。 この例では、戻されるエレメントは、<Name>Ted Jones</Name> です。

注: この場合は間接参照も使用できます。 例えば、次のように入力できます。

$Variables/Foo/Bar[${Variables/Index}]

この式は、変数に格納されているエレメントを特定の索引で見つけます。

例 3 - エレメントの特定の値を検出する

次の参照では、Name のエレメント・インスタンスを検出します。このテキスト値は Jill Jeffries です。

${Employees/Employee/[Name=Jill Jeffries]}

この式は、エレメント・テキストで指定された一致するエレメントを戻します。 この例では、戻されるエレメントは、<Name>Jill Jeffries</Name> です。

例 4 - インスタンスおよび属性を検出する

次の式は、Employee のインスタンスを検出します。このインスタンスの指定された属性値は 40 です。

${Employees/Employee[@age=40]}

この式は、属性テキストで指定された一致するエレメントを戻します。 この例では、戻されるエレメントは次のとおりです。

<Employee age="40">
  <Name>Josh Vanderwall</Name>
  <Address>45 Maple Ave.</Address>
  <City>Bedford</City>
  <State>Massachusetts</State>
</Employee>
例 5 - ワイルドカードを使用してエレメントを検出する

Name のインスタンスを検出するには (第 2 レベルのエレメントが不明)、ワイルドカード * を使用して、エレメント名を指定します。

注: ワイルドカードは、エレメント名全体に対してのみサポートされます。
${Employees/*[2]/Name}

この式は、索引番号で指定された、一致するエレメントを戻します。 この例では、戻されるエレメントは次のとおりです。

<Name>Jill Jeffries</Name>
例 6 - 親エレメントを検出する

次の構文では、State の親エレメントを検出します。この指定された属性 zip 値は 03804 です。

${Employees/Employee/State[@zip=03804]/..}

この式は、属性テキストで指定された、一致する親エレメントを戻します。 この例では、戻されるエレメントは次のとおりです。

<Employee age="40"> 
  <Name>Josh Vanderwall</Name>
  <Address>45 Maple Ave.</Address>
  <City>Bedford</City>
  <State zip="03804">Massachusetts</State>
</Employee>
モデル・アクションを実行する

ここでは、モデル・アクションの実行方法について説明します。

モデルを実行する

モデル・インスタンスをインスタンス化し、 そのモデル・インスタンスの WebAppAccess オブジェクトを取り出し、 モデルの main メソッドを呼び出すことによって、別のモデルを実行できます。 getModelInstance() メソッドは、 次の 3 つの引数を使用します。

modelName
IBM WebSphere Portlet FactoryWEB-INF/models ディレクトリーからモデルへの相対的なパスを指定するストリング。
profile
モデルから Web アプリケーションを再生成するときに使用される明示的なプロファイルを指定するストリング。 使用する 1 つのプロファイルを次の構文で指定できます。 ProfileSetName!ProfileName

複数のプロファイルを指定するには、 次のようにプロファイル名を正符号 (+) で区切ります。 ProfileSetName!ProfileName+ProfileSetName!ProfileName

singleton
モデルを singleton としてインスタンス化するかどうかを指定するブール値。

WebSphere Portlet Factory は、 セッションごとに一度だけ singleton モデルをインスタンス化します。singleton でないモデルの場合、 WebSphere Portlet Factory は要求ごとにそれらのモデルをインスタンス化します。

次のサンプル・コードは、 メソッドから別のモデルを実行する方法を示しています。

WebAppAccess remoteWebAppAccess =
webAppAccess.getModelInstance("myModels/ModelName", "Region!Southwest", "false");
remoteWebAppAccess.callMethod("main");
ページを表示する

現行 WebAppAccess オブジェクトで processPage() メソッドを呼び出すだけで、 現行モデル内のページを表示できます。

webAppAccess.processPage("pageName");

リンクされたモデル内のページを表示するには、 次のように processPage() を呼び出します。

webAppAccess.processPage("LinkedModelName.pageName");

別のモデル内のページを表示するには、 メソッドから別のモデルを実行するためのコードを参照してください。 remoteWebAppAccess オブジェクトの callMethod() を呼び出すのではなく、 processPage() を呼び出し、 引数としてページ名を指定します。

サービス呼び出しを実行する
webAppAccess.processAction("ServiceCallName.invoke");
アクション・リストを実行する
webAppAccess.processAction("ActionListName");
他のメソッドを呼び出す

現行モデル内またはリンクされたモデル内のメソッドを呼び出すには、callMethod() メソッドを使用します。次のように、メソッド名を指定した後、 コンマ区切りのリストで引数をメソッドへ引き渡すことができます。

現行モデル内のメソッド
webAppAccess.callMethod("MethodName", arg1, arg2);
リンクされたモデル内のメソッド
webAppAccess.callMethod("LinkedModelName.MethodName");
LJO にあるメソッド
webAppAccess.callMethod("LJOName.MethodName");
リンクされたモデル内の LJO に含まれているメソッド
webAppAccess.callMethod("LinkedModelName.LJOName.MethodName");
URL を使用してメソッドへ引数を引き渡す

URL によって引数を取得するメソッドを直接実行することはできません。ただし、 URL には名前と値のペアとして引数を追加でき、 WebApp の RequestData オブジェクトからそれらの引数値を取り出すことができます。下記のサンプル・コードでは、次の URL から引き渡される引数値を取り出します。

http://localhost:7001/Factory/webengine/URLTester/Action!MethodFielder?name=Tom&id=111?method=MethodWithArgs

LJO クラス内のメソッドの本体:

public void MethodFielder(WebAppAccess webAppAccess) {
String name = webAppAccess.getRequestInputs().getInputValue("name");
String id = webAppAccess.getRequestInputs().getInputValue("id");
String method = webAppAccess.getRequestInputs().getInputValue("method");
webAppAccess.getVariables().setString("Name", name);
webAppAccess.getVariables().setString("ID", id);
webAppAccess.callMethod(method, name, id);
}
フォーム・サブミットを処理する

LJO メソッドおよび Method Builder 呼び出しでは、FORM POST パラメーターまたは URL 照会パラメーターによってサブミットされた入力、RequestInputs インターフェースによってサブミットされた入力、またはメソッドへの直接引数にアクセスします。

URL によって呼び出されるメソッドでは、 引数を受け取らないか (引数ゼロ)、WebAppAccess 引数 1 つのみを受け取り、 RequestInputs インターフェースを使用して HTTP 要求から入力を取得します。

WebApp 要求の RequestInputs の現行インスタンスへの参照を取得するには、 以下を呼び出します。

RequestInputs requestInputs = webAppAccess.getRequestInputs();

例えば、チェック・ボックス・グループ入力からすべての入力を取得するには、 以下のように実行します。

Iterator inputs = webAppAccess.getRequestInputs().getInputValues("MyCheckboxGroup");
while(inputs.hasNext()) {
//process input values here
}
セッション・オブジェクトと対話する

セッションにオブジェクトを保管するには、セッションに属性を設定し、 それらの属性の値を、モデル間で共用したいオブジェクトとして指定します。

セッションにオブジェクトを保管する
例えば、変数 companyname の値を別のモデルと共用するには、次のようなコードを使用します。
webAppAccess.getHttpServletRequest().getSession().put("companyname", webAppAccess.getVariables().getText("companyname"));
セッションからオブジェクトを取得する
現行モデルで使用するためにセッションからオブジェクトを取得するには、 Session オブジェクトの get メソッドを呼び出します。 例えば、『セッションにオブジェクトを保管する』セクションのコードで保管した会社名を取得するには、 次のようなコードをインプリメントします。
String companyName = webAppAccess.getHttpServletRequest().getSession().get("companyname");
セッションからオブジェクトを除去する
セッションからオブジェクトを除去するには、Session オブジェクトの remove メソッドを呼び出します。例えば、 『セッションにオブジェクトを保管する』セクションのコードで作成した company_name セッション属性を除去するには、 次のようなコードをインプリメントします。
webAppAccess.getHttpServletRequest().getSession().remove("companyname");
メソッドを作成する

メソッドでは、フォーム入力の処理、Web アプリケーション (他の Web アプリケーションを含む) の他の部分の実行、および WebApp が希望どおりに機能するために必要な他のあらゆるロジックの実行という作業を行います。

メソッドで使用される主オブジェクトは、WebAppAccess オブジェクトです。これは、 com.bowstreet.webapp.WebAppAccess クラスのインスタンスです。WebAppAccess オブジェクトは、 WebApp オブジェクトで表される WebApp の構造体へのプロキシーとして機能します。この WebApp オブジェクトは、com.bowstreet.webapp.WebApp クラスのインスタンスです。

モデル・アクションへの URL を生成する

現行モデル内または別のモデル内にアクションの URL を生成できます。

webAppAccess オブジェクト上で getActionURL() または getURLMapper().getURL() メソッドを呼び出します。
注: URL にパラメーター を追加すると、URLMapper は、必要に応じてパラメーターのエンコードを実行します。
現行モデル内のアクションに対する URL の生成
次のメソッド呼び出しは、現行モデル内の actionName メソッドの URL を返します。
webAppAccess.getActionURL("actionName");
戻される URL ストリングは次の形式になります。
/appcontext/servletname/models/path/to/models/Action!actionName
説明:
  • appcontext は、アプリケーション・コンテキスト・ルートです。
  • servletname は、サーブレットの名前です。
  • path/to/models は、モデルのパスです。
  • actionName は、実行するアクションです。
次に例を示します。
/MyApp/webengine/test/TestModel/Action!getCustomers
別のモデルのための URL の生成
次のメソッド呼び出しは、Northeast プロファイルおよび Gold プロファイルを明示的にモデルに適用した 、ModelName モデル内の GetCustomers アクションの URL を 返します。
webAppAccess.getURLMapper().getURL("ModelName", "GetCustomers", 
  "Region!Northeast$ServiceLevel!Gold", null);
注: getURL() メソッドの最後の引数は、トランスポート・プロトコルです。また、http あるいは https を指定して、プロトコル・タイプを強制したり、null を指定して、モデルのデフォルト・プロトコルを使用したりすることもできます。
返される URL ストリングは、getActionURL() から返される ストリングと同様の形式ですが、次のコードに示すように指定されたプロファイル情報を含む点が 異なります。
/MyApp/webengine/method/MethodTest2/
Action!main/Profile!Region!Northeast$ServiceLevel!Gold 
システム・プロパティーを取得する

cluster.properties および bowstreet.properties ファイルに保管された IBM WebSphere Portlet Factory プロパティーの値を取得できます。

webAppAccess.getSystemProperties() を呼び出して返された com.bowstreet.util.SystemProperties オブジェクトにアクセスします。SystemProperties オブジェクトを使用すると、文書ルートのディレクトリー・パスやサーバーの URL などの情報にアクセスできます。以下のメソッドを呼び出します。

文書ルートのディレクトリー・パス
webAppAccess.getSystemProperties().getDocumentRoot();
WebSphere Portlet Factory サービス提供可能コンテンツ・ルート・ディレクトリーのディレクトリー・パスを指定するストリングを返します。次に例を示します。
AppServerDeployDir¥MyApp.ear¥MyApp.war
WebSphere Portlet Factory WEB-INF ディレクトリーのディレクトリー・パス
webAppAccess.getSystemProperties().getWebInfDir();
WebSphere Portlet Factory サービス提供不能コンテンツ・ルート・ディレクトリーのディレクトリー・パスを指定するストリングを返します。次に例を示します。
AppServerDeployDir¥MyApp.ear¥MyApp.war¥WEB-INF
WebSphere Portlet Factory サーバーの URL
webAppAccess.getRequestData().getContextURL();
WebSphere Portlet Factory の URL を指定するストリングを返します。次に例を示します。
http://127.0.0.1:9080/MyApp
WebSphere Portlet Factory サーブレットの URL
webAppAccess.getRequestData().getServletURL();
現行 WebSphere Portlet Factory サーブレットの URL を指定するストリングを返します。例:
http://127.0.0.1:9080/MyApp/webengine
変数の値を取得および設定する

Web アプリケーション内のすべての変数にアクセスするには、webAppAccess.getVariables() メソッドを呼び出します。

一般的には、 一度に 1 つの変数の値を取得または設定します。
単純な型 (String、int など) の変数の値を取得するには、以下のようにします。
String valueOfMyVariable = webAppAccess.getVariables().getString("MyVariable");
XMLData タイプの変数に保管された XML 構造を取得するには、以下のようにします。
IXml valueOfMyXMLVariable = webAppAccess.getVariables().getXml("MyXMLVariable");
XMLData タイプの変数内のエレメントのテキスト値を取得するには、以下のようにします。
変数に含まれている XML 構造内の特定のエレメントのテキスト値を取得するには、getXmlText() メソッドを呼び出し、変数名を指定して、値を返すエレメントの XPath を指定します。次のサンプル・コードでは、<customers /> 構造における 2 番目の <customer /> エレメントの <name /> エレメントのテキストを返します。webAppAccess.getVariables().getXmlText("VariableTest", "customers/customer[1]/name");
XMLData タイプの変数内のエレメントを取得するには、以下のようにします。
変数に含まれている XML 構造内の特定のエレメントを取得するには、getXmlElement() メソッドを呼び出し、変数名を指定して、返すエレメントの XPath を指定します。次のサンプル・コードでは、<customers /> 構造内の 2 番目の <customer /> エレメントを返します。
webAppAccess.getVariables().getXmlElement("VariableTest", "customers/customer[1]");
単純な型の変数の値を設定するには、以下のようにします。
webAppAccess.getVariables().setInt("MyIntVariable", 4);
XMLData タイプの変数に保管された XML 構造を変更するには、以下のようにします。
変数に保管された XML 構造を変更するには、getXML() メソッドを使用して XML 構造を取得し、 IXml API を使用して構造を変更します。getXML() メソッドは、 構造に対する参照を戻すため、 getXML() によって戻された構造を変更したら、 構造を変数に「設定」し直す必要はありません。

次のサンプル・コードでは、<customers /> 構造から 2 番目の <customer /> エレメントを除去します。

IXml customers = webAppAccess.getVariables().getXml("CustomerList");
customers.removeChildElement(customers.findElement("customers/customer[1]"));
XMLData タイプの変数内のエレメントのテキスト値を設定するには、以下のようにします。
IXml customers = webAppAccess.getVariables().getXml("CustomerList");
customers.setText("customers/customer[2]/name", "NewName");
要求からのデータの取得

HttpServletRequest オブジェクトにアクセスするには、webAppAccess.getHttpServletRequest() メソッドを呼び出します。

HttpServletRequest オブジェクトから次の情報を取り出すことができます。
ユーザー名
webAppAccess.getHttpServletRequest().getUserPrincipal().getName();
サーバー名
webAppAccess.getHttpServletRequest().getServerName();
ContentType
webAppAccess.getHttpServletRequest().getContentType();
ロケール
webAppAccess.getHttpServletRequest().getLocale();

public メソッドの詳細な説明については、 JDK インストール内の javax.servlet.http.HttpServletRequest クラスの Javadoc を参照してください。

応答を変更する

HttpServletResponse オブジェクトを使用して、 メソッドによって戻されるデータのコンテンツ・タイプを変更します。

このオブジェクトでは、応答の ContentType に text でも html でもないいずれかのタイプを設定します。

また、 応答にヘッダーを追加したり、クライアントへの応答を変更したりすることができます。

例えば、次のサンプル・コードでは、応答の ContentType を設定して、 Microsoft Excel スプレッドシートを戻します。

public void setContentTypeXL(WebAppAccess webAppAccess) {
webAppAccess.getHttpServletResponse().setContentType("application/msexcel") ;
try {
File excelSheet = new File(webAppAccess.getSystemProperties().getDocumentRoot()+
File.separator + "Schedule.xls");
int numFileBytes = (int)excelSheet.length();
byte[] fileBytes = new byte[numFileBytes];
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(excelSheet));
int i = 0;
while(i < numFileBytes){
fileBytes[i] = (byte)bis.read();
i++;
}
webAppAccess.getHttpServletResponse().getOutputStream().write(fileBytes);
}
catch (IOException ioe) {
System.out.println(ioe+"Cannot find file.");
}
}
注: サポートされる MIME タイプを見つけるには、IBM WebSphere Portlet FactoryWEB-INF/web.xml ファイル内の <mime-mapping /> エレメントを参照してください。

public メソッドの詳細な説明については、 JDK インストール内の javax.servlet.http.HttpServletResponse クラスの Javadoc を参照してください。

変数タイプを選択する

このファイル内でいずれかのタイプになるように変数を指定できます。

String
1 つのストリング値を含むように、この変数を指定します。 例えば、「customer name」です。
XML
XML 構造を含むように、この変数を指定します。 次に例を示します。
<customers>
<customer>
<name>Jane</name>
<id>1112</id>
</customer>
<customer>
<name>Jane</name>
<id>1112</id>
</customer>
</customers>
Object
Java クラスのインスタンスを含むように、この変数を指定します。 例えば、Customer クラスのインスタンスがある場合、そのオブジェクトをオブジェクト・タイプの変数の値として保管できます。
Boolean
boolean 値を含むように、この変数を指定します。例えば、false などです。
Double
double 値を含むように、この変数を指定します。 例えば、22.49 などです。
Float
float 値を含むように、この変数を指定します。 例えば、3.40282e+38 などです。
Integer
int 値を含むように、この変数を指定します。例えば、1786 などです。
Long
long 値を含むように、この変数を指定します。 例えば、122546739499 などです。

さらに、スキーマによって定義されたタイプになるように、変数を指定することもできます。 このタイプは、変数タイプ・チューザーに表示されます。 スキーマによって定義されたタイプを選択する場合、そのスキーマの Type フォルダーから選択し、そのスキーマの Element フォルダーからは選択しないようにしてください。

注: 多くのエレメントを定義するスキーマでは、変数またはメソッド引数のタイプを判別できるようにするチューザーで「メモリー不足」が発生する可能性があります。

ネストされた間接参照を作成する

リファレンス・チューザーを使用して、ネストされた間接参照を作成します。

  1. モデルで Builder 呼び出しエディターを開きます。
  2. リファレンス・チューザーを使用して、 入力ボックスに間接参照の最初の部分を取り込みます。
  3. 別の間接参照を挿入したいスポットにカーソルを置きます。
  4. 「リファレンス・チューザー」ボタン ブラウズ・ボタン をクリックします。 「リファレンス・チューザー」ウィンドウが開きます。
  5. 希望するモデル・エレメントを選択し、「OK」をクリックします。
リファレンス・チューザーにより、新しい間接参照がカーソル位置に挿入されます。

Builder テーブルの行を削除する

多くの Builder ではテーブルに入力を提供します。このテーブルから行を削除し、関連する入力値を削除します。

Action List Builder などの Builder 入力のテーブルから行を削除する場合は、行に関連する入力が NULL とみなされないように、正しい手法を使用することが重要です。

行を右クリックし、「行の削除」をクリックします。

行を削除せずに行の内容を削除すると、Builder は NULL の入力とみなします。

テーブルから行が削除され、関連する入力は使用されません。

別のウィンドウで Builder 呼び出しエディターを開く

Builder 呼び出しエディターを、IBM WebSphere Portlet Factory Designer のウィンドウとは別のウィンドウで開くことができます。

通常、Builder 呼び出しエディターは、タブ付きパネルとして WebSphere Portlet Factory パースペクティブのエディター領域で実行します。この動作は設定を使用して変更できます。別ウィンドウが開くことで作業用の空間が増え、また、大きめのフォント・サイズでテキストが表示されます。
  1. WebSphere Portlet Factory パースペクティブで、「ウィンドウ」 > 「設定」をクリックします。
  2. 「設定」ウィンドウで「Websphere Portlet Factory Designer」をクリックします。
  3. 「Builder 呼び出しエディター」「ダイアログ・ウィンドウ」を設定し、「OK」をクリックします。

ワークベンチの次回起動時に、Builder をモデルに追加すると、Builder 呼び出しエディターが別のウィンドウで開きます。

WebSphere Portlet Factory Wiki ビュー

WebSphere Portlet Factory Wiki」ビューでは、追加の製品情報 (ベスト・プラクティスのガイドラインなど) に接続できます。

WebSphere Portlet Factory Wiki」ビューを開くと、Eclipse ブラウザーは、インターネット上の WebSphere Portlet Factory wiki に接続します。 ブラウザーを開くと、デフォルトでスポットライトのページが表示されます。 このページには、 WebSphere Portlet Factory 製品ファミリーを最大限に活用するための推奨事項が含まれている記事へのリンクがあります。 ページ下部のリンクは、他の wiki および製品情報ソースにリンクしています。

上部のビュー・ツールバーには、wiki の他の部分を選択するためのリストがあります。例えば、「サンプルおよび技法」(自分の用途に合わせて改造することが可能な技法に関するサンプルや記事が含まれている wiki のセクション) をクリックできます。 ツールバーのアイコンを使用すると、ブラウザー内をナビゲートすることができます。

リソース・ログ・ビュー

リソース・ログ・ビューには、現行プロジェクト・セッション内の重要なイベントが 表示されます。

このビューには、この Eclipse セッションで最後に実行された機能セット (または WebApp) の追加または除去操作の結果が表示されます。 このビューには、プロジェクトから除去、変更、および 追加されたすべてのファイルのリストが表示され、また最新のコピー操作または除去操作に よるそれらの変更の結果として発生したエラーが表示されます。 現行開発セッション内で行われたアクティビティーを追跡するには、 このビューを使用します。 Eclipse が再始動されると、ビューは消去されます。

「ウィンドウ」 > 「ビューの表示」 > 「リソース・ログ」をクリックして、ビューを表示します。 WebSphere Portlet Factory パースペクティブのタスク・ビュー領域にビューが開きます。

「ビュー」メニューはフィルターおよびコピー・オプションを提供します。このビューに表示されるイベント・セットは、ビュー・メニュー内から使用できる以下のフ ィルター・タイプに分類されます。

すべてのイベント
すべてを表示します。表示されるイベントの大半は、正常に処理されたコピーまたは除去の操作です。
例外イベント (デフォルト)
エラーなどの、ユーザーに対して 重要なイベントを表示するほか、ユーザーが変更したファイルや 上書き候補のファイルも表示します。
エラー
ファイルの除去やファイルのコピーの失敗などのイベントのみを表示します。

コピーを使用する

イベント・フィルター・オプションに加えて、リソース・ログ・ビュー・ポップアップ・ メニューを使用するとコピー操作を利用することができます。 コピー操作では、ビューの内容がクリップボード上にテキスト (復帰/改行文字の組み合わせで区切った行) として置かれます。

注: コピー操作では、ビューで選択されたすべての 項目が無視されます。

コピーは、プロジェクト・アクティビティーの総合的な記録を提供するのに便利です。 例えば、いくつかのファイルを上書きする必要がある状況で、何らかの理由で 上書きを行わない場合、コピー操作を実行することにより、これらのファイルの リストを取得して、後で参照することができます。 さらに、ファイル名を別のコマンドに手動でコピーして貼り付け、上書きプロセスを完了できます。

ログに記録されるイベントのタイプ

ここでは、ビューでログに記録されるすべてのイベント・タイプと、それらがビュー内でレンダリングされる方法を示します。

注: {0} は、コピーまたは除去されるファイルと置き換えられます。 {1} は「操作元」のディレクトリーであり、{2} は「操作先」ディレクトリーです。
ファイルは宛先にコピーされました
"copied {0} from {1} to {2}"
ファイルはユーザーによって変更されませんでした。また、宛先から除去されました
"removed {0} from {2}"
ファイルはユーザーによって変更されましたが、宛先から何らかの方法で除去されました
"removed modified {0} from {2}" *
ファイルはユーザーによって変更されましたが、除去されませんでした
"kept modified {0} in {2}" *
既存のファイルが上書きされました
"overwrote existing {0} in {2} from {1}" *
既存のファイルは上書きされませんでした
"kept existing {0} in {1} - new file in {1}" *
除去しようとしましたが、できませんでした
"could not remove {0} from {2}" **
既存のファイルを上書きできません
"error copying {0} to {1} - new file in {1}" **
*: * のマークが付いたイベントは「例外」です。
**: ** のマークが付いたイベントはエラー・イベント (および例外イベント) です。

実行構成を作成する

IBM WebSphere Portlet Factory モデル構成タイプを作成できます。

  1. 「実行」 > 「実行構成」をクリックします。
  2. ダイアログで、リストから「WebSphere Portlet Factory モデル」を選択して、「新規」アイコンをクリックします。
  3. 「名前」入力フィールドに、この構成タイプの名前を入力します。
  4. 「メイン」タブで、「指定するモデルの実行」を選択します。
  5. 「プロジェクト」で、「参照」をクリックして、モデルが存在するプロジェクトを選択します。
  6. 「モデル」で、「参照」をクリックして、実行するモデルを選択します。
  7. 他の 4 つのタブ (「サーバー」「ブラウズ (Browsing)」「トレース」「共通」) では、デフォルトを受け入れるか、または必要な情報を入力します。
  8. オプション: 「共通」「お気に入りのメニューに表示」で、「指定して実行」アイコン・ドロップダウン・リストに名前が表示されているオプションを選択します。
  9. 「適用」をクリックして、構成を保管します。
  10. 「閉じる」をクリックして、ダイアログを終了します。

「実行構成」ダイアログ

IBM WebSphere Portlet Factory Designer では、実行構成プロパティーを設定できます。

これらのプロパティーは、 WebSphere Portlet Factory Designer 内からモデルを実行するときに使用されます。

標準の Eclipse の「実行構成」ダイアログでは、Eclipse 環境内から プログラムを実行 (起動) するときに使用されるパラメーターを定義できます。 モデルの実行時には、独特な実行構成タイプが使用されます。したがって、モデルを実行するには、Factory モデルというタイプの新規実行構成を定義する必要があります。

注: 「実行構成」ダイアログは、 WebSphere Portlet Factory、Java、またはプラグイン開発パースペクティブからのみ使用できます。

Factory モデル・タイプは、以下のものとして実行するように構成できます。

  • 現行モデル (つまり、現在開いているモデル・エディターの中にあるモデル)。
  • 特定の名前付きモデル (つまり、モデル・エディター内に存在する必要のないモデル)。
注: 両方のタイプの実行モードを作成できます。

実行構成の一部として、モデルの実行先となる WebSphere Portlet Factory サーバー、および使用するブラウザーのタイプに関する情報を指定します。 また、 WebSphere Portlet Factory サーバーのトレースをオンにするかどうかも指定できます。

実行構成フィールド値

次の表で、「実行構成 (Run Configurations)」ダイアログのさまざまなタブで設定できるプロパティー値について説明します。

「メイン」タブ 説明
実行するモデル Factory モデルのタイプを、 以下の 2 つのモードのうちの 1 つで実行するよう構成できます。
現行アクティブ・モデル・エディターからモデルを実行
実行されるモデルは、現在開いているモデル・エディター内にあるモデルになります。
注: 後でモデルが実行されるときに、開いているモデル・エディターがないと、ランタイム・エラーが発生します。
指定するモデルの実行
実行されるモデルは、「名前:」入力ボックスに名前を指定した、特定のモデルになります。「ブラウズ」ボタンを使用して、「実行するモデル」チューザーからモデルを選択します。
注: 指定するモデルの実行のモードを選択する場合、プロジェクトも選択する必要があります。
「サーバー」タブ 説明
サーバー・ホスト 接続する IBM WebSphere Portlet Factory サーブレットを実行しているサーバーのホスト名を入力します。 WebSphere Portlet Factory サーブレットと WebSphere Portlet Factory Designer が同じマシン上にある場合は、localhost を使用できます。
サーバー・ポート WebSphere Portlet Factory が要求を listen するポート番号を入力します。

例: 9080

「ブラウザー」タブ 説明
ブラウザー・コマンド モデルの実行時に実行する Web ブラウザーのパスを入力します。
「トレース」タブ 説明
システム・トレースを使用して実行 モデルを実行するときに、 メソッドおよびページ・アクションに関するシステム・トレース情報を印刷するには、このチェック・ボックスを有効にします。
「共通」タブ 説明
実行構成のタイプ (Type of Run configuration) このフィールドは、実行構成の設定値が記述されているファイルの場所を定義します。
ローカル
実行構成ファイルがローカル側に保管されるようにすることを指定します。 これにより、その実行構成は単一ユーザー専用になります。
共用
実行構成ファイルがワークスペースに保管され、標準チーム・メカニズムを使用してリポジトリーで共用できるようにすることを指定します。 「ブラウズ」ボタンを使用して、「フォルダー選択」チューザーからフォルダーを選択します。
実行時に切り替える/開くパースペクティブ (Perspective to switch to or open when Runed in) モデルは実行モードで実行されます (デバッグ・モードはサポートされていません)。 実行モードでは、プログラムは実行されますが、その実行の中断または検査は行われない場合があります。

このフィールドでは、実行構成の実行時にアクティブにするパースペクティブを選択できます。

お気に入りのメニューに表示 実行構成が「お気に入りの実行 (Run favorites)」リストに表示されるように 指定するには、「実行」ボックスにチェック・マークを付けます。

実行構成を削除する

IBM WebSphere Portlet Factory モデルの構成タイプを削除するには、次のようにします。

  1. 「実行」メニューから「実行...」を選択します。
  2. 「実行構成 (Run Configurations)」ダイアログで、 実行構成リストから既存の構成を選択します。
  3. 「削除」をクリックします。
  4. 「実行構成削除の確認 (Confirm Run Configuration Deletion)」ダイアログで「はい」をクリックします。
  5. 「閉じる」をクリックして、ダイアログを終了します。

プロジェクト・リソースの共用について

プロジェクト・リソースを開発者間で共用できます。

IBM WebSphere Portlet Factory アーカイブ・ファイルを作成またはインストールできます。アーカイブ・ファイルは、 WebSphere Portlet Factory のエクスポート/インポート・ウィザードを使用して作成する特殊な圧縮ファイルです。 このウィザードは、 WebSphere Portlet Factory Designer の「ファイル」 > 「エクスポート」および「ファイル」 > 「インポート」メニューに統合されています。 アーカイブによって、プロジェクト・コンポーネントを簡単に収集および配布することができます。

エクスポートおよびインポートの使用について

IBM WebSphere Portlet Factory Designer には、プロジェクト・リソースのエクスポートおよびインポートに使用できるウィザードが用意されています。

別の開発者とリソースを共用するために、プロジェクト・リソースをエクスポートおよびインポートする必要がある場合があります。 WebSphere Portlet Factory アーカイブ Zip ファイルを作成するには、このウィザードを使用できます。

WebSphere Portlet Factory アーカイブは、共用するリソースをパッケージ化するために使用される ZIP ファイルです。 このファイルは、「 WebSphere Portlet Factory のエクスポート」ウィザードによって自動的に構成されます。このような特殊目的のウィザードは、Eclipse の「エクスポート/インポート」メニューに組み込まれています。

アーカイブ・ファイルに保存されたリソースはすべて、 プロジェクトのサービス提供可能なコンテンツ・ディレクトリー (プロジェクト・ルート・ディレクトリー) を基準としています。

チーム開発環境

IBM WebSphere Portlet Factory アプリケーションは、開発サーバーに公開する場合に設計時に アプリケーションを再生成するためや、完成したプロジェクトを実動サーバーに エクスポートするために使用される、単なるまとめられた一式のファイルです。

各開発作業と同様に、 WebSphere Portlet Factory プロジェクトおよびアプリケーション・ファイルを CVS、SourceSafe、Rational® ClearCase® などの ソース・コントロール・システムの下に配置する必要があります。これらのファイルをソース・コントロールの下に配置すると、 それらのファイルをバージョン管理することおよび失われないようにすることができます。ファイルをソース・コントロールに配置するには、以下のアクティビティーを実行します。
  • ソース・コントロール管理のためにプロジェクトを配置してレイアウトする。
  • バージョン管理の対象とする作成物を決定する。
  • 配布用のコードを管理する。

配布用のコードの管理

多くのポートレット、Web アプリケーションおよびウィジェットと同様に、 WebSphere Portlet Factory アプリケーションは WAR として 配布 (または公開) されます。

プロファイル・セットを含む、アプリケーションの実行に必要なすべての項目が、WAR ビルド・プロセスでパッケージ化されます。 そのため、自己完結型の WAR ファイルを適切なサーバーに配布または公開して、 実行可能にすることができます。

ソース・コントロール管理のためにプロジェクトを配置してレイアウトする

このプロジェクト構造をソース・コントロールに変換する場合は、 次の 2 つの基本的な方法を使用できます。

プロジェクトは、ファイル・システム内の任意の場所に配置できますが、Eclipse ワークスペース (.../eclipse/workspace/) に配置するのが一般的です。 WebSphere Portlet Factory Designer を使用して IBM WebSphere Portlet Factory プロジェクトを作成すると、 必要なすべてのサブディレクトリーおよびファイルが、正しい構造で自動的に作成されます。 プロジェクト構造をソース・コントロールに変換する方法は、以下の 2 つです。
個々のプロジェクトによる方法
各チーム・メンバーが、ソース・コントロール内に、プロジェクト成果物 (モデル、Java クラス、Builder など) 用の領域を個別に持ちます。 この領域の形状は、プロジェクト構造を反映する必要があります。

この方法は、プロジェクトに疎結合 (例えば、HTTP 接続) のみがある場合に役立ちます。 作成された成果物を (共通のビルドで) さらにまとめる場合は、 衝突しないように成果物名を選択する必要があります。 共通のビルドがある場合は、 ビルド・プロセスが必要になります。

共用チーム・プロジェクト
チーム・メンバーによって作成されたすべての成果物を取り込む、共用ソース・コントロール領域が 1 つあります。 これには、すべてのソース・ファイル、生成されるすべてのファイル、 およびすべての WebSphere Portlet Factory 出荷ファイル (WAR など) が含まれます。 この領域の形状は、プロジェクト構造をミラーリングする必要があります。

この方法は、複数の人が 1 つのアプリケーションの異なる部分で作業している場合に役立ちます。 それぞれの開発者が WebSphere Portlet Factory のコピーを持ち、 作業を共用ソース・コントロール領域にチェックインします。 チーム・メンバーはだれでも、必要に応じてプロジェクトにすべての成果物を簡単に取り込むことができ、 より簡単に名前の衝突を回避することができます。

どちらの場合でも、ソース・コントロールでプロジェクトの構造を反映させることで、 ソース・コントロール・システムとプロジェクトの間でデータを簡単に移動できるようになります。

成果物のバージョン管理

長期間にわたってアプリケーションを再作成する機能が必要な場合は、 プロジェクトで使用されるすべての成果物を取り込むことが重要です。

当然、一連のソフトウェア層 (オペレーティング・システム、JVM、Eclipse、 WebSphere Portlet Factory Designer など) も必要です。 少なくとも、将来変更を行うことができるようにするために必要なソフトウェアの重要な部分を 何らかの方法で取り込む必要があります。 CD、DVD などのメディアを作成することは、 このような下位層の大部分とプロジェクト成果物のスナップショットを取り込む 1 つの方法になります。

プロジェクト・レベルでは、バージョン管理下に置く項目について以下の選択肢があります。

プロジェクト全体
プロジェクト全体をチェックインします。ここで、ソース・コントロールは、作業ディレクトリーの構造を正確に反映します。 この方法は簡単ですが、ソース・コントロール・システムの機能およびパフォーマンスによっては、 時間がかかりすぎるか、使用しにくいことがあります。 また、開発チームの規模が非常に大きい場合、 この方法はサーバー上の多くのスペースを消費します。
新規ファイルと変更済みファイル
プロジェクトで作成または変更するファイルのみをチェックインします。作成したプロジェクトには WebSphere Portlet Factory 出荷ファイル、ソース・ファイル、 および生成されたすべてのファイルが含まれます。 モデル、HTML ファイル、Java クラス、 およびプロジェクト用に作成するその他の ファイルを保管する固有フォルダーを作成します。

ソース・ファイルおよび生成されたファイルのみがプロジェクトに残ります。 これとまったく同じ環境を複製する場合は、生成されたファイルをチェックインする (推奨しません) か、 後でソースから簡単に作成することができます。 生成されたファイルは WEB-INF/factory/generated/ フォルダーにあります。 この技法を使用すると、ソース・コントロールでソース・ファイルを保持し、 同じバージョンの WebSphere Portlet Factory およびプロジェクトに必要なその他の出荷ソフトウェアを 各開発者にインストールさせることができます。

ソース・コントロールで共用チーム・プロジェクトを使用して、 新規ファイルまたは変更されたファイルのみをチェックインする場合は、 チーム・メンバー間で共用していて変更の予定がない成果物 (JAR、Builder 定義、プロパティー) がすべて含まれた プロトタイプ・プロジェクトをソース・コントロール・システムでセットアップします。 このように、プロトタイプ・プロジェクトと共用チーム・プロジェクトを結合するだけで、 新規チーム・メンバーのプロジェクトを作成することができます。 当然、2 つの次元 (何を取り込んで、どのように形作るか) の間には、 多くのバリエーションがあります。

以下に、ソース・コントロール・システムに最低でも格納 すべきプロジェクト成果物を示します。

  • WEB-INF/models/*.model 内のモデル・ファイル
  • WEB-INF/profiles/*.xml 内のプロファイル・セット・ファイル
  • HTML ファイル (*.htm*.html)
  • JavaScript ライブラリー、CSS、および XSL スタイル・シート (*.js*.css*.xsl)
  • イメージ・ファイル (*.jpg*.gif)
  • プロジェクトの最上位にあるものを除く構成ファイル (*.properties*.xml、および Java リソース・バンドルなど)
  • WEB-INF/work/source/*.java 内の Java ソース・ファイル
  • カスタム (クライアント固有の) JAR ファイル
  • WEB-INF/builders/*.bdef 内のカスタム Builder 定義
  • WEB-INF/config/selection_handlers/*.xml 内のカスタムのプロファイル選択ハンドラー・ファイル
  • プロジェクトのビルド・スクリプト
  • プロジェクト資料

ソース・コントロールに以下の成果物を取り込んだり、または格納したりしないでください。

生成されたプロジェクト成果物
WebSphere Portlet Factory 再生成プロセスで 生成された成果物 (JSP、Java クラス、スキーマ) の取り込みおよび制御は不要であり、推奨されません。 この成果物は、コンパイラーのバイナリー出力とまったく同じです。 ソース・ファイル (モデル、プロファイル、Builder など) を保存すれば、 生成された成果物は常に再生成可能です。 生成された Java ファイルは WEB-INF/factory/generated にあり、 生成された JSP ページは /genjsp ディレクトリーにあり、 生成された Java クラスは WEB-INF/factory/generated/genjava にあります。
プロパティー・ファイル
共用チーム・プロジェクトの場合は、プロジェクトの最上位にある プロパティー・ファイル (.bowstreet.classpath、 および .project) をソース・コントロールに格納しないでください。これらのファイルは、ユーザーおよびシステムに固有です。
ソース・コントロールから除外されるファイル

IBM WebSphere Portlet Factory には、ソース・コントロールから除外されるファイルのデフォルトの選択が用意されています。

Eclipse 開発環境では、ソース・コントロールからデフォルトで除外されるフォルダーおよびファイルの設定をサポートします。 WebSphere Portlet Factory は、ソース・コントロールから除外されるフォルダーおよびファイルのリストを提供することによって、Eclipse の標準チーム機能と統合します。このリストを確認するには、Eclipse で 「ウィンドウ」 > 「設定」 > 「チーム」 > 「無視するリソース」をクリックして、*/WebContent で始まる項目を確認します。この項目は、 WebSphere Portlet Factory によってデフォルトで用意されています。

「設定」ダイアログのコントロールを使用すると、ユーザーのプロジェクトのニーズに従ってリストを変更できます。また、使用するソース・コントロール・コマンドによってリスト内の項目をオーバーライドすることもできます。

Web アプリケーション・モデルの実行

本書では、IBM WebSphere Portlet Factory システムにおける WebApp オブジェクトの構造および動作について説明します。

本書の情報は、以下のユーザーにとって役立ちます。

  • WebApp モデルを作成する開発者: モデルの作成時に使用される Builder に関係なく、作成されるアプリケーションは WebApp 構造および実行の動作に従います。 モデルを作成する開発者は、 WebSphere Portlet Factory Designer で WebApp ビューを使用することによって、モデル用に生成された WebApp を表示することができます。
  • モデルの生成および実行のプロセスを理解したいと考えている他のユーザー。

WebApp は、WebApp パラメトリック・モデル用の実行可能な生成結果です。 WebApp エレメントとは、 アプリケーションの生成時に使用する Builder について使用可能な基本作成ブロックのことです。

WebApp は、J2EE Web アプリケーションのすべてまたは一部を表しており、以下の項目を含みます。

  • ページ (JSP)
  • 状態データ (プリミティブ、XML、および Java オブジェクト)
  • ビジネス・オブジェクトなどのサポート対象オブジェクトへのリンク
  • 実行ロジックおよび生成された Java コード
  • イベント処理
  • 他の WebSphere Portlet Factory WebApps へのリンク
注: WebApp Builder は、WebApp エレメントのタイプの数よりもはるかに多く存在します。 これは、この Builder がこれらの基本的な要素を使用する方法の数に限りがないからです。

WebApp の実行

ここでは、WebApp ランタイム環境プロセスについて、および WebApp アプリケーション開発者が使用する API について説明します。

開発者用にとっての 1 次 API エントリー・ポイントは WebAppAccess インターフェースであり、 実行中の WebApp アプリケーションのインスタンス固有情報はすべてここに含まれます。 2 次 API は WebApp インターフェースです。 これは、より静的なインターフェースであり、 実行中あるいは実行中ではない WebApp アプリケーションに関する構造情報を含みます。

WebApp 実行パスおよび WebApp 実行時アクションについて理解することが重要です。

WebApp 実行時アクション

内部的には、WebApp の実行時に処理される 2 つのタイプのアクションが存在します。

2 つのアクションとは、ページとメソッドです。WebApp は、これらのアクションを使用して実行されます。
メソッド
メソッド、アクション・リスト/アクション、 およびメソッド呼び出しなど、ページ以外の実行コードはすべて Java ソース・コードに変換されます。 このコードはコンパイルされて、WebApp の固有のバリエーションごとに 1 つの Java クラスが生成されます。 このクラスは実行時にインスタンス化され、WebAppAccess callMethod API を使用して実行できるようになります。 生成された Java メソッドを実行する同じメソッド・アクションも、Linked Java Object メソッドを呼び出すために使用されます。
ページ
ページの実行はすべて、ページ・アクションを使用して行われます。 ページ・アクションは、ページ・タイプを検出し、正しいページ・プロセッサーに処理を渡します。 現在、2 つのタイプのページ・プロセッサーが存在します。 1 つは JSP ページ・プロセッサーです。JSP ページ・プロセッサーは、ホスト・サーバーによって実行されます。 2 つ目は静的ページ・プロセッサーです。 静的ページ・プロセッサーは、実際の処理を行いませんがページをクライアントに直接返送します。
アクション・リスト
アクション・リストは、メソッド呼び出し、割り当て操作、プロセス・ページ呼び出し、および戻りステートメントなど、アクション項目のリストを保持します。 アクション・リストは Java メソッドに変換されるため、ランタイムに関する限り、 上で説明されている他のメソッドと同じように扱われます。

WebApp の実行パス

WebApp 実行時環境について、より詳しく理解するには、 個別の要求について実行パスを理解することをお勧めします。

以下に、特定の要求側について WebApp を初めて実行する要求のハイレベルのステップを示します。
  1. 要求が解析されて、実行する WebApp モデル、およびオプションで指定された WebApp 内のアクション (指定されていない場合は、デフォルトで「main」アクション) が決定されます。
  2. InstanceDataStorage (インスタンス・データ用の抽象ストレージのことで、デフォルトではセッション) は、 要求側がこの WebApp のインスタンスを既に実行しているかどうかを調べるために使用されます。 これは最初の要求であるため、インスタンス・データは存在しません。
  3. インスタンスが存在しないため、WebApp がキャッシュから取り出されるか、適切なプロファイル・データを使用して生成されます。
  4. 次に、InstanceDataStorage は後続の要求のインスタンス・データを保管するために使用されます。 インスタンス・データには、変数やリンクされたモデルなどの状態データが含まれます。
  5. 新規の WebAppAccess オブジェクトが、WebApp の変数およびリンクされたモデルのインスタンス固有のコピーを使用して作成されます。
  6. 次に、WebApp が WebApp 間の要求を使用する代わりに外部要求として実行できるかどうかを判別するために、いくつかの許可検査が行われます。
  7. 次に、サーブレットが WebApp のアクションを処理します。例えば、WebApp の「main」メソッドが要求された場合は、そのメソッドが呼び出され、 今度はそのメソッドが別のメソッドやページなどの他のアクションを呼び出すことができます。
  8. 次に、アクションの結果が要求側に戻されます。

以下に、同じ要求側について上記で実行された WebApp 要求に対する後続の要求のハイレベルのステップを示します。

  1. 要求が解析されて、実行する WebApp、およびオプションで指定された WebApp 内の任意のアクション (指定されていない場合は、デフォルトで「main」アクション) が 決定されます。
  2. InstanceDataStorage は、要求側がこの WebApp の インスタンスを既に実行しているかどうかを調べるために使用されます。 これは 2 番目の要求であるため、インスタンス・データが存在します。
  3. 新規の WebAppAccess オブジェクトは、InstanceDataStorage から取得されたインスタンス・データを使用して作成されます。
  4. 次に、WebApp を外部要求によって実行できるかどうかを判別するために、許可検査が行われます。
  5. 次に、サーブレットが WebApp のアクションを処理します。例えば、WebApp の「main」メソッドが要求された場合は、そのメソッドが呼び出され、 今度はそのメソッドが別のメソッドやページなどの他のアクションを呼び出すことができます。
  6. 次に、アクションの結果が要求側に戻されます。

WebAppAccess

WebAppAccess は、実行されているアプリケーションへのプログラマー用インターフェースです。

プログラマーはこのインターフェースを使用して、変数、リンクされたモデル、および Linked Java Object など、 インスタンス固有のすべてのランタイム・コンポーネントにアクセスし、それを変更することができます。 変更できない (読み取り専用の) コンポーネントは、ページ、メソッド、システム・イベント・リスナー、 およびエラー・ハンドラーです。 これらには、WebApp インターフェースを使用してアクセスできます。 開発者は、メソッド、LJO および JSP ページで WebAppAccess インターフェース API を使用できます。 WebAppAccess API を使用して、WebApp、変数およびリンクされたモデルにアクセスできます。

Java および WebAppAccess オブジェクトの使用

IBM WebSphere Portlet Factory を使用すると、以下のようなさまざまな方法で Java コードをアプリケーションに取り込むことができます。

  • Method Builder
  • Linked Java Object Builder
  • ${Java/...} 間接参照

WebSphere Portlet Factory ランタイムおよび API のプログラミングには、WebAppAccess オブジェクトを使用します。 WebSphere Portlet Factory で Java を使用する方法について詳しくは、製品 wiki の「Using Java in your Web applications」という記事を参照してください。

WebAppAcess と WebApps

WebApp は、生成プロセスの結果です。 作成したモデルのプロファイルが作成されると、固有のバージョンの WebApp が必要に応じて作成されます。 WebApp には、アプリケーションの実行に必要な構造データが含まれています。

WebApp は、複数の WebAppAccess インスタンス間で共用されるため、実行時には読み取り専用です。 WebApp を共用することによって、同じプロファイル要件を持つ同じ WebApp について要求が発生した場合に、新規の WebApp を再生成する必要がなくなります。

WebApp に含まれているコンポーネントは、ページ、メソッド、アクション・リスト、 変数、Linked Java Object、リンクされたモデル、システム・イベント・リスナー、およびエラー・ハンドラーです。

WebAppAccess が初めてインスタンス化されるとき、WebApp のランタイム変更可能コンポーネントが WebApp から WebAppAccess オブジェクトにコピーされます。 これらのコンポーネントは、変数、リンクされたモデル、および Linked Java Object です。 これにより、WebAppAccess は、共用 WebApp オブジェクトを破壊することなく、これらの項目を変更できます。

注: Linked Java Object は、オブジェクト・タイプとして変数内に保管されます。
WebAppAccess には WebApp への参照が含まれています。 WebAppAccess は、getWebApp メソッドを使用して取得できます。
WebApp webApp = webAppAccess.getWebApp();

リンクされたモデル

リンクされたモデルは、WebApp 開発者が他の WebApp 間でモデル機能を再使用および共用するためのメカニズムを提供します。

モデルをリンクすることによって、リンクされたモデルの共通機能 (メソッドやページなど) を、リンクを要求しているモデルに公開します。

リンクされたモデルを追加するには、Linked Model Builder を使用して、リンク対象のモデルを指定します。 Linked Model Builder は、指定のスロットをモデルに追加します。 このスロットには、リンク対象のモデルに関する情報が含まれます。 下の図は、リンクされたモデルのローカル参照名として LM1 を使用しながら、モデル A が モデル B のリンクを組み込む様子を示しています。

注: モデル B は、 実際に呼び出されるまでインスタンス化されません。

Builder の名前は、リンクされたモデルの機能にアクセスする場合に使用する必要がある接頭部名として使用されます。 例えば、リンクされたモデルを追加して、 そこに Builder 名として LM1 を指定した 場合は、Linked Model Builder 名、ピリオド (.) セパレーター、およびページ名を使用して、 そのモデルのページを 参照します。

webAppAccess.processPage("LM1.HomePage");

また、リンクされたモデルのメソッドを呼び出す場合にも同じフォーマットを使用します。

String value = webAppAccess.callMethod("LM1.doWork");

モデルのリンクを組み込むときは、 モデルの単一インスタンスを作成してセッション内で共用するようにするのか、リンクされたモデルをセ ッション内で共用しないようにするのかを指定できます。リンクされたモデルを共用しない場合は、 複数の Linked Model Builder が使用すると、モデルのインスタンスが複数作成されます。

リンクされたモデル: 非セッション singleton

リンクされたモデルが非セッション singleton になるように指定されていると、 特定の要求側セッションについて、このモデルのインスタンスが 複数作成されます。

同じモデルを参照するその他のリンクされたモデルは、独自の固有インスタンスを取得します。 非 Singleton モードでは、リンクされたモデルは要求側セッションに保管されませんが、 代わりに、リンク元となったモデル内の参照として保持されます。 例えば、モデル A とモデル B が モデル C でリンクする場合、 モデル C のインスタンスが当該セッションに ついて 2 つ作成されます。親モデル内のリンクされたモデルのスロットは、 それぞれのインスタンスを参照します。

モデル C のインスタンスが複数存在しており、 ユーザー・セッションにそのインスタンスへの参照が存在しないため、 モデル C のページ内のリンクは、 チェーン内の最も高い singleton の親モデルを指す必要があります。例えば、HomePage にモデル doWork メソッドへのリンクが含まれている場合、 リンクは次のようになります。

/webengin/A/Action:LM1.doWork

別のリンクされた モデルを追加して、モデル C が モデル D にリンクし、 モデル D 内の 1 ページをその main メソッドにリンクさせる場合、 このリンクは次のようになります。

/webengin/A/Action:LM1.LM2.main

この例では、LM2 は、モデルC に追加された、リンクされたモデルの Builder 名です。

リンクされたモデル: セッション singleton

リンクされたモデルがセッション singleton になるように指定されていると、 特定のセッションについて、このモデルのインスタンスが 1 つだけ作成されます。

他のリンクされたモデルで同じモデル名を参照する場合は、このインスタンスを共用できます。例えば、モデル A とモデル B が モデル C でリンクする場合、 モデル C のインスタンスが当該セッションに ついて 1 つだけ作成されます。

モデル C のインスタンスは 1 つだけであり、 要求側セッションでそのインスタンスへの参照が存在するため、 モデル C のページ内のリンクは、 内部アクションのためにそれ自身を直接指すことができます。 例えば、HomePage にモデル doWork メソッドへ のリンクが含まれている場合、 リンクは次のようになります。

/webengin/C/Action:doWork
リンクされたモデルの WebAppAccess

リンクされたモデルの WebAppAccess を使用すると、リンクされたモデルのスロットに関連付けられた、インスタンス化されたモデルを設定または変更できます。

例えば、以下のように、モデルをインスタンス化して、リンクされたモデルを新規モデルで再割り当てすることができます。
// create or get a singleton instance of model "C"
WebAppAccess modelC = webAppAccess.getModelInstance("C", null, true);
// Get the linked model slot holder
LinkedModel linkedModel = webAppAccess.getLinkedModel("LM1");
// Now set the instance on the linked model slot
linkedModel.setLinkedModelInstance(modelC);

ここで LM1 への呼び出しが行われると、新規モデルに進みます。 これによって、リンクされたモデルをスワップアウトした場合、そのリンクされたモデルを、 呼び出される同じメソッド/ページが含まれるモデルに置き換えることができます。

リンクされたモデルを解放する

場合によっては、リンクされたモデルが使用するメモリーを JVM ガーベッジ・コレクションが再使用できるように、 リンクされたモデルへの参照を解放しなければならないことがあります。

以下に、リンクされたモデルを解放する場合のいくつかのルールのリストを示します。
  • すべてのリンクされたモデルおよび親モデルは、セッションのタイムアウト時に解放されます。
  • 非 singleton のリンクされたモデルは、親モデルが明示的に解放されると自動的に解放されます。
  • singleton のリンクされたモデルは、親モデルが明示的に解放されても自動的には解放されません。 これは、Singleton モデルをセッション内のモデル間で共用できるためであり、 親とともにそのモデルを自動的に解放すると望ましくない結果になる可能性があります。 アプリケーション開発者は、freeLinkedModel(..) メソッドを使用して、singleton または非 singleton の リンクされたモデルを明示的に解放できます (API の節を参照)。

メソッドおよび LJO メソッドの呼び出し

WebApp メソッドおよびアクション・リストは、すべての WebApp メソッドおよびアクション・リストを表す生成 Java クラスに変換されます。

WebApp の固有インスタンスごとに、Java クラスが 1 つ生成されます。 生成されるクラスの名前は、WebApp 名と固有の接尾部の組み合わせになります。 これは、WebApp の生成に使用されたプロファイル・データを識別するために使用されます。

WebApp メソッドおよび LJO メソッドの汎用ルール

  • 生成されたメソッドおよびアクション・リスト・メソッドはすべて、最初の引数として WebAppAccess オブジェクトを受け取ります。
  • WebAppAccess オブジェクトを使用して WebApp に アクセスする必要がある各 LJO メソッドでは、最初の引数として WebAppAccess を使用しながらそのメソッドを宣言する必要があります。

Linked Java Object メソッドを呼び出す

WebApp メソッドまたは別の LJO の場合には、次の 2 つの方法のいずれかを使用して LJO メソッドの呼び出しを行うことができます。

WebAppAccess callMethod(..) メソッドを WebApp メソッドの場合と同じように使用できます。 ただし、モデル内の linked Java Object Builder 呼び出しの名前をメソッド名に指定する必要があります。 以下に、WebAppAccess およびストリング引数を使用する doWork というメソッドを LJO に対して呼び出す例を示します。
webAppAccess.callMethod("MyLJO.doWork", "foo");

この例では、doWork の実際のシグニチャーは次のようになります。

public void doWork(WebAppAccess webAppAccess, String name);

callMethod(..) を使用してこのメソッドを呼び出すと、最初の引数として WebAppAccess が自動的に渡されます。

次のように、LJO のインスタンスを取得して、呼び出しを直接行うこともできます。

SampleLJO myLJO = (SampleLJO)webAppAccess.getVariables().getObject("MyLJO");
myLJO.doWork(webAppAccess, "foo");
注: 呼び出しを直接行ったため、WebAppAccess 参照を渡す必要があります。

LJO が、生成されたメソッド・クラスの基本クラスとして使用されるように 指定された場合、Linked Java Object Builder 名を接頭部として使用せずに (「MyLJO」なしで)、 メソッドを直接呼び出すことができます。

webAppAccess.callMethod("doWork", "foo");

リンクされたモデルについて LJO メソッドを呼び出す

WebApp メソッドまたは LJO の場合には、 WebApp メソッドの場合と同じように、WebAppAccess callMethod(..) メソッドを使用して、リンクされたモデルの LJO メソッドへの 呼び出しを行うことができます。 ただし、LJO でのメソッド名と同様に、Linked Model Builder 呼び出しの名前、 およびリンクされたモデル内の LJO Builder 呼び出しの名前をメソッド名に指定する必要があります。

以下に、リンクされたモデルの LJO 上にある WebAppAccess およびストリング引数を使用する doWork という メソッドを呼び出す例を示します。
webAppAccess.callMethod("MyLinkedModel.MyLJO.doWork", "foo");

この例では、doWork の実際のシグニチャーは次のようになります。

public void doWork(WebAppAccess webAppAccess, String name);

callMethod(..) を使用してこのメソッドを呼び出すと、最初の引数として WebAppAccess が自動的に渡されます。

次のように、リンクされたモデルのインスタンスを取得して、リンクされたモデルの WebAppAccess で callMethod(..) を使用することもできます。

WebAppAccess linkedWebAppAccess = webAppAccess.getLinkedModel("MyLinkedModel");
linkedWebAppAccess.callMethod("MyLJO.doWork", "foo");

または、直接 LJO インスタンスにアクセスして呼び出しを行うことができます。

WebAppAccess linkedWebAppAccess = webAppAccess.getLinkedModel("MyLinkedModel");
SampleLJO myLJO = (SampleLJO)linkedWebAppAccess.getVariables().getObject("MyLJO");
myLJO.doWork(linkedWebAppAccess, "foo");
注: この状態では、リンクされたモデルから正しい WebAppAccess を渡す必要があります。 この場合は、linkedWebAppAccess です。

WebApp メソッドを呼び出す

Java コードからメソッドを呼び出す場合、呼び出し元に応じて 2 つの方法で呼び出すことができます。

LJO の場合は、WebAppAccess callMethod(..) メソッドを使用する必要があります。 以下に、ストリング引数を使用する doWork というメソッドを呼び出す例を示します。
webAppAccess.callMethod("doWork", "foo");
この例では、doWork の実際のシグニチャーは次のようになります。
public void doWork(WebAppAccess webAppAccess, String name);

callMethod(..) を使用してこのメソッドを呼び出すと、最初の引数として WebAppAccess が自動的に渡されます。

WebApp メソッドの場合、WebApp のすべてのメソッドが単一 Java クラスにコンパイルされるため、 呼び出しを直接行うことができます。 以下に、WebAppAccess とストリング引数を使用する doWork というメソッドを呼び出す例を示します。
doWork(webAppAccess, "foo");
注: 呼び出しを直接行う場合は、WebAppAccess を他の引数と同じようにユーザーが渡す必要があります。 ただし、この状態でも callMethod(..) メソッドを使用することができます。

リンクされたモデルに対して WebApp メソッドを呼び出す

WebApp メソッドまたは LJO の場合には、WebAppAccess callMethod(..) を使用して、WebApp メソッドの呼び出しの場合と同じように、リンクされたモデル・メソッドを呼び出すことができます。 ただし、メソッド名に Linked Model Builder 呼び出しの名前、 およびメソッド名を指定する必要があります。

以下に、リンクされたモデルにある WebAppAccess およびストリング引数を使用する doWork というメソッドを呼び出す例を示します。
webAppAccess.callMethod("MyLinkedModel.doWork", "foo");

この例では、doWork の実際のシグニチャーは次のようになります。

public void doWork(WebAppAccess webAppAccess, String name);

callMethod(..) を使用してこのメソッドを呼び出すと、最初の引数として WebAppAccess が自動的に渡されます。

概説: モデル間で通信する

IBM WebSphere Portlet Factory アプリケーションが、アプリケーションの機能で複数のモデルを使用する場合は、 あるモデルから別のモデルへデータを送信する必要がある場合があります。

モデル間で通信する方法は複数あります。

イベントを使用する
あるモデルでイベントを実行し、それを別のモデルで処理することができます。 WebSphere Portlet Factory でもデータを送信できます。
セッションを使用する
情報をセッション・オブジェクトに保管することができます。 同じセッションに要求されるモデルは、この情報にアクセスできます。

イベントをモデル間通信に使用する

イベントは、イベントを listen しているセッション内の (例えば、同じユーザーの) どのモデルにも到達する、指定されたブロードキャストです。 2 つのタイプのイベントがあります。 一般イベントとウィジェット・イベントです。

イベントは複数の引数を持つように宣言される場合があり、値はそのイベントの実行時に指定されます。 一般イベントの場合、指定されたイベントのすべてのユーザーが、 そのイベントを同じように宣言することが重要です。

一般イベントの場合、単一のモデルに Event Declaration Builder を入れて、 イベントを実行あるいは処理する他のモデルにそのモデルをインポートします。 イベントはセッション全体での指定されたブロードキャストです。 イベントが実行された 時点で、同じユーザーが他のいずれかのモデルを実行している場合は、 どのモデルでもそのイベントをキャッチすることができます。

直接にまたは Imported Model Builder を使用して、モデルに Event Declaration Builder を 組み込んだ場合、この Event Declaration Builder は WebApp に fireXxx というメソッドを作成します。ここで、Xxx はイベント名です。 このメソッドは、Event Declaration Builder で定義された正しい引数を使用します。

イベントを処理するには、Event Declaration と同じ引数を持つメソッドを作成し、 次に Event Handler Builder を作成して名前付きイベントをそのメソッドへ 経路指定するようにシステムに指示します。 モデルはインスタンス化されると、そのイベントを発生したすべてのモデル (そのモデル自体を含む) を listen します。 特定のモデル (またはモデルのタイプ) が存在することがわかっていても、 それへの直接リンクを持たない場合に、イベントは便利な通信技法です。

ウィジェット・イベントの場合、Widget Event Builder 入力を使用して、ウィジェットがイベントを実行するのか、処理するのか、またはその両方かを指定します。同じダイアログ・ボックスでイベントの処理方法を指定します。

セッションをモデル間通信に使用する

セッション・データを簡単なマップに保管できるため、2 つの異なるモデルで同じキーを使用するだけで、同じオブジェクトを共用できます。

モデルでは WebAppAccess オブジェクトの getWebAppData メソッドを使用して、セッションのデータを保管できます。 データは簡単なマップに保管されているため、同じキーを使用するだけで、 2 つの違うモデルが同じオブジェクトを共用することができます。

注: IBM WebSphere Portlet Factory のデフォルト動作では、このデータが J2EE セッション・オブジェクトに直接保管されます。ほとんどの J2EE プラットフォームではこのストレージを最小限に抑えることが推奨されます。 ただし、このデータは実際にはプラグ可能なインターフェースを通じて保管されるため、例えば、実際には永続 Java Bean にデータを保管することができます。一方の方法を使用して動作するアプリケーションは、自動的にもう一方の方法を使用しても動作します。

リンクされたモデルをモデル間通信に使用する

リンクされたモデル内のメソッドを使用して、 1 次モデルからリンクされたモデルにデータを送信したり、 リンクされたモデルからデータを取得したりできます。

あるモデルが Linked Model Builder を使用して他のモデルを参照する場合、 最初のモデルはそれ自体のメソッドにアクセスするのと同じ方法で、リンク先モデルの public メソッドにアクセスすることができます。

注: Model Container Builder など、他にも WebApp でリンクされたモデルを 作成する Builder があります。 他の Builder にも同じ効果があります。

アクション・リストあるいはメソッドで、1 次モデルは public メソッドを <Linked Model Name>.<Public Method Name> のように指定して呼び出します。

リンクされたモデルのメソッドを使用して、 1 次モデルからリンクされたモデルへデータを送信したり、 またはリンクされたモデルからデータを取得することができます。

IBM WebSphere Portlet Factory におけるアクセシビリティー

IBM は、年齢や身体能力を問わず、すべての人が利用できる製品の提供を目指しています。

本製品では、標準の Microsoft Windows ナビゲーション・キーが使用されています。

IBM とアクセシビリティーの詳細については、IBM アクセシビリティ・センターを参照してください。

生成された Web アプリケーションのアクセシビリティー

アクセシビリティー対応の Web アプリケーション にするには、各ページの開始部分で、公開済みの文書タイプ宣言 (DTD) を参照する DTD を インクルードする必要があります。 WebSphere Portlet Factory Designer では、アプリケーションが準拠する DTD (存在する場合) が不明であるため、ページに DTD を 追加しません。 WebSphere Portlet Factory Designer によって生成される Web アプリケーションを アクセシビリティー対応にするには、アプリケーション・ページに次の形式で DTD を 追加します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
この DTD では、 サポートされている文書タイプ宣言を参照する必要があります。

IBM WebSphere Portlet Factory Designer のアクセシビリティー機能

アクセシビリティー機能は、運動障害または視覚障害など身体に障害を持つユーザーが情報技術プロダクトを快適に使用できるようにサポートします。

WebSphere Portlet Factory Designer は、以下のアクセシビリティー機能をサポートします。
  • キーボードのみによる操作
  • スクリーン・リーダー (読み上げソフトウェア) により使用される一般的なインターフェース

ハイコントラスト設定

Windows で読み取りやすく設計された色およびフォントを使用するには、ハイコントラスト・モードを使用します。 Eclipse は、Microsoft Windows XP ハイコントラスト・モードでの 1152 x 864 の解像度を使用して、ハイコントラスト性能をテスト済みです。ハイコントラスト・モードで、テスト済みレベル以上の解像度を使用できます。

ハイコントラスト・モードを使用するには、Windows のコントロール パネルを開き、「ユーザー補助のオプション」をダブルクリックして「ユーザー補助のオプション」ダイアログ・ボックスを開き、「画面」タブをクリックして「ハイコントラストを使う」を選択します。

ハイコントラスト・モードでは、キーを使用して複数行の編集フィールド (例えば、Method Builder の「メソッド本体」入力) 内をナビゲートする場合に問題が発生することがあります。 「メソッド本体」入力にナビゲートすると、矢印キーを使用して テキスト全体を読み取るために移動できます。ただし、キーボード・コマンドを使用して、すべてのテキストを表示できるように水平スクロール・バーと垂直スクロール・バーを移動することはできません。以下のオプションがあります。
  • Alt + Ctrl + 上矢印キーと、Alt + Ctrl + 下矢印キーを押して、複数行の編集フィールドの内部スクロール・バーを移動します。
  • 以下のいずれかのアクションを実行して、この問題を回避します。
    • Alt + - を押して、エディター領域のサイズを変更します。
    • Builder エディターを別のウィンドウで表示し、Alt + Space を押して、すべてのテキストを表示できるようにウィンドウのサイズを変更します。

キー支援

Eclipse は、Eclipse ワークベンチ内で使用できる一連のキー・バインディングを提供します。Eclipse は、キー・バインディングを、コマンドを呼び出すコマンドとキーの組み合わせの関連付けとして定義します。 WebSphere Portlet Factory Designer での作業中に使用できる Eclipse キー・バインディングのリストを確認するには、「ヘルプ」 > 「キー補助機構 (Key Assist)」をクリックするか、Ctrl + Shift + L と入力します。Eclipse キー・バインディングの詳細については、ヘルプにある「Workbench User Guide」を参照してください。

キーボード・ナビゲーション

この製品では、標準の Windows ナビゲーション・キーが使用されています。 Eclipse におけるアクセシビリティー機能およびキーボード・ナビゲーションについては、ヘルプにある「Workbench User Guide」を参照してください。

メニュー

表 1 に示すように、キーボード・ナビゲーションを使用してメインメニューにアクセスできます。
表 1. メニューにアクセスするためのキーボードの組み合わせおよび関連アクション
キーボードの組み合わせ アクション
F10 メニュー・バー内のメニューにアクセスします
右矢印 メニュー・バー内を右にナビゲートします
左矢印 メニュー・バー内を左にナビゲートします
下矢印 選択したメニューのメニュー・オプションを下にナビゲートします
上矢印 選択したメニューのメニュー・オプションを上にナビゲートします
Shift + F10 現行ビューのコンテキスト・メニューを開きます
Ctrl + F10 現行ビューのドロップダウン・メニューを開きます
Alt + ニーモニック ニーモニックに対応する、メニュー・バー内のメニューおよびメニュー・オプションを開きます。

ビューおよびエディター

キーボード・ナビゲーションを使用して、すべてのビューおよびエディターの間でナビゲートできます。 ビューおよびエディターの間でナビゲートする場合、 WebSphere Portlet Factory Designer は最後に選択されていた項目を記憶しているため、必要に応じて 2 つの項目間を素早くナビゲートできます。 例えば、プロジェクト・エクスプローラーにフォーカスがあり、Builder 呼び出しエディターを開く場合、Ctrl + F7 を押してビュー・メニューをアクティブにし、ビュー・メニューから「エディター (Editor)」を選択します。 Builder 呼び出しエディターにフォーカスを変更した後、Ctrl + F7 を使用して、プロジェクト・エクスプローラーと Builder 呼び出しエディターの間で表示を切り替えることができます。

表 2. ビューおよびエディターをナビゲートするためのキーボードの組み合わせ
キーボードの組み合わせ アクション
Ctrl + F6 エディター・メニューをアクティブにし、開いているエディター間をナビゲートします
Ctrl + F7 ビュー・メニューをアクティブにし、開いているビュー間をナビゲートします
Ctrl + E エディターからエディター・ドロップダウン・メニューをアクティブにし、開いているエディター間をナビゲートします
Ctrl + Page Up、Ctrl + Page Down パースペクティブのモデル・エディター領域内で開いているタブ間をナビゲートします。

タブは、アプリケーション・ツリー・パネル上部のバーまたは Builder 呼び出しエディター下部のバーにあります。 このキーは、フォーカスがあるパネルのバーで機能します。

Alt + (-) ビュー・メニューをアクティブにし、ビュー・タブの移動、ビューのサイズ変更、ビューへの高速アクセス、ビューの切り離し、最小化、および最大化を行います
Alt + Page Up、Alt + Page Down Builder 呼び出しエディターの垂直スクロール・バーを上および下に 移動します。
Ctrl + Alt + Tab 左方のテーブルから右方の対応するフィールドに移動します。
Shift + Alt + Page Up、Shift + Alt + Page Down Builder 呼び出しエディターの水平スクロール・バーを左および右に 移動します。
下矢印 メニュー・オプションを下にナビゲートします
上矢印 メニュー・オプションを上にナビゲートします
右矢印 サブメニュー・オプションにナビゲートします
左矢印 サブメニューからメニュー・オプションにナビゲートします

Builder 呼び出しエディターの視認性

Builder 呼び出しエディターが読みづらい場合、フォントを大きくするか、画面解像度を下げてください。 それでも読みづらい場合は、Builder 呼び出しエディターを別のウィンドウで実行してください。

Builder 呼び出しエディターのデータ入力

キーボード・ナビゲーションを使用して、テーブル内でフォーカスを選択できます。 ただし、Builder 呼び出しエディターでテーブル内をナビゲートおよび編集する作業は、通常のテーブル・データを編集する作業とは異なります。 Builder 呼び出しエディター内で、テーブル・セル内の特定オプションを選択すると、新規の入力項目をテーブル外で使用可能にできます。 通常の使用状況では、フォーカスのあるセルをそのままにし、最初の新規入力項目にフォーカスを置きます。 テーブル内のセルから最初の新規入力項目にフォーカスを変更するために、Builder 呼び出しエディターは Ctrl + Tab の組み合わせをサポートしています。 これにより、Tab を複数回押してテーブル末尾までナビゲートしたり、最終行で下矢印を押してテーブルから出て、新規の入力項目にナビゲートしたりする必要がなくなります。 この組み合わせは、現在フォーカスのあるセル内で選択されたオプションに関連する最初の入力項目に、フォーカスを変更します。

表 3. Builder 呼び出しエディター・テーブルをナビゲートするためのキーボードの組み合わせ
キーボードの組み合わせ アクション
右矢印 現行フォーカスがセルの末尾にある場合、次のセルの先頭に移動します
左矢印 現行フォーカスがセルの先頭にある場合、前のセルの末尾に移動します
上矢印 現行フォーカスがセルの最初の行にある場合、上のセルに移動します
上矢印 現行フォーカスがテーブルの最初の行にある場合、テーブルを出ます
下矢印 現行フォーカスがセルの最後の行にある場合、下のセルに移動します
下矢印 現行フォーカスがテーブルの最後の行にある場合、テーブルを出ます
Tab 次のセルに移動します
Tab フォーカスがテーブルの最後のセルにある場合、テーブルに新規行を追加し、そのセルに移動します
Ctrl + Tab テーブルを出ます
Shift + Tab 前のセルに移動します (フォーカスが最初のセルにある場合、ナビゲーションは行われません)

キーボード・コマンドでインフォメーション・センターをナビゲートする

キーボード・コマンドを使用してヘルプ・システムをナビゲートする場合に、キーの組み合わせを使用します。

  • ヘルプ・ブラウザーのペイン内部から次のリンク、ボタン、またはトピック・ノードに移動するには、Tab キーを押します。
  • ツリーのノードを展開および省略表示するには、Ctrl+矢印キーおよび Ctrl+矢印キーを押します。
  • 次のトピック・ノードに移動するには、矢印キーまたは Tab キーを押します。
  • 前のトピック・ノードに戻るには、矢印キーまたは Shift+Tab キーを押します。
  • 先頭にスクロールするには Home キーを押し、最後にスクロールするには End キーを押します。
  • 戻るには Alt+矢印キーを押し、進むには Alt+矢印キーを押します。
  • 次のペインに進むには、Ctrl+Tab キーを押します。
  • 前のペインに戻るには、Shift+Ctrl+Tab キーを押します。
  • アクティブなペインを印刷するには、Ctrl+P キーを押します。

IBM サポートへの問い合わせ

IBM サポートは、IBM WebSphere Portlet Factory 製品の障害についての支援を提供します。

IBM サポートに問い合わせを行うには、会社に有効な IBM ソフトウェア保守契約が必要であり、連絡者は問題を IBM に送信することを許可されている必要があります。使用可能な保守契約のタイプの詳細については、次の場所にあるSoftware Support Handbookの『Support Portfolio』を参照してください。

http://techsupport.services.ibm.com/guides/services.html
問題について IBM サポートに問い合わせを行うには、次の手順を完了してください。
  1. 問題を定義し、背景情報を収集して、問題の重大度を判別します。

    ヘルプについては、Software Support Handbook の「Getting IBM Support」を参照してください。

    製品 wiki およびフォーラムにアクセスするには、Eclipse で、 WebSphere Portlet Factory パースペクティブで実行中に、「ヘルプ」 > 「IBM WebSphere Portlet Factory リソースへのアクセス」をクリックして、該当する選択項目をクリックします。

  2. 診断情報を収集します。
  3. WebSphere Portlet Factory サポート・サイトにアクセスします。
    そこで、複数の支援リソースが見つかります。
    • 最新のトラブルシューティング情報のリスト
    • フォーラムおよびコミュニティーへのリンク
    • サポート情報の検索ツール
  4. 問題を解決できない場合は、次のいずれかの方法で問題を IBM サポートに送信してください。
    • IBM Support Assistant (ISA) を使用。
    • サポート・サイトで、「サポート」 > 「SR」をクリックして電子 IBM サービス要求ツールを使用します。

    • サポート担当者に電話します。

      お客様の国の電話番号については、Software Support Handbook「Contacts」にアクセスしてください。

送信する問題がソフトウェアの障害あるいは文書の欠落または不正確である場合、IBM サポートはプログラム診断依頼書 (APAR) を作成します。APAR では、問題を詳細に記述します。IBM ソフトウェア・サポートは可能な限り、APAR が解決されて修正が配信されるまでお客様が実装できる次善策を提供します。IBM は、解決した APAR を IBM Support Web サイトに毎日公開して、同じ問題が発生した他のユーザーが同じ解決を利用できるようにしています。

インフォメーション・センター検索を改善する

インフォメーション・センターでの検索の質を改善するには、タスクの実行が必要である可能性があります。

IBM WebSphere Portlet Factory をインストールした場合、または既存の Eclipse にアップグレードした場合は、ヘルプの検索操作で新しいコンテンツにアクセスできるように、キャッシュされている検索索引を除去する必要がある可能性があります。
  1. Eclipse をシャットダウンします。
  2. Eclipse のインストール先に移動して次のフォルダーを検索します。
    /configuration/org.eclipse.help.base
  3. このフォルダーの内容を削除します。
次回、ヘルプでの検索を開始するときに、新しい検索索引が作成されます。

IBM WebSphere Portlet Factory Designer を開始する

WebSphere Portlet Factory Designer の開始手順は、Windows システムと Linux システムとで異なります。

  • Windows システムを使用している場合は、以下のステップを実行します。
    1. Microsoft Vista システムで作業している場合は、管理者アカウント権限で実行してください。

      WebSphere Portlet Factory Designer を実行しているユーザーは、管理者権限を持つ必要があります。

    2. 「スタート」 > 「プログラム」 > 「IBM WebSphere」 > 「Portlet Factory」 > 「Designer」をクリックします。

      これによって、自動的に Eclipse IDE が始動され、 WebSphere Portlet Factory Designer プラグインがロードされます。

      WebSphere Portlet Factory Designer プラグインを既存の Eclipse ベースの環境にインストールする場合、 WebSphere Portlet Factory Designer のインストール後に IDE を開始すると、「ソフトウェア更新 (Software Updates)」ダイアログが表示されます。

    3. オプション: 「ソフトウェア更新 (Software Updates)」ダイアログが表示されたら、以下のいずれかを実行します。
      • ソフトウェア更新を実行するには、「はい」を選択し、表示された最上位のチェック・ボックスを選択します。

        これにより、 WebSphere Portlet Factory Designer のウェルカム・ページが環境に追加されます。

      • 「いいえ」を選択すると、 WebSphere Portlet Factory Designer のウェルカム・ページは使用可能なウェルカム・ページのリストに表示されなくなります。
  • Linux システムを使用している場合は、以下のステップを実行します。
    1. WebSphere Portlet Factory Designer をインストールした場所にディレクトリーを変更します。
    2. その場所の下にある eclipse ディレクトリーから eclipse.exe 実行可能ファイルを実行します。

      このコマンドによって Eclipse IDE が始動され、 WebSphere Portlet Factory Designer プラグインがロードされます。

IBM WebSphere Portlet Factory のインストール

製品をインストールするには、プログラムを実行して、いくつかの質問に答える必要があります。

インストールが完了すると、Web アプリケーションの開発に使用できるさまざまな拡張機能をセットアップできます。

WebSphere Portlet Factory 製品インストール・ガイド

このガイドを使用して IBM WebSphere Portlet Factory バージョン 7.0 をインストールします。

1. インストールの概説

このガイドは WebSphere Portlet Factory に適用されますが、インストールには他製品のインストール作業も含まれる場合があります。

1.1 インストール・ステップ

インストールには、以下のステップが含まれます。
ステップ 1 - WebSphere Portlet FactoryDesigner をインストールする
インストール・プログラムを実行して、 WebSphere Portlet Factory Designer をインストールします。
ステップ 2 - Web アプリケーション・プロジェクトを作成してデプロイする
提供されたチュートリアルを使用して、アプリケーション・サーバーまたはポータル・サーバーにデプロイする Web アプリケーション・プロジェクトを作成します。

1.2 プリインストール情報

デフォルトのインストール選択内容には、サポートされる バージョンの Eclipse が含まれます。代わりに、以下のサポートされるバージョンの いずれかの IDE に WebSphere Portlet Factory を インストールすることもできます。

  • IBM Rational Application Developer
  • IBM Rational Software Architect
  • IBM Rational Web Developer
  • Eclipse (Eclipse SDK バージョンのみ)

インストールを行う前に、 IBM WebSphere Portal またはサポートされるアプリケーション・サーバーのいずれかをインストールする必要があります。 アプリケーション・サーバーのバージョンおよびパッチ・レベルについては、 製品のリリース情報に記載されているサポート対象プラットフォームのセクションを 参照してください。

注: WebSphere Portlet Factory を英語以外の言語を使用するシステム上の Rational IDE にインストールするには、まず installer.properties ファイルを編集し、PRODUCTREG_PATH= で始まる行に指定されているパッチを変更して、システム上のパッチを正確に指定する必要があります。

1.3 WebSphere Portlet Factory の既存のインストール

WebSphere Portlet Factory を既にインストールしている場合は、古いバージョンと同じディレクトリーに新しいバージョンをインストールしないようにしてください。

新しいバージョンを同じディレクトリーにインストールする場合は、以下のステップに従います。

  1. 既存のインストールのバックアップを検討
  2. 専用ファイル (SAP ライブラリーなど) をすべてバックアップ
  3. セクション 4 に詳細に説明されているプロセスを使用して古いバージョンを除去
  4. セクション 2 に詳細に説明されているプロセスを使用して新しいバージョンをインストール
  5. バックアップしておいた専用ファイルを、新しいインストール済み環境の正しいディレクトリーに移動

2. WebSphere Portlet Factory をインストールする

まず、次のいずれかにセクションで説明されている手順に従って、 目的のプラットフォームに WebSphere Portlet Factory をインストールします。

次に、WebSphere Portlet Factory 製品インストール・ガイドに説明されている手順に従って、製品を探索できます。

ステップ 1: Windows での WebSphere Portlet Factory のインストール

  1. Microsoft Vista システムで作業している場合は、管理者アカウント権限で実行してください。

    Microsoft Vista システムで WebSphere Portlet Factory Designer を実行するには、 管理者アカウント権限で実行するように WebSphere Portlet Factory をインストールする必要があり、このアプリケーションを実行するユーザーは、管理者権限を持つ必要があります。

  2. インストール実行可能ファイル (Factory.exe) を起動します。
  3. プロンプトが出されたら、製品に使用する言語を選択して、「OK」をクリックします。
  4. 著作権およびその他の情報とともに、紹介ページが表示されます。 インストールに進むには、「次へ」をクリックします。
  5. ご使用条件を読み、「使用条件の条項に同意します」を選択してインストールを続け、「次へ」をクリックします。
    注: ライセンス条項に同意しないと、インストールの終了を求めるプロンプトが出されます。
  6. 以下のオプションのいずれか 1 つを選択できます。
    • 標準インストールでは、すぐに開始するために必要なすべてのものが提供されます

      Eclipse および IBM WebSphere Application Server Community Edition を WebSphere Portlet Factory のインストール環境に 組み込むには、このオプションを選択します。 このオプションを選択すると、インストール・プログラムは Eclipse、 WebSphere Portlet Factory Designer、および WebSphere Application Server Community Edition (WAS CE) をインストールします。このオプションを選択した場合は、ステップ 9 にスキップします。

    • カスタム・インストールでは、機能およびインストール・オプションを選択できます (Custom installation enables you to choose features and installation options)

      ソフトウェアのオプションとインストール場所を詳細に指定する必要があるときは、このオプションを選択します。

      「インストール・ディレクトリーを選択します」フィールドで、 WebSphere Portlet Factory ファイルをインストールする場所を指定し、「次へ」をクリックします。

  7. 「インストール項目の指定」画面で、 WebSphere Portlet Factory Designer で使用する統合開発環境 (IDE) を選択します。 以下のオプションのいずれか 1 つを選択できます。
    • Eclipse の新規コピーとともに Designer をインストール
      IDE がない場合は、このオプションを選択します。 このオプションを選択すると、インストール・プログラムは Eclipse および WebSphere Portlet Factory Designer をインストールします。
      注: このオプションを 選択した場合は、Eclipse が既にインストールされているディレクトリーを選択すると、 警告メッセージが表示されます。インストールを続行するには、 別のディレクトリーを選択してください。
    • 既存の IBM Rational Application Developer へインストール*

      既にインストールされている Rational Development Environment を使用する場合は、このオプションを選択します。 これには、Rational Application Developer、Rational Software Architect、および Rational Web Developer を含みます。インストール・プログラムは、 WebSphere Portlet Factory 固有のメニュー項目を、現行バージョンの Rational Development Environment に追加します。

    • 既存の Eclipse へインストール

      既にインストールされている Eclipse ベースの IDE のバージョンを使用する場合は、このオプションを選択します。 インストール・プログラムは、 WebSphere Portlet Factory Designer 固有のメニュー項目を、現行バージョンの Eclipse IDE に追加します。

  8. 「IDE の指定」画面で、IDE の場所を指定し、「次へ」をクリックします。場所を参照する場合は、「選択」をクリックします。
  9. IBM WebSphere Application Server Community Edition (WAS CE) をインストールするオプションが表示されます (Windows のみ)。 WebSphere Application Server CE は Apache Geronimo をベースにしたオープン・ソースの Java 2 Platform、Enterprise Edition (J2EE) アプリケーション・サーバーです。 WebSphere Application Server CE を使用することで、 アプリケーションを迅速かつ簡単に開発およびテストできます。 WebSphere Application Server CE をインストールする場合は、「開発テスト・サーバーとして WAS CE をインストール」をクリックして、インストール場所を選択します。
    注: WebSphere Application Server Community Edition は、 WebSphere Portlet Factory Designer を使い始めることのみを目的として、アプリケーションを迅速かつ簡単に開発およびテストできるようにするために提供されています。ターゲットの実動デプロイメント・プラットフォームと一致するローカル開発環境を使用するのが最善の方法です。(例えば、アプリケーションを最終的に IBM WebSphere Portal にデプロイして実動させる予定の場合は、ローカル開発環境として IBM WebSphere Portal を使用する必要があります。)
    デフォルトでは、 WebSphere Application Server CE は「すべてのプログラム」 > 「IBM WebSphere」 > 「Application Server Community Edition」のショートカットでインストールされます。 デフォルトのユーザー名とパスワードは、system および manager です。
  10. 「プリインストール要約」画面で、すべての情報が正しいことを確認し、「インストール」をクリックします。 インストール進行画面が表示され、インストールが完了すると「インストール完了」画面が表示されます。
  11. 「完了」をクリックして、Factory インストーラーを閉じます。

    ブラウザーが開き、次のステップについての情報が記載されたウェルカム・ページが表示されます。 インストールが正常に完了すると、インストール・ログが インストール場所 (C:¥Program Files¥IBM¥WebSphere Portlet Factory など) に作成されます。

  12. 既存の Eclipse ベースの WebSphere Portlet Factory Designer インストール済み環境にインストールした場合は、前のバージョンの WebSphere Portlet Factory に上書きインストールする際に WebSphere Portlet Factory Designer プラグインをアップグレードする必要があります。 プラグインをアップグレードするために必要な手順については、 『付録 A』を参照してください。

ステップ 1: Linux での WebSphere Portlet Factory のインストール

WebSphere Portlet Factory をインストールする前に、 以下をインストールする必要があります。

  • アプリケーション・サーバー (例えば、Tomcat、WAS CE、 IBM WebSphere Portal など)
  • Eclipse (Web ツールを含む) または Rational Application Developer。サポートされる Eclipse の リリースについては、 WebSphere Portlet Factory の リリース情報を参照してください。

Linux 上の既存の Rational Application Developer または Rational Software Architect インストール済み環境に WebSphere Portlet Factory をインストールする場合は、WebSphere Portlet Factory 製品インストール・ガイドで説明されている手順に従ってください。

  1. WebSphere Portal にデプロイする場合は、適切な許可を 設定します。 以下の手順を実行してください。
    1. ユーザーのグループを作成します。例えば wpfDev などです。このグループは、 WebSphere ディレクトリーへの書き込み権限を持ちます。
    2. WebSphere Application Server が実行された状態で、 管理コンソールを開き、以下のようにナビゲートします。「アプリケーション・ サーバー (Application servers)」 > 「WebSphere_Portal」 > 「プロセス実行 (Process Execution)」umask 値を 002 に 変更します。「グループとして実行 (run as group)」wpfDev に 変更します。server1 についても同じ手順を実行します。

      これにより、ポータル・サーバーへのファイル権限を変更することができます。 ポータル・サーバーによって書き込まれたファイルはいずれも、ポータル・ユーザーおよびグループ (ポータル・ユーザーが属する) からの読み取り/書き込み実行を許可しています。

    3. WebSphere Portal サーバーを停止します。
    4. 自身を、新しく作成されたグループ (この例では wpfDev) のメンバーにします。
    5. コマンド行から root として次のコマンドを実行します。
      chgrp -R wpfDev <WP_INSTALL_DIR>/AppServer/ 
      chgrp -R wpfDev <WP_INSTALL_DIR>/PortalServer/  
      グループによるディレクトリーへの書き込みができない場合は、 次のコマンドを実行します。
      chmod -R g+w <WP_INSTALL_DIR>/AppServer/ 
      chmod -R g+w <WP_INSTALL_DIR>/PortalServer/

      これによって、WAR ファイルをデプロイした後にそのフォルダーへの書き込みアクセスが許可されます。

    6. WebSphere Portal サーバーを再始動します。
  2. インストーラー ./Factory.bin を起動します。インストーラーによって、スペースやその他の前提条件が検査され、最初のパネルが表示されます。
  3. プロンプトが出されたら、製品に使用する言語を選択して、「OK」をクリックします。
  4. 著作権およびその他の情報とともに、紹介ページが表示されます。 インストールに進むには、「次へ」をクリックします。
  5. ご使用条件を読み、「使用条件の条項に同意します」を選択してインストールを続け、「次へ」をクリックします。
    注: ライセンス条項に同意しないと、インストールの終了を求めるプロンプトが出されます。
  6. 「インストール・フォルダーの選択」画面で、 WebSphere Portlet Factory ファイルをインストールする場所を指定し、「次へ」をクリックします。
  7. Eclipse (Web ツール付き) をインストールする場所を指定し、「次へ」をクリックします。Rational Application Developer を使用する場合は、デフォルトを選択し、「次へ」をクリックします。
  8. 「プリインストール要約」画面で、すべての情報が正しいことを確認し、「インストール」をクリックします。 インストール進行画面が表示され、インストールが完了すると「インストール完了」画面が表示されます。
  9. 「完了」をクリックして、Factory インストーラーを閉じます。

    ブラウザーが開き、次のステップについての情報が記載されたウェルカム・ページが表示されます。 インストールが正常に完了すると、インストール・ログがインストール場所 (例えば、/root/IBM/ など) に作成されます。

Linux 上の Rational Application Developer/Rational Software Architect への WebSphere Portlet Factory のインストール

Linux システム上の既存の Rational Application Developer/Rational Software Architect インストール済み環境 に WebSphere Portlet Factory をインストールする場合は、以下の手順を実行します。
  1. WebSphere Portal にデプロイする場合は、適切な許可を 設定します。 以下の手順を実行してください。
    1. ユーザーのグループを作成します。例えば wpfDev などです。このグループは、 WebSphere ディレクトリーへの書き込み権限を持ちます。
    2. WebSphere Application Server が実行された状態で、 管理コンソールを開き、以下のようにナビゲートします。「アプリケーション・ サーバー (Application servers)」 > 「WebSphere_Portal」 > 「プロセス実行 (Process Execution)」umask 値を 002 に 変更します。「グループとして実行 (run as group)」wpfDev に 変更します。server1 についても同じ手順を実行します。

      これにより、ポータル・サーバーへのファイル権限を変更することができます。 ポータル・サーバーによって書き込まれたファイルはいずれも、ポータル・ユーザーおよびグループ (ポータル・ユーザーが属する) からの読み取り/書き込み実行を許可しています。

    3. WebSphere Portal サーバーを停止します。
    4. 自身を、新しく作成されたグループ (この例では wpfDev) のメンバーにします。
    5. コマンド行から root として次のコマンドを実行します。
      chgrp -R wpfDev <WP_INSTALL_DIR>/AppServer/ 
      chgrp -R wpfDev <WP_INSTALL_DIR>/PortalServer/  
      グループによるディレクトリーへの書き込みができない場合は、 次のコマンドを実行します。
      chmod -R g+w <WP_INSTALL_DIR>/AppServer/ 
      chmod -R g+w <WP_INSTALL_DIR>/PortalServer/

      これによって、WAR ファイルをデプロイした後にそのフォルダーへの書き込みアクセスが許可されます。

    6. WebSphere Portal サーバーを再始動します。
  2. WebSphere Portlet Factory ユーザーの ユーザー・アカウントで WebSphere Portlet Factory を インストールします。

    Eclipse のインストール先は、ユーザー・アカウントが 書き込みアクセス権を持つディレクトリーでなければなりません。 Rational Application Developer の インストール先とは別の場所を選択する必要があることがあります。この場所に 事前に Eclipse が存在していなくても構いません。

  3. 直前のステップで Eclipse を Rational Application Developer の インストール先にインストールすることにした場合は、このステップを スキップしてください。

    以下のいずれかのステップを実行します。

    • Rational Application Developer の インストール先に対する書き込み特権を持つアカウントを使用して、 インストーラーによって作成された links ディレクトリーを Rational Application Developer の インストール先の正しいディレクトリーにコピーします。

      links フォルダーは、 Rational Application Developer インストール・ディレクトリーの すぐ内側になければなりません。

    • WebSphere Portlet Factory リンク・ファイル・ディレクトリーを、 Rational Application Developer 内に 以前に作成された links ディレクトリーに直接コピーすることもできます。
  4. root (または Rational Application Developer の 所有者) として -clean フラグを指定して Rational Application Developer を 開始し、 WebSphere Portlet Factory がインストールされていることを 確認します。

    「ヘルプ」 > 「バージョン情報 (About)」を 使用して、 WebSphere Portlet Factory ボタンが 表示されることを確認します。

  5. 直前のステップでユーザーでなかった場合は、 WebSphere Portlet Factory ユーザーとして -clean フラグを 指定して Rational Application Developer を再始動し、 直前のステップと同様に確認します。
  6. WebSphere Portlet Factory ユーザーとして 通常の方法で Rational Application Developer を 再始動します。

    このとき、-clean フラグを 使用する必要はありません。

コマンド行からのサイレント・インストール

事前構成したプロパティー・ファイルを使用して、 WebSphere Portlet Factory のサイレント・インストールを実行できます。 このファイルの場所を以下に示します。
config/win_silent_install.properties
config/linux_silent_install.properties
必要なファイルをインストール環境に合わせて編集します。
注: サイレント・インストールを正常に機能させるには、 ご使用条件のプロパティーに true を設定する必要があります (ご使用条件に同意する場合)。 現在、サンプル応答ファイルのこの値には、デフォルトで false が設定されています。
# ご使用条件。詳しくは、資料を参照してください。
LICENSE_ACCEPTED=false
  1. 応答ファイルの場所を示します。Windows では、コマンド行を開いて c:¥Factory.exe -f c:¥config¥win_silent_install.properties と入力します (Linux では、sh ./Factory.bin -f /config/linux_silent_install.propertiesと入力)。このパスは、絶対パスでもインストーラーの場所に対する相対パスでもかまいません。
  2. インストールをサイレント・モードで実行します。
    • Windows では、コマンド行を開いて、次のように入力します。
      Factory.exe -i Silent -f config¥win_silent_install.properties
    • Linux では、次のように入力します。
      ./Factory.bin -i Silent -f config/linux_silent_install.properties

インストーラーは、ユーザーに出力を一切表示することなく、すべてをターゲット・ロケーションにインストールします。インストーラー・ディレクトリーのルートにログ・ファイルが 作成されれば、インストールは完了です。

ステップ 2 - チュートリアルを実行する: Web アプリケーション・プロジェクトを作成する

WebSphere Portlet Factory Designer を正常にインストールした後は、新規プロジェクトを作成する必要があります。 プロジェクトを作成するときは、インストール済み環境に関する、アプリケーション・サーバー固有の情報およびポータル・サーバー固有の情報を指定します。 このプロセスによって、 WebSphere Portlet Factory インストールのデプロイメント・フェーズが完了します。

WebSphere Portlet Factory Designer には、プロジェクトの作成を支援する新規プロジェクト・ウィザードが用意されています。 この複数ページのウィザードは、プロジェクトの作成およびデプロイメントに必要なステップをウォークスルーし、 プロジェクトのビルドも自動的に行います。 ウィザードの各ページでは、プロジェクトの設定値とパラメーターを説明する F1 ヘルプが使用できます。 特定のページでの設定値について調べたり、追加情報へのリンクにアクセスしたりするには、F1 ヘルプを参照してください。

最初のプロジェクトを作成する場合に最も良い方法は、このプロセスを説明するチュートリアルを実行することです。 Windows クライアントをご利用の場合、このチュートリアルは、 ウェルカム・ページまたは「スタート」から利用可能です。 「スタート」 > 「すべてのプログラム」 > 「IBM」 > 「WebSphere Portlet Factory」 > 「チュートリアル」をクリックします。Linux クライアントをご利用の場合は、このチュートリアルは WebSphere Portlet Factory ヘルプ・システムから利用可能です。

3. インストール情報

IBM WebSphere Application Server のクラス・ロード順序の設定、または IBM WebSphere Portal の追加構成のステップが必要な場合があります。

3.1 WebSphere Portal の構成

WebSphere Portal 6 では、以下の追加構成ステップが必要です。

ヒープ・サイズを構成します。

WebSphere Portal 6 は、デフォルトでヒープの最大許容サイズを 512 MB に設定されています。 この最大値を 1 GB まで増加させます。

ヒープ・サイズを設定するには、WebSphere 管理コンソールを使用します。 ヒープ・サイズの構成方法の詳細については、WebSphere 管理コンソールのヘルプを参照してください。

3.2 Apache Tomcat

WebSphere Portlet Factory Designer の「新規 WebApp プロジェクト」ウィザードの実行後、Tomcat を再始動します。これによって、すべてのライブラリーが正しくロードされます。

3.3 Eclipse 用の各国語サポート

WebSphere Portlet Factory Designer では、ドイツ語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語 (ブラジル)、中国語 (繁体字)、中国語 (簡体字) の各言語がサポートされています。

英語以外の言語で WebSphere Portlet Factory Designer を使用するには、Eclipse Web サイトから言語パックをダウンロードし、このパックを Eclipse IDE にインストールする必要があります。 グループ 1 言語サポートを使用可能にするには、以下のようにします。

  1. WebSphere Portlet Factory Designer を停止します。
  2. Eclipse.org Web サイトのホーム・ページにアクセスし、「Downloads」 > 「All Versions」 > 「3.2 Language Packs」とナビゲートします。
  3. 「Language Packs: 3.2.x」画面で、Windows プラットフォーム用の NL-1 パックの ZIP ファイルをダウンロードします。

    2 つの ZIP ファイルが必要です。

  4. これらのアーカイブ・ファイルを Eclipse インストール済み環境に解凍し、正しいディレクトリー・レベルを使用していることを確認します。
  5. WebSphere Portlet Factory Designer を始動します。
    Microsoft Windows が英語以外のグループ 1 言語を使用するよう構成されている場合、Eclipse はこの言語で実行できるようになります。
    注: プロジェクト名やパス内のフォルダー名には、マルチバイト文字を使用できません。
  6. オプション: Eclipse を任意のグループ 1 言語で実行するよう強制するには、Eclipse 開始コマンドに言語 ID を追加します。
    例えば、開始コマンドに以下の ID を追加すると、システムで使用するよう構成されている言語に関係なく、スペイン語で Eclipse を実行できます。
    -Duser.language=es -Duser.country=ES
    注: 同じ言語が IBM Rational Application Developer でも サポートされています。言語サポートを Application Developer に インストールする場合は、インストール・マネージャーを 使用してください (または Application Developer の インストール時にインストールしてください)。言語サポートの インストールについては、 Application Developer の資料を 参照してください。

3.4 Linux の場合の Eclipse の 2 バイト言語の問題

WebSphere Portlet Factory を 2 バイト言語の Linux に インストールした場合に、正しいフォントが表示されないことがあります。以下の解決策を行ってください。
  • 使用する言語に応じた使用可能なフォントをすべてインストールします。
  • 選択した言語と互換性があるシステムの JRE でインストーラーを 開始します。次に例を示します。
    /Factory.bin LAX_VM $JAVA_HOME/bin/java 
注: 同じ言語が IBM Rational Application Developer でも サポートされています。言語サポートのインストールについては、 Application Developer の 資料を参照してください。

4. IBM WebSphere Portlet Factory を除去する

WebSphere Portlet Factory 製品インストール・ガイド または WebSphere Portlet Factory 製品インストール・ガイド (使用しているクライアント・プラットフォームによる) のステップと、その後 WebSphere Portlet Factory 製品インストール・ガイド に従って、 WebSphere Portlet Factory Designer ファイルとプロジェクト WAR ファイルを削除します。

4.1 Windows 用 WebSphere Portlet Factory Designer を除去する

  1. Windows の「コントロール パネル」を使用して「プログラムの追加と削除」にアクセスします。
  2. アンインストールする製品を選択し、「変更と削除」をクリックします。
  3. 「アンインストール」ウィンドウが表示されたら、「アンインストール」をクリックします。

    製品ファイル、レジストリー項目、およびショートカットがシステムから除去されます。

    注: WebSphere Portlet Factory をアンインストールする一方で、 WebSphere Application Server Community Edition はアンインストールしないことができます。 次に、新規バージョンの WebSphere Portlet Factory をインストールする一方で、 WebSphere Application Server Community Edition をインストールしないことができます (既に 1 つのバージョンが存在しているため)。 「スタート」メニューまたは WebSphere Portlet Factory のいずれかから WebSphere Application Server Community Edition を 実行すると、 WebSphere Application Server Community Edition で java.exe ファイルを見つけることができないという エラーが表示されます。
    この問題を避ける には、ファイル ¥wasceInstallDir¥bin¥setenv.bat を開き、 次の行を編集します。
    set WASCE_JAVA_HOME=
    この値に、システム上の JRE を 設定します。例えば、Eclipse にインストールされている JRE (C:¥Program Files¥eclipse¥jre) を使用します。

4.1.1 Linux 用 WebSphere Portlet Factory Designer を除去する

Linux インストールの場合は、インストーラーによって作成された特定のファイルとディレクトリーを手動で除去する必要があります。
  1. Designer ディレクトリーと、インストール・ディレクトリー内のログ・ファイルを削除します。
  2. 必要に応じて <original install directory>/license ディレクトリーを削除します。
  3. com.bowstreet.designer.link という WebSphere Portlet Factory リンク・ファイルを 削除します。このファイルは <IDE_INSTALL_DIR>/links ディレクトリーにあります。 例えば、/opt/IBM/SDP75/links などです。

4.2 プロジェクト WAR ファイルを除去する

  1. アプリケーションおよびポータル・サーバー管理ツールを使用して、 インストール可能な WAR ファイルおよびインストールされている WAR ファイルを除去します。
  2. 管理ツールはインストールされたアプリケーションのみを削除するため、残りのアプリケーションやポートレット関連ディレクトリーおよびファイルを手動で削除する必要があります。

5. プラグイン・ファイル、プロジェクト、およびポートレットをアップグレードする

このセクションでは、以前のバージョンがインストールされた IDE (Eclipse または IBM Rational) に新規バージョンの WebSphere Portlet Factory をインストール済みである場合に、IBM WebSphere Portlet Factory プラグイン・ファイルをアップグレードするのに必要な手順を説明します。 また、本セクションでは、前のバージョンの WebSphere Portlet Factory Designer でビルドされたプロジェクトを最新のプロジェクト・バージョンに更新する方法についても説明します。 最後に、このセクションで、ポートレットを Java ポートレット標準 API に アップグレードする方法について説明します。

5.1 バージョン 5.12、6.0.0、6.0.1、6.0.2、6.1.0、6.1.2、および 6.1.5 からプロジェクトをアップグレードする

「フラット」なプロジェクトをアップグレードするときには、 新しいプロジェクトを作成し、「エクスポート (Export)」 > 「WebSphere Portlet Factory アーカイブ」機能を使用して コンテンツをマイグレーションします。フラット・プロジェクトは、WebContent ディレクトリーのない 5.12 または 6.0 プロジェクトです。フラット・プロジェクトをアップグレードする場合、ファセット・サポートの追加の恩恵を受けられなくなります。

古いプラグイン・ファイルを使用して作成したすべてのプロジェクトを変更して、 そのプロジェクトが新しいプラグイン・ファイルおよび機能セットに関連する変更を組み込めるようにする必要があります。 プロジェクトをアップグレードするには、以下を実行します。
  1. 既存のプロジェクトを WebSphere Portlet Factory Designer で開きます。
  2. プロジェクト・エクスプローラーでプロジェクトを右クリックし、「WebSphere Portlet Factory プロジェクト」 > 「プロジェクト・バージョンのアップグレード」をクリックします。
  3. 要約情報が表示されます。「次へ」をクリックします。
  4. 必要に応じて、このプロジェクトのデプロイメント情報を更新します。 デプロイメント構成を確認し、アップグレード・ウィザードで「完了」をクリックします。
  5. アップグレード・プロセスが完了する前に、変更されたプロジェクトの WebSphere Portlet Factory ファイルを上書きするプロンプトが出されます。ファイルには、 WebSphere Portlet Factory 機能によって変更されたものが含まれますが、手動で変更されたファイルが含まれるとは限りません。
  6. プロジェクトをサーバーに再デプロイする必要があります。 再デプロイのプロンプトが表示されたら、「はい」をクリックします。
  7. ワークスペースのプロジェクトを右クリックします。
  8. 「プロパティー」 > 「WebSphere Portlet Factory プロパティー」 > 「機能情報」をクリックします。
  9. 「インストール済み機能セットをリフレッシュ」を 設定し、「OK」をクリックします。

/WEB-INF/work/lib に追加した何らかの JAR ファイルがある場合は、 プロジェクトのアップグレード後に、それらを手動でビルド・パスに追加する必要があります。

5.2 Java ポートレット標準 API へのポートレットのアップグレード

WebSphere Portal 6 では、WebSphere ポートレット用の Java Portlet Standard API のサポートがあります。前のバージョンの WebSphere Portal で使用するために設計され、推奨されない WebSphere ネイティブ・ポートレット API を使用してビルドされたポートレットは、引き続き WebSphere Portal 6 で実行できますが、新規ポートレットについては、Java Portlet Standard API を使用してビルドすることをお勧めします。

推奨されない WebSphere ネイティブ・ポートレット API を使用してビルドされたポートレットは、Java Portlet Standard API に簡単にアップグレードできます。 それには、ポートレット・モデルが含まれるプロジェクトを変更する必要があります。
注: 既にプロジェクトをアップグレードした場合は、以下の手順で 古い WAR をアンインストールし、Java ポートレット標準 API の デプロイ構成を使用するようにプロジェクトを更新することによって プロジェクトを Java ポートレット標準 API の ポータル・デプロイ構成に切り替えることで、Java ポートレット標準 API に 切り替えることができます。プロンプトが出されたら、再デプロイします。

新規 Java Portlet Standard API を使用するように、前のバージョンの WebSphere Portlet Factory でビルドされたポートレットをアップグレードするには、次のステップを実行します。

  1. ポートレット・モデルが含まれるプロジェクトを WebSphere Portlet Factory Designer にロードします。
  2. プロジェクトを選択し、「WebSphere Portlet Factory プロジェクト」 > 「プロジェクト・バージョンのアップグレード」をクリックします。
  3. WebSphere Portlet 管理ツールを使用して、 WebSphere Portal サーバーから古いポートレット WAR ファイルを除去します。
    (既にプロジェクトをアップグレードした場合は、 プロジェクトを Java ポートレット標準 API の ポータル・デプロイ構成に切り替えた後、Java ポートレット標準 API の デプロイ構成を使用するようにプロジェクトを更新し、プロンプトが出されたら 再デプロイします。)
  4. WebSphere Portlet Factory Designer で、「プロジェクト・デプロイメント構成」ダイアログを使用して、更新されたポートレット WAR ファイルを WebSphere Portal サーバーにデプロイします。
  5. WebSphere 管理ツールを使用して、更新済みのポートレットを WebSphere Portal ページに配置します。

5.3 ポートレット・モデルの再生成

Cooperative Portlet Source Builder または Cooperative Portlet Target Builder を使用するモデルがあり、プロジェクトで Java ポートレット標準 2.0 API (JSR 286) を使用する場合は、モデルを再生成します。

これらの手順は、 前のリリースの WebSphere Portlet Factory には存在しない新規イベント・メタデータを取り込むために必要です。

  1. プロジェクト内の Cooperative Portlet Source Builder または Cooperative Portlet Target Builder を含む各モデルについて、モデルを開きます。
  2. 強制的に再生成します。

    例えば、「モデル」 > 「モデルの生成」をクリックするか、またはいずれかの Builder を開いて「OK」をクリックします。

  3. モデルを保存し、プロジェクトを再度公開またはエクスポートします。

この手順によって、新規イベント・メタデータが取り込まれます。

5.4 IBM Tivoli License Manager による追跡を使用可能にする

IBM Tivoli License Manager (ITLM) は、システムにインストールされて使用される製品とそのバージョン、リリース、およびフィックスパックを認識し、モニターします。 これにより、IBM はお客様ごとにインストール済み製品について更新を通知し、製品およびその使用量に対する請求を適切に行うことができます。 また、さまざまな IBM ソフトウェア・パッケージとともにバンドルされている同一製品の複数インストールに対して請求することも回避されます。

IBM WebSphere Portlet Factory を使用して作成されたアプリケーションおよびポートレット WAR ファイルの 使用状況は、Tivoli License Manager を使用してモニターおよび追跡できます。 この機能を使用可能にするには、 WebSphere Portlet Factory によって作成され、Tivoli License Manager が認識できる特定ファイルを、アプリケーションまたはポートレット EAR ファイルのルート・レベルに配置する必要があります。

Tivoli License Manager の使用状況の追跡を使用可能にするには、以下の操作を実行します。

WEB-INF¥bin¥itlm¥ ディレクトリーとそのすべての内容を、デプロイされた EAR ファイルのルートにドラッグします。
注: WEB-INF¥bin¥itlm¥ ディレクトリーが 1 つの場所にのみ存在することを確認してください。 このディレクトリーの複数のコピーが EAR ファイルに存在する場合、二重使用のエラーが表示されます。
注: WEB-INF¥bin¥itlm¥ ディレクトリーを EAR ファイルのルートに移動しない場合のみ、Tivoli License Manager はインベントリー追跡を行います。
Tivoli License Manager の使用に関する詳細については、ご使用の IBM WebSphere Portal の資料を参照してください。

6. インストール中に JAWS For Windows を使用する

WebSphere Portlet Factory をインストールしてアクセシビリティーのために JAWS スクリーン・リーダーを使用する場合は、次の追加ステップを実行してインストールを正常に開始する必要があります。

システムに Java Access Bridge for Microsoft Windows Operating System ソフトウェアをインストールする必要があります。Java Access Bridge for Microsoft Windows Operating System は、Sun Microsystems, Inc, Copyright (c) 2006 Sun Microsystems, Inc. が提供しています。
次のコマンドを使用して WebSphere Portlet Factory のインストールを開始します。
Factory.exe LAX_VM installDir-for-java¥java.exe
installDir-for-java¥ はローカルの Java インストール・ディレクトリーです。
このコマンドにより、Java Access Bridge とともに機能する、指定した JVM がインストールで強制的に使用されます。

IBM Lotus Expeditor 6.1.1 のインストールとセットアップ

Web 変換機能は、 IBM Lotus Expeditor (XPD) 6.1.1 が動的 JSP をサポートできるようにするために使用します。

以下の説明は、便宜上の補足資料としてのみ提供されています。これらは、 IBM Lotus Expeditor および IBM Lotus Notes® 8 の開発者マニュアルと管理者マニュアルに置き換わるものではありません。

IBM Lotus Expeditor (XPD) 6.1.1 をインストールし、Web 変換機能によって動的 JSP をサポートできるようにします。

  1. IBM Lotus Expeditor 6.1.1 をインストールします (デフォルトを選択)。
  2. IBM Lotus Expeditor 6.1.1 クライアントを始動します。
  3. 「ファイル」 > 「アプリケーション」 > 「インストール」をクリックします。
  4. 新規のローカル更新サイトを作成し、 IBM Lotus Expeditor DRE の製品メディアから updates¥client ディレクトリーを指します。
  5. 「完了」をクリックします。
  6. DRE の更新サイトのランタイム・カテゴリーから「コア JVM 機能 - J2SE 機能」を選択します。
  7. 「完了」をクリックしてこの機能のインストールを完了し、再始動を求められたときは再始動します。
  8. 「完了」をクリックします。
  9. 更新サイトのランタイム・カテゴリーから、「Web コンテナー - JSP コンパイラー・ブリッジ」および「Eclipse Java 開発ツール」機能を選択します。
これで、ご使用の IBM Lotus Expeditor 6.1.1 で動的 JSP をサポートできます。

統合拡張機能の概要

IBM WebSphere Portlet Factory では、バックエンド・システムとの間で、いくつかの統合を行うことができます。

他の機能セットを追加するように、プロジェクトに統合拡張機能を追加できます。 これにより、拡張機能で提供される Builder を使用できます。

ただし、拡張機能を使用するには、関連する概要トピックで説明されている必要なインストール、構成、およびセットアップ手順を実行する必要があります。

Lotus コラボレーション拡張機能

この『入門ガイド』では、Lotus コラボレーション拡張機能について説明します。

入門ガイド

このパッケージは、 IBM Lotus Domino コンポーネントおよびサービスに関する強力な Lotus Domino View and Form Builder とその他複数の Builder を提供することによって、 WebSphere Portlet Factory の機能と柔軟性を拡張します。

この機能セットには、リモート側での Domino エージェントの呼び出しと実行、 および LTPA トークンや IBM WebSphere Portal Server クリデンシャルなどの追加セキュリティー・スキームの使用をサポートするための 機能も組み込まれています。どちらも、ポートレット・ユーザーのシングル・サインオンを使用可能にします。

このパッケージで作成するポートレットおよびウィジェットでは、チャット、E メール、プロファイル・ディスカバリー、 および作成者/文書の検索など、Lotus コラボレーション・サービスを利用するための認識機能を取り込むこともできます。さらに、ポートレットおよびウィジェットをカスタマイズするための WebSphere Portlet Factory 固有の機能を使用すれば、必要なビューおよびコラボレーション機能のみをユーザーに提供するカスタム・ポートレットまたはウィジェットを作成することができます。

1 インストール情報

他の機能セットと同じように、このコラボレーション・パッケージをインストールします。

注: アプリケーション・サーバーの設定値によっては、すべての機能セット・ファイルを正しく登録するためにサーバーを再始動しなければならない場合があります。すべてのファイルが WebSphere Portlet Factory Designer によって正しく選択されるようにするには、この機能セットをインストールした後に WebSphere Portlet Factory Designer を終了して再始動してください。

2 構成の要件

2.1 Domino サーバー・プロパティー・ファイル

便宜上、Domino サーバー設定値を設定および制御するためのプロパティー・ファイルを セットアップすることができます。 このファイルは、Lotus Domino Data Access Builder または Lotus Domino View and Form Builder で選択されると、Domino サーバーへの接続設定値の設定に使用されます。

このファイルは、プロジェクトの WEB-INF/config/domino_config ディレクトリーにあります。 このプロパティー・ファイルは、Domino サーバーの名前や有効な Domino ユーザー名およびパスワードなどの、 基本的な Domino 接続プロパティーを指定するために使用されます。 標準的な Domino プロパティー・ファイルには、domino.properties という名前が付けられていて、以下の項目が含まれています。

# Domino application server
ServerName=
# Domino User Name
UserName=
# Domino Password
PassWord=
# Domino server http port
# The http port is used when the builder is configured to retrieve rich rext items as HTML.
# The Domino Attachment builder also uses these values when creating http
# links to attachments in the documents.
DominoHttpPort=80
# SSL Settings
# When rich text items are fetched as HTML, relative urls to Domino resources (images,
# other documents, etc.) in the html are converted to absolute URLS to the Domino 
# resource. Thus, the browser will request these resources using the absolute URL.
# If the absolute URLS to Domino resources should use https, set DominoConvertAbsUrlsToSSL
# to true. Also set DominoHttpsPort to your Domino server's https port.
# The Domino Attachment builder will also use these properties when forming
# the URL to the attachment.
DominoConvertAbsUrlsToSSL=true
DominoHttpsPort=443
# If the application on the application server should use https when fetching rich text 
# items from Domino's web server, set the following property to true.
# Note: if this property is true, the certificate from Domino's web server will need
# to be added to your application server JVM's cacerts file.  
DominoUseHttps=false
デフォルトの Dominoserver.properties ファイルは、Lotus コラボレーション拡張機能の機能セットとともにインストールされます。このファイルは、WEB-INF/config/domino_config ディレクトリーにあります。 このファイルは、基本的な Domino 設定値を設定する場合に使用します。
注: このファイル内の設定値は、Lotus Domino Data Access Builder および Lotus Domino View and Form Builder で使用可能な「接続オーバーライド」設定値を使用してオーバーライドできます。
注: WebContent/WEB-INF/config ディレクトリーはデフォルトでは除外されたリソースのため、チームのファイルおよびディレクトリー除外をオーバーライドして、新規または変更されたファイルがソース制御ストレージで更新されている状態にしておく必要があります。

2.2 Domino サーバー構成

このパッケージおよびこのパッケージに含まれている Builder を使用するには、Domino サーバーへの IIOP (Internet Inter-Orb Protocol) アクセスが必要です。詳しくは、Domino のヘルプを参照してください。

「認識」機能をアクティブにするには、 IBM WebSphere Portal Server Extend または WebSphere Portal Experience 製品が稼働していて、これらの製品のコラボレーション・コンポーネントが Domino サーバーで正しく構成および実行されている必要があります。 このコンポーネントには、Sametime® (チャット用) と Discovery (ユーザー・プロファイル表示用、 作成者/文書の検索用、およびメール用) の一方または両方が含まれています。

このパッケージ内のコンポーネントをサポートする Lotus コラボレーション製品を確認するには、この製品のリリース情報を参照してください。

2.3 Domino セキュリティー設定

Lotus Domino View and Form Builder が Domino のリソースにアクセスするには、リモート呼び出しを適切に許可および制限するように Domino サーバーのセキュリティーが構成されている必要があります。このアクセスを制御する構成設定値は、Domino Administrator で設定されます。

セキュリティー設定値を確認するには、現行サーバー文書の「セキュリティー」タブを調べます。 この設定値を設定する方法について詳しくは、Domino Designer のヘルプを参照してください。 Domino バージョン 6 で、以 下の Domino Designer のヘル プ・トピックを参照してください。「Java/CORBA クラス (Java/CORBA classes)」 > 「Java クラス・コーディングのガ イドライン (Java Classes Coding Guidelines)」 > 「Java プログラムの実行 (Running a Java Program)」。セキュリティー設定値については、サーバー要件に関する節で説明します。

2.3.1 データベース参照をサポートする

Builder 内のさまざまなコントロールに、使用可能なデータベース、ビュー、フォーム、 およびエージェントのリストが取り込まれるようにするには、Domino サーバーがデータベースの参照を サポートしている必要があります。 データベースを参照可能にするための Domino サーバーの設定は、Domino ディレクトリー内のサー バーの資料の、「インターネット・プロトコル (InternetProtocols)」 > 「HTTP」タブに記載されています。「セキュリティー」タブを開いて、「匿名での Notes 接続を許可」を有効 (「はい」) に設定する必要もあります。

2.3.2 エージェントを実行する

Domino エージェントをポートレットまたはウィジェットからリモートで呼び出すことによって実行するには、 エージェントに署名する必要があります。これを行う方法は企業のセキュリティー・ポリシーによって決定されますが、 最終的な結果として、エージェントをポートレットまたはウィジェット内からリモートで呼び出す権限が ポートレットまたはウィジェットのユーザーに与えられていなければなりません。

2.3.3 SSL を使用する

SSL によるセキュリティーを利用するには、いくつかの手順を実行して、 WebSphere Portlet Factory および Domino を SSL 操作用に正しく構成する必要があります。Domino の接続に SSL を使用するには、以下の手順を実行する必要があります。

  1. プロジェクトの WEB-INF/config ディレクトリーにある override.properties ファイルに プロパティーを追加し、そのプロパティーに true を設定します。 (override.properties ファイルが存在しない場合は作成してください。)次のプロパティーを追加します。
    bowstreet.domino.session.enableSSL=true
  2. TrustedCerts.class ファイルを WebSphere Portlet Factory Designer が使用できるようにします。 それには、TrustedCerts.class ファイルを特定し、それを jar ファイルに入れます。 TrustedCerts.class ファイルは、Domino サーバーの Domino¥Data¥domino¥java ディレクトリーにあります。

    TrustedCerts.class ファイルは、DIIOP ポートが SSL で 使用可能にされると、Domino サーバーによって生成されます。 このファイルには、サーバーによって証明される証明書が含まれます。

  3. TrustedCerts.class ファイルが含まれている jar ファイルを、 WebSphere Portlet Factory Designer コア・プラグインの /lib ディレクトリーに追加します。
    install_directory¥Designer¥eclipse¥plugins¥com.bowstreet.designer.core_version-number¥lib
  4. Eclipse バージョン 3.3.x 以上の場合は、install_directoryDesigner¥eclipse¥plugins¥com.bowstreet.designer.core_6.1.5¥META-INF¥MANIFEST.MF ファイルを編集して sslClasses.jar ファイルを Bundle-ClassPath: リストに配置します。次に例を示します。
    Bundle-ClassPath: designercore.jar,
     lib/jakarta-poi.jar,
     lib/jxl.jar,
     lib/sapjco.jar,
     lib/SiebelJI.jar,
     lib/SiebelJI_Common.jar,
     lib/SiebelJI_enu.jar,
     lib/Siebel.jar,
     lib/sslClasses.jar
     lib/activation.jar,
     lib/portlet.jar,
     lib/bstres.jar,
     lib/bstres_nl1.jar,
     lib/builderui-res.jar,
     lib/builderui-res_nl1.jar,
     lib/jdom.jar,
     lib/builderimages.jar,
     lib/NCSO.jar,
     lib/packman.jar,
     lib/factory.jar,
     lib/builderui.jar,
     lib/j2ee.jar,
     lib/icons.jar,
     lib/wsdl4j.jar,
     lib/classparser.jar,
     lib/axis.jar,
     lib/commons-fileupload.jar,
     lib/commons-logging.jar,
     lib/commons-discovery.jar,
     lib/commons-pool.jar,
     lib/wc50.jar,
     lib/WidgetExtension.jar,
     lib/WidgetExtension_nl1.jar,
     lib/xercesImpl.jar,
     lib/xml-apis.jar,
     bin/,
     lib/log4j.jar
    Eclipse バージョン 3.2.x 以下の場合は、次の場所にある plugin.xml ファイルを編集して、この JAR ファイルを組み込みます。
    install_directory¥WPFDesigner¥eclipse¥plugins¥com.bowstreet.designer.core_version-number

    例えば、以下のように編集します。

    <library name="lib/sslClasses.jar">
    <export name="*"/>
    </library>
  5. TrustedCerts.class ファイルが含まれている jar ファイルを、プロジェクトの WEB-INF/lib ディレクトリーに追加します。

    この追加によって、TrustedCerts.class ファイルがランタイム環境で使用可能になります。

  6. WebSphere Portlet Factory Designer を再始動します。
    注: Eclipse 3.x を使用している場合は、この jar を選択するために、 コマンド行パラメーターで -clean フラグを実行しなければならない場合があります。
  7. Lotus Domino View and Form Builder を使用して、ポート 63148 で Domino サーバーに接続します。次に例を示します。
    domino_server.my_company.com:63148
注: Domino サーバーが、DIIOP ポートで SSL をサポートするように正しく構成されていなければなりません。 詳しくは、Domino の資料を参照してください。

3 Domino ポートレット入門

Domino ポートレットのビルドを開始する方法は 2 つあります。

  • パワー・ユーザーの場合は、

    WebSphere Portal 内から Domino カスタマイザーを使用して、Lotus Domino ポートレットを複製してから変更します。 詳しくは、3.1 パワー・ユーザーを参照してください。

  • 開発者の場合は、

    Domino チュートリアルを参照し、サンプル・モデルを確認します。詳しくは、3.2 開発者を参照してください。

3.1 パワー・ユーザー

カスタム Lotus Domino ポートレットをビルドするには、以下の簡単な手順に従います。

  1. WebSphere Portal サーバーで、Lotus Domino ビューおよびフォーム・テンプレート・ポートレットを見つけます。
  2. ポータルの「ページの操作」機能を使用して、このポートレットをページに追加します。
  3. 使用可能なすべてのポートレットを検索し、リストからこの新規ポートレットを選択してページに配置し、 「完了」をクリックします。
    初期表示では、このポートレットに
    「このポートレットはまだ構成されていません (This portlet has not been configured)」と表示されます。ポートレットの構成アイコンを使用して、ポートレットを構成します。これには、他の複数の Lotus Domino 構成設定値のほかに、Lotus Domino サーバー、データベース、およびビューを
    指定する作業が含まれます。ポートレットを構成してそれを WebSphere Portal で表示する方法について追加情報を表示するには、
    ポートレットの「ヘルプ」ボタンを押します。

3.2 開発者

  1. 「スタート」メニューの「IBM WebSphere」 > 「Portlet Factory」 > 「チュートリアル」セクションにある Domino のチュートリアルにアクセスします。 指示に従って、Domino アプリケーションを作成します。
  2. 作成したアプリケーションを、提供されているサンプル・モデルと比較します。
    注: 使用されている技法については、サンプル・モデル内に組み込まれているコメントで説明されています。
    サンプル・モデルは、¥WEB-INF¥models¥samples¥domino¥ ディレクトリーにあります。
  3. サンプルの Domino データベースを Domino サーバーにコピーし、 サンプル・モデルがどのようにしてこのデータベースと相互作用するかを調べます。 このサンプル・データベースは、project_root¥samples¥domino¥nodeploy ディレクトリーにあります。

4 Domino ウィジェット入門

Domino チュートリアルを参照し、サンプル・モデルを確認します。

  1. ヘルプで、「IBM WebSphere Portlet Factory Designer」 > 「WebSphere Portlet Factory についての学習」をクリックして、Domino チュートリアルにアクセスします。指示に従って、Domino アプリケーションを作成します。
  2. 作成したアプリケーションを、提供されているサンプル・モデルと比較します。
    注: 使用されている技法については、サンプル・モデル内に組み込まれているコメントで説明されています。
    サンプル・モデルは、¥WEB-INF¥models¥samples¥domino¥ ディレクトリーにあります。
  3. サンプルの Domino データベースを Domino サーバーにコピーし、 サンプル・モデルがどのようにしてこのデータベースと相互作用するかを調べます。 このサンプル・データベースは、project_root¥samples¥domino¥nodeploy ディレクトリーにあります。

5 Domino 接続プーリング

デフォルトでは、Lotus Domino Data Access Builder は、キャッシュに入れられている構成可能な数の CORBA ORB (オブジェクト・リクエスト・ブローカー) に Domino セッションを分散するようになりました。これにより、ある ORB で作成されたセッションはすべて 1 つの TCP/IP 接続を共用するため、ネットワーク・リソースが削減されます。これは、以下のプロパティーを使用して制御されます。
bowstreet.domino.numOrbs=N
作成されてすべての Domino セッション間で共用される CORBA ORB の数を指定します。このプロパティーが設定されていない場合、デフォルトは 5 です。ORB セット全体に負荷を分散できるようにするために、キャッシュから次の順次 ORB が取り出されて Domino トランザクションを処理します。ネットワーク接続が過負荷にならないように注意する必要があります。アプリケーションのパフォーマンス要件に応じて ORB の数を調整します。また、時間のかかる Domino トランザクションは、他のセッションが同じ ORB を使用することをブロックできます。したがって、Domino トランザクションが高速に処理されるように注意する必要があります。
bowstreet.domino.session.pooling.originalImplementation=(true or false)
true を指定すると、6.0.2.1 より前のオリジナルの接続処理インプリメンテーションに復帰します。これは推奨しません。デフォルト値は false です。

WebSphere Portlet FactoryDomino 8 バージョンの NCSO.jar と後方互換性があります。これには Domino CORBA インプリメンテーションのパフォーマンス機能拡張が含まれています。

PeopleSoft 拡張機能

この『入門ガイド』では、PeopleSoft 拡張機能について説明します。

入門ガイド

PeopleSoft 拡張機能は、IBM WebSphere Portlet Factory ユーザーに以下の重要な機能を提供します。

シングル・サインオン機能
IBM WebSphere Portal サーバー・クリデンシャル・ボールトを使用します。
ポートレット・コードの自動化
標準コンポーネント・インターフェース・メソッド (「Get」、「Find」、「Create」、「Save」、「Cancel」) のサポート、さまざまな表示ページと編集ページの生成、およびコンポーネント・インターフェースに含まれるデータを記述するスキーマの作成を含みます。
他の Builder とのシームレスな統合
カスタム・ルック・アンド・フィールなど、 高度にカスタマイズされた堅固なポートレットを作成します。

1.0 インストール情報

他の機能セットと同じように PeopleSoft 拡張機能をインストールします。

  1. サポートされる製品バージョンの詳細については、リリース情報のトピック内の詳細システム要件を参照してください。
  2. プロジェクトで、メニューを右クリックし、「プロパティー」を選択します。「WebSphere Portlet Factory」 のカテゴリーを展開し、「機能情報」を選択します。
  3. 「機能情報」画面で、「PeopleSoft 拡張機能」を選択し、「適用」をクリックします。「OK」をクリックして機能セットを追加します。 プロンプトが表示されたら、再デプロイを選択します。
  4. psjoa.jar ファイルのコピーを Eclipse プロジェクトの work/lib フォルダーに配置します。

    PeopleSoft Java Object Adapter JAR ファイル psjoa.jar は、 ご使用の PeopleSoft インストール済み環境または PeopleSoft お客様サービス担当者から入手できます。

    JAR ファイルには、Builder が PeopleSoft サーバーにアクセスするために使用する Java クラスが含まれています。 PeopleSoft のローカル・インストール済み環境がある場合は、PS_HOME ディレクトリーでこのファイルのコピーを探してください。

    注: Builder によって使用されるこの JAR ファイルのバージョンは、 アクセス対象の PeopleSoft サーバーのバージョンと一致しなければなりません。 一致しない psjoa.jar ファイルを PeopleSoft サーバーで使用すると、Builder の再生成時および実行時にエラーが発生する場合があります。
注: サーバーの設定によっては、すべての機能セット・ファイルを正しく登録するために、アプリケーション・サーバーおよび WebSphere Portlet Factory Designer の再始動が必要な場合があります。
注: WebSphere Portal 環境では、サード・パーティーの JAR ファイルがロードされてから他の JAR とクラスがロードされるようにクラス・ロード順序を設定する必要があります。 これによって、 WebSphere Portal サーバーは確実にこのサード・パーティー・ファイルにアクセスし、それを使用できるようになります。 WebSphere Portal サーバーでこの設定を行うために必要な手順については、 WebSphere Portlet Factory のインストール・ガイドを参照してください。

1.1 インストールを検査する

Builder および JAR ファイルが正しくインストールされていることを確認するには、以下のステップに従います。

  1. 新規モデルを作成します。
  2. PeopleSoft View And Form Builder をモデルに追加し、その Builder の名前を入力します。
  3. 「接続」グループで、「プロパティー・ファイル」入力の値として default_connection.properties を選択します。
  4. 「テスト接続」ボタンをクリックします。
  5. 接続が正常に確立されたことを示すダイアログが表示されます。 PeopleSoft サーバーに接続するときに問題が発生した場合、エラー・ダイアログにエラー・メッセージが表示されます。

2.0 構成の要件

PeopleSoft Builder を使用するときの最初のステップは、接続プロパティー・ファイルを設定することです。 このファイルは、プロジェクトの /WEB-INF/config/peoplesoft_config/ ディレクトリー内にあります。 このプロパティー・ファイル (default_connection.properties) を使用して、PeopleSoft サーバーの名前や 有効な PeopleSoft ユーザー名とパスワードなどの接続プロパティーを指定します。

標準的なプロパティー・ファイルには、以下のプロパティーが含まれている場合があります。

 #Default connection properties for the PeopleSoft Builders

 # PeopleSoft application server
 hostserver=pplsoft:9000

 # Logon user name
 UserName=jdoe
 
 # Logon password 
 PassWord=PS
注: WebContent/WEB-INF/config ディレクトリーはデフォルトでは除外されたリソースのため、チームのファイルおよびディレクトリー除外をオーバーライドして、新規または変更されたファイルがソース制御ストレージで更新されている状態にしておく必要があります。

3.0 PeopleSoft セッション・プーリングおよびプロパティー

PeopleSoft Builder は、PeopleSoft バックエンド・サーバーへのセッションのプーリングをサポートします。 デフォルトでは、セッション・プーリングは使用不可になっています ( WebSphere Portlet Factory Designer 環境に適切な構成)。ただし、サーバー上では、 作成されるセッション数を最小にして、Builder 全体の実行時パフォーマンスを向上させるためにプーリングを有効にすることもできます。

下の表にあるプロパティーを PeopleSoft プロジェクトの .../WEB-INF/config/override.properties ファイルに追加すれば、PeopleSoft セッション・プーリングを使用可能にして構成することができます。

注: PeopleSoft Builder は標準オープン・ソースである Apache Commons のプーリング・インプリメンテーションを使用します。 これらのプロパティーの意味についての詳しい情報は、Apache Web サイトで GenericKeyedObjectPool クラスについての Commons の文書を参照してください。
表 4. セッション・プールを使用可能にして構成するためのプロパティー
プロパティー デフォルト値 効果
bowstreet.peoplesoft.session.pool.enabled false これが定義され、TRUE に設定されている場合、セッション・プーリングは使用可能です。
bowstreet.peoplesoft.session.pool.maxActiveSessions 8 同時アクティブ・セッションの最大数。 これが負の値の場合、アクティブ・セッション数の制限はありません。
bowstreet.peoplesoft.session.pool.maxIdleSessions 8 プール内の同時アイドル・セッションの最大数。 これが負の値の場合、 アイドル・セッション数の制限はありません。
bowstreet.peoplesoft.session.pool.maxWait -1 セッションがプールに戻されるまで待機する最大時間 (ミリ秒)。 これが負の値の場合、要求側のスレッドは、セッションが戻されるまで無制限に待機します。 指定された時間内にセッションがプールに戻されないと、 要求側のスレッドは例外を受信します。
bowstreet.peoplesoft.session.pool.maxIdleTimeSeconds 1800 セッションが強制的に切断されて再利用されるまでにプール内でアイドル状態でいることができる最大時間 (秒)。 これが負の値の場合、アイドル時間に基づいてセッションが強制的に切断されることはありません。
bowstreet.peoplesoft.session.pool.idleSessionSweepSeconds 30 強制的に切断して再利用するアイドル・セッションを探すプールのスイープ間の最大時間 (秒)。 これが負の値の場合、プールのスイープは使用不可です。
bowstreet.peoplesoft.session.pool.maxAgeMinutes -1 アイドル・セッションの設定値に関係なく、セッションが強制的に切断されて再利用されるまでのセッションの最大経過時間 (分)。 これが負の値の場合、セッションがこの経過時間によって強制的に切断されて再利用されることはありません。
注: これは、Commons ライブラリーにはインプリメントされていない WebSphere Portlet Factory 固有の機能/プロパティーです。

SAP 拡張機能

この『入門ガイド』では、SAP 拡張機能について説明します。

入門ガイド

SAP 拡張機能は、IBM WebSphere Portlet Factory ユーザーに以下の重要な機能を提供します。

SAP Java Connector (JCo) による SAP への接続
SAP JCo インターフェースは、 接続プーリングをサポートし、ポートレットと SAP の間の通信を管理します。
注: WebSphere Portlet Factory がサポートする SAP JCo のバージョンについて詳しくは、リリース情報のトピックにある詳細システム要件を参照してください。
シングル・サインオン機能
IBM WebSphere Portal サーバー・クリデンシャル・ボールトを使用します。
ポートレット・コードの自動化
データを取得するための 実行メソッド、関数によって戻されるデータを記述するスキーマ、およびテーブルの結果セット、インポートの結果セット、 エクスポートの結果セットを保持する変数 (スキーマとともに入力される) が含まれます。
他の Builder とのシームレスな統合
カスタム・ルック・アンド・フィールや、 カスタム (カスタマー作成) BAPI へのアクセスなど、高度にカスタマイズされた堅固なポートレットを作成します。

1.0 インストール情報

SAP 拡張機能のコンポーネントは、以下の SAP 製品バージョンをサポートします。

表 5. SAP 製品のバージョン
SAP 製品 サポートされるバージョン
R3 サポートされるバージョンについては、 WebSphere Portlet Factory リリース情報のトピック内の詳細システム要件を参照してください。

SAP 拡張機能のインストール

  1. プロジェクトで、メニューを右クリックし、「プロパティー」を選択します。「WebSphere Portlet Factory」 のカテゴリーを展開し、「機能情報」を選択します。
  2. 「機能情報」画面で、「SAP 拡張機能」を選択して「適用」をクリックします。「OK」をクリックして機能セットを追加します。 プロンプトが表示されたら、プロジェクトの公開を選択します。
  3. Windows システムの場合
    sapjco.jar ファイルを、アプリケーション・サーバーが JAR ファイルをロードするディレクトリーにコピーします。さらに、次の DLL ファイルを Windows オペレーティング・システムの system32 ディレクトリーにコピーします。
    • librfc32.dll
    • sapjcorfc.dll
    (例えば、Windows XP システムでは C:¥Windows¥system32)。
    WebSphere
    ¥WebSphere¥AppServer¥lib¥ext
    IBM WebSphere Application Server Community Edition
    WebSphere Application Server Community Edition では、JAR ファイルが Common Lib として複数の Web アプリケーションで共有されるようにデプロイする必要があります。各 Web アプリケーションは、<dependencies /> ノードの geronimo-web.xml ファイルで、このデプロイされる Common Lib を参照します。 WebSphere Portlet Factory は、sapjco.jar ファイルの サンプル Common Lib デプロイメントへのコメント付き参照を (他の WebSphere Portlet Factory 統合 Builder の JAR ファイルへの 参照とともに) geronimo-web.xml ファイルに取り込みます。
    Group、Artifact、Version、および Type の値の大部分は任意です。 適用される命名規則およびその他の考慮事項に対応する値を選択します。 「インストール」をクリックすると、JAR ファイルが <WASCE>/repository/Group/Artifact/Version/Type ディレクトリーに配置され、 WebSphere Application Server Community Edition サーバー範囲のクラス・ローダーによりロードされます。
    1. WebSphere Application Server Community Edition のサーバー・コンソールを開きます。
    2. 「サービス」の下にある「Common Lib (Common Libs)」リンクを選択します。
    3. 「参照」オプションを使用し、SAP の JAR ファイルを選択して追加します。
    4. 命名規則を使用して Group、Artifact、Version、および Type を入力します。
    5. 「インストール (install)」をクリックして JAR ファイルを 追加します。
    Linux、UNIX および z/OS® プラットフォームの場合
    ご使用のオペレーティング・システム固有の手順については、SAP Java Connector のインストール資料を参照してください。
    注: Linux システムで WebSphere Portlet Factory を実行するときは、次のアクセス権を sapjco.jar ファイルに設定します。
    -rwxr-xr-x (755)
    所有者は root である必要があり、グループは WebSphere Portlet Factory ユーザーが属するグループに設定する必要があります。 WebSphere Portlet Factory ユーザーが WebSphere Application Server ユーザーと異なる場合は、SAP Java Connector のインストール資料の記述に従い、ユーザーが SAP ライブラリーにアクセスできるようにユーザーの環境を設定する必要があります。
    注: このステップで必要なライブラリー・ファイルは、http://service.sap.com で SAP のお客様が利用できます。
  4. Eclipse の IDE プラグインが sapjco.jar ファイルを使用できるようにする必要があります。この JAR ファイルを使用可能にするには、以下のようにします。
    1. WebSphere Portlet Factory Designer のコア・プラグイン・フォルダーを 探します。例えば、次のようになります。
      Windows システム:
      C:¥Program Files¥IBM¥WebSphere Portlet Factory¥Designer¥eclipse¥plugins¥com.bowstreet.designer.core_latest version
      Linux システム:
      /home/user/IBM/Designer/eclipse/plugins/com.bowstreet.designer.core_latest version
    2. 見つけたプラグイン・フォルダーにある ¥lib フォルダーに sapjco.jar ファイルをコピーします。
      注: サーバーの設定によっては、すべての機能セット・ファイルを正しく登録するために、アプリケーション・サーバーおよび WebSphere Portlet Factory Designer の再始動が必要な場合があります。
  5. WebSphere Portlet Factory アプリケーションから Common Lib を参照します ( WebSphere Application Server Community Edition を使用する場合のみ)
    WebSphere Portlet Factory プロジェクトの geronimo-web.xml ファイルには、sapjco.jar ファイルのためにコメントにして取り除かれた依存関係のリストが存在します。 Group、ArtifactID、および Version の値を、 sapjco.jar ファイルの Common Lib デプロイメントで定義した値で置き換える必要があります。
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
    
    <dependencies>
    <dependency>
       <groupId>wpf_integration</groupId>
       <artifactId>sapjco.jar</artifactId>
       <version>2.0.8</version>
    </dependency>
    </dependencies>
    
    </web-app>

1.1 インストールを検査する

Builder および JCo が正しくインストールされていることを確認するには、以下のステップに従います。

  1. ご使用の SAP サーバー用に default_sap_server.properties ファイルを構成します (下の『構成の要件』を参照)。
  2. IDE または WebSphere Portlet Factory Designer 環境を再始動してインストール・プロセスを完了します。
  3. WebSphere Portlet Factory Designer で SAP オブジェクト・ブラウザー・モデルを開き、タスク・ビューにエラーが表示されていないことを確認します。 (このモデルは、Eclipse ナビゲーターからアクセス可能な WEB-INF/models/samples/SAP フォルダーにあります。)
  4. モデルを実行します。 モデルが正しく実行され、戻された SAP データにドリルダウンできることを確認します。

SAPObjectBrowser は、SAP View and Form Builder を使用してビルドされたモデルです。これが可能なのは、SAP オブジェクト・リポジトリーをブラウズするためのメカニズムが SAP RFC のものであるためです。

注: IBM WebSphere Portal 環境では、サード・パーティーの JAR ファイルがロードされてから他の JAR ファイルとクラスがロードされるようにクラス・ロード順序を設定する必要があります。このロード順序によって、 WebSphere Portal が、確実にサード・パーティー・ファイルにアクセスし、それらを使用できるようになります。 WebSphere Portal サーバーでこの設定を行うために必要な手順については、IBM のインストール・ガイドを参照してください。

2.0 構成の要件

SAP Builder を使用するときの最初のステップは、プロパティー・ファイルを設定することです。 このファイルは、プロジェクトの WEB-INF/config/sap_config/ ディレクトリーにあります。

注: WebContent/WEB-INF/config ディレクトリーはデフォルトでは除外されたリソースのため、チームのファイルおよびディレクトリー除外をオーバーライドして、新規または変更されたファイルがソース制御ストレージで更新されている状態にしておく必要があります。

このプロパティー・ファイルを使用して、SAP サーバーの名前や有効な SAP ユーザー名とパスワードなどの SAP 接続プロパティーを指定します。 標準的なプロパティー・ファイル名は my_sap.properties の場合があり、以下のプロパティーが含まれています。

# SAP application server
jco.client.ashost=

# Logon user
jco.client.user=

# Logon password
jco.client.passwd=

# SAP client
jco.client.client=000

# Logon language
jco.client.lang=EN

# SAP system number
jco.client.sysnr=00

デフォルトの SAP server.properties ファイルは、SAP Builder とともにインストールされます。このプロパティー・ファイルは、WEB-INF/config/sap_config ディレクトリー内にあります。 このファイルを使用して、基本的な SAP の設定を行い、有効なプロパティー値の例を表示することができます。 インストール時に構成されているように、このファイルは、ローカル・ホストで稼働する MiniSAP サーバーに適用できます。

3.0 入門およびオブジェクト・ブラウザーの使用

SAP 拡張機能をインストールして構成したら、オブジェクト・ブラウザー・モデルを実行します。このモデルを使用すれば、SAP システムのオブジェクトを探すことができます。 以下のステップを使用します。

  1. モデルを実行して、初期画面を表示します。 システム内のオブジェクトに関する情報が記載されたテーブルが表示されます。 列には、オブジェクトごとにオブジェクト・タイプ、オブジェクト名、および説明テキストがリストされます。
  2. 「OBJNAME」列のリンクをクリックします。 新しいテーブルが表示されます。 このテーブルの各行には、オブジェクトに関連付けられたメソッド (BAPI) のセットがリストされます。 「Method」列のリンクをクリックします。
  3. そのメソッドのすべてのパラメーターが記載された別のテーブルが表示されます。 パラメーターに関する情報 (例えば、説明やショート・テキスト) も提供されます。
  4. テーブル内のパラメーターをクリックすると、そのパラメーターのフィールドがリストされます。 ここで、フィールド名と許容される長さ、データ型、およびフィールド・テキストを確認することができます。

4.0 SAP システムと通信する

SAP Builder は、SAP JCo ツールキット (SAP システムとともに使用できる) を 使用して、SAP に接続します。 このツールキットにより、Java アプリケーションは任意の SAP システムと通信することができます。 SAP JCo インターフェースは、 接続プーリングをサポートし、ポートレットと SAP の間の通信を管理します。

4.1 接続プール・サイズ

プロパティーを使用して、JCo 接続プールの最大サイズを設定することができます。このプロパティーは、WEB-INF/config/override.properties に次のように定義できます。

bowstreet.sap.session.pool.maxConnections=pool-size

ここで、pool-size は SAP 接続の最大許容数です。pool-size のデフォルト値は 5 接続です。この値は十分な接続数であり、良いパフォーマンスを提供することが判明しています。

4.2 clientProviderClass プロパティーの使用

SAP が使用可能なモデルを実行し、完全修飾クラス名で次のプロパティーを定義すると、SAP のランタイムがこのクラスをインスタンス化し、プロバイダーとして使用します。
bowstreet.sap.session.pool.clientProviderClass
このプロパティーは、SAPAccess が使用する JCO.Client プロバイダー・インプリメンテーションを定義します。このプロパティーを定義しない場合は、IBM WebSphere Portlet Factory Designer のデフォルトのプロバイダー・インプリメンテーションが使用されます。

Siebel 拡張機能

この『入門ガイド』では、Siebel 拡張機能について説明します。

入門ガイド

Siebel 拡張機能は、IBM WebSphere Portlet Factory ユーザーに以下の重要な機能を提供します。

シングル・サインオン機能
IBM WebSphere Portal サーバー・クリデンシャルを使用します。
ポートレット・コードの自動化
Siebel Builder には、選択された Siebel ビジネス・コンポーネント内のデータを照会、編集、および保存するためのメソッド、そのメソッドによって返されるデータを記述するスキーマ、およびフィールド選択とデータ値を保持する変数 (スキーマとともに入力される) が含まれます。さらに、Siebel View And Form Builder は、Siebel ビジネス・コンポーネントを照会するために必要なページを自動的に作成し、 戻されたレコードを表示します。
他の Builder とのシームレスな統合
カスタム・ルック・アンド・フィールなど、 高度にカスタマイズされた堅固なポートレットを作成します。

1.0 インストール情報

Siebel 拡張機能のコンポーネントは、以下の Siebel 製品バージョンをサポートします。

表 6. Siebel 製品のバージョン
Siebel 製品 サポートされるバージョン
Siebel CRM Solutions サポートされるバージョンについては、 WebSphere Portlet Factory リリース情報のトピック内の詳細システム要件を参照してください。

Siebel 拡張機能は、Siebel Java データ Bean インターフェースを利用して、Siebel リポジトリーにアクセスします。 この結果、Siebel システムの管理者から以下のバージョン固有の Siebel JAR ファイルを取得する必要があります。

  • Siebel 7.5.2 および 7.5.3 の場合: SiebelJI.jarSiebelJI_Common.jarSiebelJI_enu.jar
  • Siebel 7.8 および 8.0 の場合: Siebel.jarSiebelJI_enu.jar

他の機能セットと同じようにこの Siebel 拡張機能をインストールします。

  1. プロジェクトで、メニューを右クリックし、「プロパティー」を選択します。「WebSphere Portlet Factory」 のカテゴリーを展開し、機能情報を選択します。
  2. 「機能情報」画面で、「Siebel 拡張機能」を選択して「適用」をクリックします。「OK」をクリックして機能セットを追加します。 プロンプトが表示されたら、再デプロイを選択します。

Siebel JAR ファイルを IDE に追加します。

  1. WebSphere Portlet Factory Designer コア・プラグイン・フォルダーを見つけます。例えば、次のようにします。
    C:¥Program Files¥IBM¥WebSphere Portlet Factory¥WPFDesigner¥eclipse¥plugins¥com.bowstreet.designer.core_latest version
  2. このプラグイン・フォルダー内にある ¥lib フォルダーに、ご使用の Siebel バージョンに必要な Siebel JAR ファイルをコピーします。
  3. ¥lib フォルダーにコピーしたばかりの JAR ファイルが plugin.xml ファイルにリストされていることを検証します。このファイルは、¥lib フォルダーが含まれているフォルダーにあります。このファイル内のデフォルト定義で十分です。ただし、サーバー用に取得した Siebel JAR ファイルに別の名前が付けられている場合、これらの JAR を WebSphere Portlet Factory Designer がロードできるように定義を調整する必要があります。

下で、 使用するサーバーを選択し、手順に従って Siebel jar を 追加します。

Siebel jar を IBM WebSphere Application Server Community Edition (CE) サーバーに追加します。

  1. WebSphere Application Server Community Edition のサーバー・コンソールを開きます。
  2. 「サービス」の下にある「Common Lib (Common Libs)」リンクを選択します。
  3. 「参照」オプションを使用し、Siebel jar ファイルを 選択して追加します。
  4. 命名規則を使用して Group、Artifact、Version、および Type を入力します。

Portlet Factory でプロジェクトの geromino-web.xml ファイルを更新します。

  1. WebContent¥WEB-INF¥bin¥deployment¥geromino-web.xml を開きます。
  2. <dependencies> の下は以下のようになっています。
    <dependency>
    		<groupId>wpf_integration</groupId>
       <artifactId>SiebelJI_enu</artifactId>
       <version>7.8</version>
    </dependency>
    <dependency>
    		<groupId>wpf_integration</groupId>
       	<artifactId>siebel</artifactId>
       	<version>7.8</version>
    </dependency>
  3. この行のコメントを外し、groupID、artifactId、 および version を WebSphere Application Server CE サーバー上の JAR に割り当てた値に更新します。
  4. プロジェクトを再ビルドします。

その他のアプリケーション・サーバー

Siebel JAR ファイルを、すべてのデプロイ済 WAR に共通の JAR ファイルをアプリケーション・サーバーがロードするディレクトリーにコピーします。例えば、 /WebSphere/AppServer/lib/ext などです。

注: 設定によっては、すべての機能セット・ファイルを正しく登録するために、アプリケーション・サーバーおよび WebSphere Portlet Factory Designer の再始動が必要な場合があります。

ファイル・エンコード方式のマッチング

Siebel サーバーと外部 Siebel クライアント ( WebSphere Portlet Factory など) が 正常に通信を行うには、どちらも互換性のあるファイル・エンコード方式を使用する必要があります。 例えば、Windows のデフォルト・ファイル・エンコード方式は Cp1252 です。 RedHat Linux のデフォルト・ファイル・エンコード方式は UTF-8 です。

Siebel Builder を正しく使用するには、クライアント・プラットフォームの ファイル・エンコード方式が、Siebel サーバーで使用されるファイル・エンコード方式と一致していることを確認してください。例えば、 WebSphere Portlet Factory Designer が Linux システムで実行されているときは、JVM のデフォルトのファイル・エンコード方式と、Siebel サーバーが使用するデフォルトのファイル・エンコード方式が異なることがあります。Siebel の場合は、Siebel サーバーへの接続のために Java API を 使用するクライアントは、Siebel サーバーと同じデフォルトのファイル・エンコード方式を持つ 必要があります。 デフォルトのファイル・エンコード方式が異なる場合は、Siebel コーディネーターが再生成時に失敗し Could not open a session in 4 attempts というメッセージが表示されます。 これによりモデルでエラーが発生し、モデルは実行されません。

Linux システム上で Siebel Builder を正しく再生成するには、Eclipse JVM のデフォルトのファイル・エンコード方式を、Siebel サーバーで使用されているエンコード方式と一致させる必要があります。 Eclipse インストールのルート・ディレクトリーにナビゲートし、eclipse.ini ファイルを開きます。 このファイルは、Eclipse が使用する JVM 開始パラメーターを含んでいます。 接続クライアントで使用する必要のあるコード方式を定義する行をこのファイルに追加してください。 例えば、Siebel サーバーでデフォルトのファイル・エンコード方式として utf8 を使用している場合は、次の行をファイルに追加します。
-Dfile.encoding=utf8
Eclipse および WebSphere Portlet Factory Designer を再始動すると、クライアントのデフォルトのエンコード方式に Siebel サーバーと同じ値が設定され、Siebel Builder が正しく再生成されます。

testSiebelConnection.jsp を使用した Siebel 接続のテスト

WebContent¥factory¥util¥testSiebelConnection.jsp を使用して、接続プロパティーが正しいことを迅速に確認する場合、以下を実行する必要があります。

  • プロジェクトを作成し、テスト・サーバーにデプロイします。
  • ブラウザーで以下の URL を開きます。
    http://yourserver:port/projectName/factory/util/testSiebelConnection.jsp
  • テスト・ページの説明に従います。

2.0 構成の要件

Siebel Builder を使用するときの最初のステップは、プロパティー・ファイルを設定することです。 このファイルは、プロジェクトの WEB-INF/config/siebel_config/ ディレクトリーにあります。 このプロパティー・ファイル (default_connection.properties) を使用して、Siebel サーバーへの接続ストリングや有効な Siebel ユーザー名とパスワードなどの接続プロパティーを指定します。

注: WebContent/WEB-INF/config ディレクトリーはデフォルトでは除外されたリソースのため、チームのファイルおよびディレクトリー除外をオーバーライドして、新規または変更されたファイルがソース制御ストレージで更新されている状態にしておく必要があります。

標準的なプロパティー・ファイルには、以下のプロパティーが含まれている場合があります。

#Default connection properties for the Siebel Builder
ConnectString=siebel://10.10.2.125:2320/siebel_es/SSEObjMgr_enu/wicdemo9
UserName=sadmin
Password=sadmin

Siebel default_connection.properties ファイルは、Siebel Builder とともにインストールされます。このプロパティー・ファイルは、WEB-INF/config/siebel_config/ ディレクトリー内にあります。 このファイルを使用して、基本的な Siebel の設定を行い、有効なプロパティー値の例を表示することができます。 インストール時に構成されているように、このファイルは、 ローカル・ホストで稼働する Siebel サーバーに適用できます。

SiebelRepository プロパティー

Siebel ビジネス・コンポーネント・フィールドが WebSphere Portlet Factory Designer 内の Siebel Builder によって検出されず、表示されない場合、アクセスしている Siebel サーバーでデフォルト以外の名前のリポジトリーが使用されている可能性があります。このような動作が確認された場合、Siebel 接続プロパティー・ファイル (web-inf/config/siebel_config/default_connection.properties) に以下の行を追加します。
RepositoryName=Siebel Repository 
Siebel Repository をアクティブなリポジトリー名に置き換えます。

3.0 セッション・プーリングおよびプロパティー

Siebel Builder はバックエンド Siebel サーバーに対するセッション・プーリングをサポートします。 デフォルトでは、セッション・プーリングは使用不可になっています ( WebSphere Portlet Factory Designer 環境に適切な構成)。 ただし、サーバー上では、 作成されるセッション数を最小にして、Builder 全体の実行時パフォーマンスを向上させるためにプーリングを有効にすることもできます。

下の表にあるプロパティーを Siebel プロジェクトの .../WEB-INF/config/override.properties ファイルに追加すれば、Siebel セッション・プーリングを使用可能にして構成することができます。

注: Siebel Builder は標準オープン・ソースである Apache Commons のプーリング・インプリメンテーションを使用します。 これらのプロパティーの意味についての詳しい情報は、Apache Web サイトで GenericKeyedObjectPool クラスについての Commons の文書を参照してください。
表 7. Siebel セッション・プールを使用可能にして構成するためのプロパティー
プロパティー デフォルト値 効果
bowstreet.siebel.session.pool.enabled false これが定義され、TRUE に設定されている場合、セッション・プーリングは使用可能です。
bowstreet.siebel.session.pool.maxActiveSessions 8 同時アクティブ・セッションの最大数。

これが負の値の場合、アクティブ・セッション数の制限はありません。

bowstreet.siebel.session.pool.maxIdleSessions 8 プール内の同時アイドル・セッションの最大数。

値が負の場合、アイドル・セッション数の制限はありません。

bowstreet.siebel.session.pool.maxWait -1 セッションがプールに戻されるまで待機する最大時間 (ミリ秒)。

値が負の場合、要求側のスレッドは、セッションが戻されるまで無制限に待機します。 指定された時間内にセッションがプールに戻されないと、 要求側のスレッドは例外を受信します。

bowstreet.siebel.session.pool.maxIdleTimeSeconds 1800 セッションが強制的に切断されて再利用されるまでにプール内でアイドル状態でいることができる最大時間 (秒)。

これが負の値の場合、アイドル時間に基づいてセッションが強制的に切断されることはありません。

bowstreet.siebel.session.pool.idleSessionSweepSeconds 30 強制的に切断して再利用するアイドル・セッションを探すプールのスイープ間の最大時間 (秒)。

これが負の値の場合、プールのスイープは使用不可です。

bowstreet.siebel.session.pool.maxAgeMinutes -1 アイドル・セッションの設定値に関係なく、セッションが強制的に切断されて再利用されるまでのセッションの最大経過時間 (分)。

値が負の場合、セッションがこの経過時間によって強制的に切断されて再利用されることはありません。

注: これは、Commons ライブラリーにはインプリメントされていない WebSphere Portlet Factory 固有の機能/プロパティーです。

IBM WebSphere Portlet Factory の構成

作業環境のさまざまな側面を構成できます。

WebSphere Portlet Factory の構成に関する追加情報については、wiki リンク (http://www-10.lotus.com/ldd/pfwiki.nsf/xpViewRecent.xsp?searchValue=configure%2C%20configuring)にアクセスしてください。

IBM WebSphere Portlet Factory Designer 設定を変更する

WebSphere Portlet Factory Designer 設定を変更するには、以下のステップに従います。

  1. WebSphere Portlet Factory Designer の「設定」ウィンドウを表示します。
  2. 「設定」ウィンドウで、1 つ以上の設定に値を入力します。
  3. 「適用」をクリックします。
注: 変更内容は、選択した項目によっていつ有効になるかが異なります。

IBM WebSphere Portlet Factory の設定を表示する

WebSphere Portlet Factory の「設定」ダイアログを表示できます。

  1. WebSphere Portlet Factory パースペクティブで、「ウィンドウ」 > 「設定」をクリックします。

    「設定」ダイアログが表示されます。

  2. リストで「WebSphere Portlet Factory Designer」をクリックします。

    「設定」ダイアログには、 WebSphere Portlet Factory Designer の一般設定が表示されます。詳細については、ダイアログのヘルプを参照してください。

IBM WebSphere Portlet Factory Designer のデフォルト設定を復元する

WebSphere Portlet Factory Designer のデフォルト設定を復元するには、以下のステップに従います。

  1. WebSphere Portlet Factory Designer の「設定」ウィンドウを表示します。
  2. 「設定」プリファレンスで、「デフォルトの復元」をクリックします。
  3. 「適用」をクリックします。
注: 変更内容は、選択した項目によっていつ有効になるかが異なります。

設定について

WebSphere Portlet Factory Designer では、さまざまな設定が可能です。

これらの設定によって、 WebSphere Portlet Factory Designer 編集環境の機能と外観、 およびモデルの実行時に使用するサーバー・ランタイム・リソースが決定されます。

WebSphere Portlet Factory Designer のデフォルト設定一式が、 eclipse¥plugins¥com.bowstreet.designer.ui ディレクトリーの WebSphere Portlet Factory Designer の preferences.ini ファイルに保管されています。 デフォルト設定を変更した場合は、カスタマイズ後の設定一式がワークスペースに保管されるため、 デフォルト設定は上書きされません。 保管方法がこのようになっているため、デフォルト設定をいつでも復元できます。

override.properties ファイル

他のプロパティー・ファイルで設定されるプロパティー設定をオーバーライドする、2 つのオーバーライド・プロパティー・ファイルを使用できます。

オーバーライド機能は、bowstreet.properties または cluster.properties など、通常はロギング設定である 他のプロパティー・ファイルでの設定を置き換える場合に有用です。 IBM WebSphere Portlet Factory Designer では、override.properties ファイルを使用して、 WebSphere Portlet Factory Designer のロギング・プロパティーを指定したり、IBM サーバーの config ディレクトリーに指定されたプロパティーをオーバーライドしたりします。
注: override.properties ファイル が必要な場合は、手動でこのファイルを作成する必要があります。

オーバーライド・プロパティー・ファイルは、以下のとおりです。

設定で指定されるファイル
設定で指定されるオーバーライド・プロパティーを含んでいます。「ウィンドウ」 > 「設定」で指定する指定変更ファイルは、通常、 ランタイム・プロパティーとは異なる 1 つのプロパティー・セットを含んでいます。 例えば、ロギング・プロパティー、データベース設定のプロファイル、Builder の設定などです。 以下のプラグインの場所にある override.properties ファイルにこの設定を行うことができます。
designer_core_version_number/config

開発時にプロパティーを変更する場合に、この設定を使用すると、変更内容がプロジェクトおよび IBM システム全体に正しく伝搬されることが保証されます。

プロジェクト内に配置されるファイル
各プロジェクトの WEB-INF/config ディレクトリーで、 プロジェクト固有の override.properties ファイルを使用して、 WebSphere Portlet Factory Designer (開発時) およびモデルの実行時 (ランタイム時) の両方に適用されるオーバーライドを提供できます。 これらのプロパティーは、プロジェクトおよびアプリケーションに固有であるため、プロジェクト・レベルで設定されます。 このようなプロパティーの典型的な例として、 アプリケーションの開発に必要なプロファイル選択ハンドラーがあります。

WebSphere Portlet Factory Designer を開始するたびに、 以下のアクションが行われます。

  1. WebSphere Portlet Factory Designer は、 「ウィンドウ」 > 「設定」 > 「WebSphere Portlet Factory Designer」ページで指定された override.properties ファイルを見つけようとします。このファイルが見つからなかった場合、またはファイルが指定されていない場合、 WebSphere Portlet Factory Designer は次の場所で検出されたバージョンをデフォルトで使用します。

    Designer インストール場所/plugins/com.bowstreet.designer.core_x.y.z/config/override.properties

  2. 以下のプロパティーが、 override.properties に追加または上書きされます。
    logging.driver.eventSink.directory=eclipseinstalldir
    /workspace/.metadata/.plugins/com.bowstreet.designer.core/logs
    logging.driver.eventSink.prefix=designer_event_
    logging.event.flush.interval=1 

    これは、 WebSphere Portlet Factory Designer のログを書き込む場所が、適切な場所であることを確実にするためです。 override.properties のその他のプロパティーはいずれも、影響されません。

IBM WebSphere Portlet Factory Designer 編集設定

次の表に、変更可能な WebSphere Portlet Factory Designer 編集設定を示します。

WebSphere Portlet Factory Designer 設定 説明
ブラウザー・コマンド モデルを実行するときに起動する Web ブラウザーのパスを入力します。
注: この設定の変更は、新規実行構成にのみ影響します。 既存の実行構成には影響しません。
オーバーライド・プロパティー・ファイルの場所 この設定を使用して、使用する override.properties ファイルを指定します。 このファイルの設定は、preferences.ini に設定されたデフォルトのプロパティー設定を置き換えるため、 およびログの場所を判別するために使用されます。
注: このフィールド値の変更は、 WebSphere Portlet Factory Designer を再始動した後で有効になります。
IBM Support Assistant の場所 IBM Support Assistant がインストールされている場合、これを起動するために使用するパスを指定します。
非表示オブジェクトの表示 WebApp の Builder 呼び出しによって追加されたすべてのオブジェクトを表示するように WebApp ビューを設定するには、このチェック・ボックスを有効にします。 「適用」をクリックすると、すべての非表示オブジェクトが WebApp ビューに表示されます。
注: 開発者によって非表示オブジェクトとして指定された変数、メソッド、LJO などは、「非表示オブジェクトの表示」チェック・ボックスの状況に関係なく、 リファレンス・チューザーに表示されません。
ビュー・データのラップ さまざまなドメイン・ビューアーでテキスト行をラップするには、 このチェック・ボックスを有効にします。

WebApp ツリー表示に関連付けられたドメイン・ビューアーには、WebApp オブジェクトの内容 (ページ、メソッドなど) が表示されます。場合によっては、この情報を 1 行で表示すると便利です。 また、情報をラップ・テキストとして表示した方が良い場合もあります。 この設定を使用してラップを有効にします。

Builder を開いているときにビューを展開表示 Builder を開くときにビューを展開します。
Builder 呼び出しエディター Builder 呼び出しエディターの表示方法を選択します。
タブ付きパネル
Builder 呼び出しエディター・ビューに タブ付きパネルとして Builder 呼び出しエディターを表示します。 この設定を使用すると、複数の Builder 呼び出しエディターを開くことができます。
ダイアログ・ウィンドウ
モーダル・ダイアログ・ボックスとして Builder 呼び出しエディターが表示されます。この設定を使用する場合に開くことができる Builder 呼び出しエディターは 1 つのみです。
注: この設定の変更は、設定の保存後に開いたモデルに影響します。 開かれているモデルにこの設定を適用するには、モデルを閉じて、開き直す必要があります。

サーバー JDK を変更する

サーバー JDK を変更するには、以下のステップに従います。

  1. JDK バージョン 1.3.1 の場合は、個々のステップはベンダーごとに違うため、ご使用のアプリケーション・サーバーまたはポータル・サーバーについては、別の資料を参照してください。
  2. JDK バージョン 1.4 以降の場合は、次のようにします。
    1. 次の JVM パラメーターを、ご使用のアプリケーション・サーバーに追加します。
      -Djava.awt.headless=true
    2. アプリケーション・サーバーを再始動します。

server.properties を変更する

IBM WebSphere Portlet Factory は、WEB-INF/config/server.properties にある情報を読み取り、アプリケーション・サーバーの Java 仮想マシンのシステム・プロパティーにプロモートします。

注: プロパティー値にスペース文字を使用する場合は、スペース文字の前にエスケープ文字「¥」を付ける必要があります。プロパティーでスラッシュ文字 「/」を使用する場合は、「//」というように入力する必要があります。
  1. WEB-INF/config/server.properties ファイルをバックアップします。
  2. server.properties ファイルを、メモ帳などのテキスト・エディターで開きます。
  3. プロキシー・サーバーの URL を設定するには、WEB-INF/config/server.properties で、 次のプロパティーの 1 つまたは両方に対してこれを割り当てます。
    • 非 SSL の場合は、http.proxyHost を設定します。例: http.proxyHost=proxyservername.proxyserverdomainname.com
    • SSL の場合は、https.proxyHost を設定します。例: https.proxyHost=proxyservername.proxyserverdomainname.com
  4. WebSphere Portlet Factory がプロキシー・サーバーと通信するために使用するポートを設定するには、WEB-INF/config/server.properties で、次のプロパティーのいずれかまたは両方に対してこれを割り当てます。
    • 非 SSL の場合は、http.proxyPort を設定します。例: http.proxyPort=9090
    • SSL の場合は、https.proxyPort を設定します。例: https.proxyPort=9090
  5. プロキシー・サーバーが認証を必要とする場合は、ユーザー名を指定します。 次のプロパティーのいずれかまたは両方を、WEB-INF/config/server.properties ファイルに追加します。
    • 非 SSL の場合は、http.proxyUser を追加し、それにユーザー名を割り当てます。例: http.proxyUser=myusername
    • SSL の場合は、https.proxyUser を追加し、それにユーザー名を割り当てます。例: https.proxyUser=myusername
  6. プロキシー・サーバーが認証を必要とする場合は、パスワードを指定します。 以下のいずれかのプロパティーを WEB-INF/config/server.properties ファイルに追加します。
    • 非 SSL の場合は、http.proxyPassword を追加し、それにパスワードを割り当てます。例: http.proxyPassword=mypassword
    • SSL の場合は、https.proxyPassword を追加し、それにパスワードを割り当てます。例: https.proxyPassword=mypassword
  7. WEB-INF/config/server.properties を保管し、アプリケーション・サーバーを再始動します。

IBM WebSphere Portlet Factory プロパティーの設定

WebSphere Portlet Factory プロパティーは、開発の一部の局面に影響を与えます。

以下のモデル開発の局面は、 WebSphere Portlet Factory プロパティーによって決定されます。 示されたすべてのプロパティーは、特に記載がない限り WEB-INF/config/cluster.properties ファイルの中にあります。

JSP およびメソッドのコンパイルで使用するためにコンパイラーを設定する
メソッドおよび JSP ページをコンパイルするために WebSphere Portlet Factory サーブレットが使用する Java コンパイラーを決定できます。
# specifies the compiler to use
bowstreet.methods.compiler=C:/jdk131/bin/javac.exe
モデル用の Java ソース・ファイルのためのターゲット・ディレクトリーを決定する
WebSphere Portlet Factory サーブレットは、モデル内のすべてのメソッド用に Java ソース・ファイルを生成します。 このファイルが生成される先のディレクトリーを決定することができます。 デフォルトのディレクトリーは WEB-INF/work/source ディレクトリーです。
# This is where the generated source(.java) will go
bowstreet.methods.sourceDirectory=${bowstreet.rootDirectory}/work/source
コンパイル済みメソッド用の出力ディレクトリーを決定する
WebSphere Portlet Factory サーブレットは、モデル・メソッド用の生成済み Java ソース・ファイルを、 ユーザーが指定できるディレクトリーにコンパイルします。 デフォルトは WEB-INF/work/classes ディレクトリーです。
# This is where the compiled class will go. This should be in a place where the dynamic class loader can pick it up.
bowstreet.methods.targetDirectory=${bowstreet.rootDirectory}/work/classes
WebSphere Portlet Factory Designer にユーザー独自の Builder 定義を追加する
WebSphere Portlet Factory Designer が Builder 定義をロードする元のディレクトリーを 1 つ以上追加することができます。
#In bowstreet.properties file
# classpath-like syntax (semi-colon delimited) for location of BuilderDef files
# default if unavailable is ${bowstreet.rootDirectory}/builders
bowstreet.location.builderdef.path=${bowstreet.rootDirectory}/builders
動的クラス・ロードを構成する
bowstreet.dynamic.class.load.path プロパティーに設定した値により、 WebSphere Portlet Factory Designer および WebSphere Portlet Factory サーブレットが動的に Java クラスをロードする元のディレクトリーが決定されます。 このプロパティーは WEB-INF/config/bowstreet.properties ファイルにあります。
注: 動的にロードされたクラスを Java クラスのパス上に置くことはできません。

動的にクラスをロードする元の場所を複数指定するには、 以下の例に示すように、それぞれのパスをコンマで区切って、プロパティーの中に追加のパスを付加します。

#In bowstreet.properties file
bowstreet.dynamic.class.load.path=${bowstreet.rootDirectory}/work/classes,${bowstreet.rootDirectory}/work/my_classes
bowstreet.dynamic.class.load.checkTimestamp=true

bowstreet.dynamic.class.load.checkTimestamp プロパティーは、true に設定した場合、 動的クラス・ローダーによってロードされるクラスの時間チェックを有効にします。 プロパティーが true に設定され、クラスが変更されると、そのクラスがローダー・クラス・パス上にあり、 動的にロードされるサポートされるクラスの 1 つであれば、 そのクラスは、次のインスタンス作成時に動的に再ロードされます。

注: パフォーマンス上の理由から、bowstreet.dynamic.class.load.checkTimestamp プロパティーは、開発環境では true に設定し、実動では false に設定することをお勧めします。
スキーマ参照を設定する
WebSphere Portlet Factory SOAP/WSDL サポートでは、デフォルトで XML スキーマの 2001 バージョンを指定しますが、 以下にリストされるプロパティーの 1 つのコメントを外すことによって、 適切な参照を設定することができます。
# Uncomment these parameters to add 1999 and/or 2000/11 XMLSchema References into
# SOAP responses when using pre-Factory 5.9 SOAPPC and SOAPDOC URLs (not used by Axis)
#bowstreet.soap.schemaRef.1999=true
#bowstreet.soap.schemaRef.2000=true

次に例を示します。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:gcdXmlResponse xmlns:ns1="http://bowstreet.com/2002/03/models/xmethods/gcd">
<gcdreply><distance>2708.88</distance></gcdreply>
</ns1:gcdXmlResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SOAP スキーマの場所を設定する
SOAP エンコード構造を参照する WSDL 文書の中にある一部のスキーマは、 SOAP エンコード・スキーマに対してインポート・ステートメントまたは schemaLocation 属性を常に指定しているとは限りません。 構文解析が失敗すると、 WebSphere Portlet Factory は自動的にインポート・ステートメントを追加して、 そのスキーマを再解析します。

WebSphere Portlet Factory がプロパティーを使用して SOAP エンコード・スキーマを取得する場所を指定できます (デフォルトでは bowstreet.location.schemas に設定されています)。

WSDL および SOAP 呼び出しのプロキシー・サポート
WSDL 検索とアウトバウンド・サービス呼び出しの両方のために、 基礎となる SOAP および HTTP コードでは、標準の Java プロパティー (http.proxyHosthttp.proxyPorthttp.proxyUserhttp.proxyPasswd). を活用しています。これらの値は「server.properties」ファイルに設定するか、アプリケーション・サーバーの JVM コマンド行で、プロパティー (-Dhttp.proxyHost=foo など) を使用して設定できます。

WebSphere Portlet Factory 5.9 では、Service Call Builder の「拡張」入力セクションで、 追加のサービス呼び出しごとのプロキシー設定が使用可能です。

スキーマ・キャッシュ・サイズを構成する
Schema Builder または Schema Builder の API によって生成されたスキーマ・オブジェクトは、 キャッシュに入れられます。 これによって、同じスキーマを探している別のスレッドまたは WebApp は、 再解析のオーバーヘッドなしでキャッシュに入ったオブジェクトにアクセスできます。 ただし、すべてのキャッシュと同様、このキャッシュはメモリーを使用します。 そのため、キャッシュの最大サイズを制限することが望まれます。

最大スキーマ・キャッシュ・サイズは、bowstreet.schema.maxCacheSize= プロパティーを使用して制御できます。 デフォルトの最大キャッシュ・サイズは 50 スキーマ・オブジェクトです。

アプリケーション・サーバーの始動スクリプトを変更する

アウトバウンド・プロキシー・サーバーを使用する URL アクセスは、 アプリケーションを始動するのに使用するスクリプトに、プロキシー・ サーバーの URL およびポート情報を追加することによって、 リダイレクトすることができます。

認証が必要な場合は、ユーザー名とパスワードも追加してください。 下記の指示は、始動スクリプトを変更する方法についての簡単な説明です。 詳しくは、アプリケーション・サーバーの資料を参照してください。
  1. アプリケーション・サーバーの始動に使用するスクリプトをバックアップします。
  2. アプリケーション・サーバーの始動に使用するスクリプトを、ノートパッドなどのテキスト・エディターで開きます。 Windows NT/Windows 2000 上で稼働する BEA WebLogic の場合、このファイルは startWebLogic.cmd です。『server.properties を変更する』で説明したプロパティーは、開始コマンドで環境定義 (-D) を使用して指定できます。 例: Dhttp.proxyHost= proxyservername.proxyserverdomainname.com
  3. 開始スクリプトを保管し、アプリケーション・サーバーを再始動します。

以下は、BEA WebLogic の場合の変更の例です。追加された変更は太字になっています。

"%JAVA_HOME%¥bin¥java" -hotspot -ms64m -mx64m -classpath %bowstreet_CLASS_PATH%;%CLASSPATH% -Dweblogic.Domain=companydomainname -Dweblogic.Name=computername "-Dbea.home=C:¥bea10" -Dweblogic.management.password=%WLS_PW% -Dweblogic.ProductionModeEnabled=%STARTMODE% "-Djava.security.policy==C:¥bea10¥wlserver6.1/lib/weblogic.policy" "-Dhttp.proxyHost=proxyservername.proxyserverdomainname.com" "-Dhttp.proxyPort=9090" "-Dhttp.proxyUser=myusername" "-Dhttp.proxyPassword=mypassword"

IBM WebSphere Portlet Factory のコンソール・ウィンドウを構成する

デバッグ情報は、Eclipse コンソール・ウィンドウへ送信すると役立ちます。

コンソールへ戻された情報は、 モデルとアプリケーションに関する問題のトラブルシューティングに役立つことがあります。

WebSphere Portlet Factory Designer のコンソール・ウィンドウを表示するには、以下のステップに従います。

  1. WebSphere Portlet Factory Designer の起動に使用するショートカットを見つけます。

    WebSphere Portlet Factory インストール・プログラムによって、「IBM WebSphere」 > 「Portlet Factory」 > 「Designer」のショートカットが「プログラム」メニューに追加されます。

  2. ショートカットを右クリックし、「プロパティー」をクリックします。
  3. 「プロパティー」ダイアログの「ターゲット」で、実行可能イメージの後、およびコマンド上のその他の引数の前に、以下の値を挿入します。
    -consolelog -debug
    次に例を示します。
    C:¥eclipse¥eclipsec.exe -consolelog -debug -vmargs -Xmx256m

これらのフラグは、生成時に発生したすべてのデバッグ・ステートメントが送信されるコンソール・ウィンドウを表示します。

開発環境を構成する

IBM WebSphere Portlet Factory 開発および実行時環境を構成するために実行できるタスクはほとんどありません。

デバッグのためにコンソール・ウィンドウを使用する

IBM WebSphere Portlet Factory が実行するアプリケーションと WebSphere Portlet Factory Designer の両方にコマンド・コンソールを使用できます。 コマンド・コンソールを使用すると、コードで使用されている System.out.println() ステートメントを表示できます。Builder の Java クラス内の System.out.println() ステートメントが WebSphere Portlet Factory Designer コンソールに表示されます。Linked Java Object (LJO) 内の System.out.println() ステートメントまたはモデル内のメソッドが、 アプリケーション・サーバーのコンソールに表示されます。

既存の JAR ファイルを IBM WebSphere Portlet Factory プロジェクトとともに使用する

開発する Web アプリケーションで既存の JAR ファイルを使用できます。

設計時に (例えば、Custom Builder などから) アクセスする必要のある API を保持できます。または、Builder 生成や Builder coordinator クラスから参照する必要のある JAR (例えば、サード・パーティーのソフトウェアなどから) を保持できます。

  1. JAR のコピーを次の WebSphere Portlet Factory プロジェクト・ディレクトリーの 1 つに追加します。
    • WEB-INF/lib または WEB-INF/work/lib

      WEB-INF/lib および WEB-INF/work/lib の各ディレクトリーは、実行時にアプリケーション、ポータル・サーバー、または mashup で使用されます。これらのディレクトリー内の JAR は、 WebSphere Portlet Factory によって動的にロードされます。 これは開発中に便利です。

    • WEB-INF/clientLibs

      コンパイル時または設計時のアクセスの目的でのみプロジェクトに JAR が必要であり、JAR が既にアプリケーション、ポータル・サーバー、または mashup で使用可能な場合は、その JAR を WEB-INF/clientLibs 内に配置します。このディレクトリーは主に、アプリケーション・サーバーで既に使用可能になっている API に対するコンパイルに使用されます。WEB-INF/clientLibs からは、クラスは実行時にサーバーにロードされず、使用されません。このディレクトリーは、必要なコンパイルの対象であるアプリケーション・サーバー JAR を配置するのに安全な場所です。

  2. Eclipse プロジェクト・エクスプローラーで、 WebSphere Portlet Factory プロジェクトを右クリックし、「プロパティー」 > 「Java ビルド・パス」をクリックします。
  3. 「プロジェクトのプロパティー」ダイアログで、「ライブラリー」をクリックします。

    プロジェクトの Java ビルド・パスに現在存在する JAR ファイルのリストが表示されます。

  4. 以下のいずれかのボタンをクリックします。
    • JAR がプロジェクト構造内にある場合は「JAR の追加」
    • JAR がプロジェクト構造の外部にある場合は「外部 JAR を追加」
  5. 「JAR 選択」ダイアログで、適切なディレクトリーまでナビゲートし、プロジェクトに追加する JAR を選択します。
  6. 「JAR 選択」ダイアログで「OK」をクリックします。
  7. 「プロパティー」ダイアログで「OK」をクリックします。

動的クラス・ロードを構成する

プロパティーを設定することにより、動的クラス・ロードを構成できます。

  1. プロジェクトの WEB-INF/config ディレクトリーにナビゲートし 、bowstreet.properties ファイルおよび override.properties ファイルを見つけます。

    override.properties ファイルが存在しない場合は作成してください。

  2. テキスト・エディターで、override.properties ファイルを開き、 次の 2 つのプロパティーを見つけます。
    • bowstreet.dynamic.class.load.checkTimestamp
    • bowstreet.dynamic.class.load.path
  3. これらのプロパティーがファイルに存在しない場合は、bowstreet.properties ファイル を開き、そのプロパティーを含む行をコピーして override.properties ファイル に貼り付けます。
  4. override.properties ファイルで、次の例に示されている ように設定を変更します。
    bowstreet.dynamic.class.load.checkTimestamp=true
    bowstreet.dynamic.class.load.path=
    ${bowstreet.rootDirectory}/work/classes,
    ${bowstreet.rootDirectory}/work/lib
    注: 動的にロードされるクラスを 、Java クラスパス上に配置して、動的にロードされるようにすることはできません。
  5. override.properties ファイルを保管して閉じます。

動的クラス・ロードが有効になります。 WebSphere Portlet Factory サーブレットがサービス呼び出しを行うたびに、クラス・ファイルのタイム・スタンプが調べられます。新しいタイム・スタンプが存在していると、 新しいバージョンのクラスがロードされます。パフォーマンス上の理由から、開発環境では checkTimestamp プロパティーに true を設定し、実動の際に false に設定することが一般的です。

動的クラス・ロードの構成について

Linked Java Object、プロファイル・セット・マネージャー、および再生成クラスを動的にロードするように、IBM WebSphere Portlet Factory サーブレットを構成することができます。

通常、 WebSphere Portlet Factory サーブレットは、起動時にのみクラス・ファイルをロードします。 クラス・ファイルは、Java ベースの Web サービスまたは Linked Java Object Builder によって使用されます。 サービスまたはオブジェクトが使用可能な最新バージョンのクラス・ファイルを呼び出すようにするために、動的クラス・ロードを有効にすることができます。

通常の操作モードでは、アプリケーション・サーバーが起動されるごとに、classpath にあるクラス・ファイルが、デフォルトの JVM の ClassLoader によってロードされます。ただし、アプリケーション・サーバーの実行中にクラス・ファイルが変更されると (Java ファイルを再コンパイルした場合など)、デフォルトの ClassLoader はクラスを再ロードしません。

開発環境では、クラスをより頻繁に再ロードしなければならない場合があります。 しかし、クラス・ファイルに変更を加えるたびにアプリケーション・サーバーを再始動する必要はありません (または 再始動できない場合があります)。 動的クラス・ロードはこのような場合に便利です。

動的クラス・ロードが有効であると、パフォーマンス・コストがかかることに注意してください。 動的クラス・ロードが有効であると、モデルがサービスまたはリンクされたオブジェクト・クラスに呼び出しを行うたびに、クラス・ファイルのタイム・スタンプが検査されます。 このため、開発環境でのみ動的クラス・ロードを有効にして、開発環境や実稼働環境では無効にすることをお勧めします。

注: 開発環境または実稼働環境で、すべてのサービス・クラス・ファイルが WebSphere Portlet Factory サーブレットのクラスパスにあることを確認してください。

アプリケーション・サーバーを再始動しなくても、Java クラス・ファイルを動的にロードするように WebSphere Portlet Factory サーブレットを構成することができます。 これは、開発 WebSphere Portlet Factory サーブレットを共用し、サービスで使用される Java クラスを頻繁に更新する場合に行うことができます。

注: セキュリティーのインプリメンテーション方法によっては、動的クラス・ロードを各自のアプリケーション・サーバーで使用できることがあります。

動的クラス・ロード

Java クラスは、bowstreet.dynamic.class.load.path プロパティーに指定されたディレクトリーから動的にロードできます。

WebSphere Portlet Factory および WebSphere Portlet Factory Designer のクラスと JAR ディレクトリー

bowstreet.dynamic.class.load.path プロパティーのデフォルト値は IBM WebSphere Portlet Factory WEB-INF/work/classes と、プロジェクトの WEB-INF/work/lib ディレクトリーです。

次のディレクトリーは、Java クラスおよび JAR ファイルの、 WebSphere Portlet Factory プロジェクトおよび Web アーカイブ (WAR) ファイル・システムへの保管に使用されます。

WEB-INF/classes
クラス・ファイルを保管するために WebSphere Portlet Factory で使用される静的ディレクトリー。クラスは参照されるときにロードされ、変更についての検査は行われません。 このディレクトリーを最新表示し、クラス・ファイルの変更を確認するには、 サーバーを再始動する必要があります。
WEB-INF/lib
JAR ファイルを保管するために WebSphere Portlet Factory で使用される静的ディレクトリー。 JAR は、アプリケーション始動時にロードされ、変更についての検査は行われません。 このディレクトリーを最新表示し、JAR の変更を確認するには、 サーバーを再始動する必要があります。
WEB-INF/work/classes
再ロード可能なクラス・ファイルを動的に保管するために、 WebSphere Portlet Factory Designer が使用するディレクトリー。クラス・ファイルの変更内容は、 WebSphere Portlet Factory Designer またはサーバーを再始動しなくても、即時に使用できます。 詳しくは、クラスのロードが機能する仕組みを参照してください。
WEB-INF/work/lib
再ロード可能な JAR ファイルを動的に保管するために、 WebSphere Portlet Factory Designer が使用するディレクトリー。JAR ファイルの変更内容は、 WebSphere Portlet Factory Designer またはサーバーを再始動しなくても、即時に使用できます。 詳しくは、クラスのロードが機能する仕組みを参照してください。

WebSphere Portlet Factory 動的クラス・ローダー では、WEB-INF/work/classes フォルダーおよび WEB-INF/work/lib フォルダーからクラスをロードします。

サーバー・サイド では、 WebSphere Portlet Factory 動的クラス・ローダーは、ロード処理を J2EE WAR クラス・ローダー に委任します。このクラス・ローダー では、WAR ファイルの WEB-INF/classes フォルダーおよび WEB-INF/lib フォルダー からクラスをロードし、アプリケーション・サーバーのクラス・ローダーにロード処理を委任します。

WebSphere Portlet Factory Designer サイド では、 WebSphere Portlet Factory 動的クラス・ローダーは、ロード処理を WebSphere Portlet Factory WAR クラス・ローダー に委任します。各 WebSphere Portlet Factory プロジェクトは、現行プロジェクトの Eclipse Java ビルド・パス に基づいてクラスをロードする独自の Designer WAR クラス・ローダーを持ちます。 Designer WAR クラス・ローダーでは、プロジェクトの WEB-INF/work/classes フォルダー または WEB-INF/work/lib フォルダーの下にあるエントリーを除く、Eclipse Java ビルド・パス内のエントリー すべてを使用します。Designer WAR クラス・ローダーは、Eclipse クラス・ローダー にロード処理を委任します。

ロード処理の委任により、 WebSphere Portlet Factory プロジェクトは、 サーバーでの場合と同じ方法で Designer で機能できます。

以下の指針に 従う必要があります。
  • プロジェクトの WEB-INF/lib フォルダーまたは WEB-INF/work/lib フォルダーに、 アプリケーションが必要とし、WAR ファイルにパッケージ化する必要のある JAR ファイルを配置します。
  • アプリケーションに必要である一方で、実行時にアプリケーション・サーバーで既に使用可能 である (したがって、WAR ファイルにパッケージ化してはいけない) JAR ファイルの場合は、 以下のいずれかの処置を行います。
    • プロジェクトの WEB-INF/clientLibs フォルダーにこの JAR ファイルを入れます。
    • プロジェクトの Eclipse Java ビルド・パスで、そのような JAR ファイルを外部 JAR ファイルとして 参照します。
  • いずれの場合も、JAR ファイルを WebSphere Portlet Factory プロジェクト (WEB-INF/lib フォルダー、WEB-INF/work/lib フォルダー 、または WEB-INF/clientLibs フォルダーのいずれかにある) に追加する場合は、 そのファイルへの参照をプロジェクトの Eclipse Java ビルド・パスに追加します。

クラスのロードが機能する仕組み

プロジェクトの WEB-INF/work/source/ ツリーに配置されている Java ソース・コードはコンパイルされ、出力は WEB-INF/work/classes ツリーに格納されます。 このディレクトリーの内容は、動的にロードされるため、 変更を有効にするために WebSphere Portlet Factory Designer またはサーバーを再始動する必要はありません。 そのため、Java ソースの変更を WEB-INF/work/classes で即時に確認できます。 この調整は、ソース・コードを頻繁に変更する開発において役立ちます。

JAR ファイルの場所に関しては、 WEB-INF/work/lib ディレクトリーは、 WEB-INF/work/classes ディレクトリーと機能的に同等です。

クラスおよび JAR ファイルを操作するためのヒント

  • 開発時には、クラスと JAR ファイルを WEB-INF/work ディレクトリー下に配置しておきます。開発が終わったら、開発マシンで動的クラス・ロードをオフにして、アプリケーションのパフォーマンスを向上させることができます。

    動的クラス・ロードを使用不可にするには、WEB-INF¥config¥override.properties ファイル内の次のプロパティーを false に設定します。

    bowstreet.dynamic.class.load.checkTimestamp
  • 必要であれば、 WebSphere Portlet Factory Java 成果物を管理するための別個のプロジェクトを作成して、作成されたクラス用の JAR ファイルを作成します。この JAR ファイルは WebSphere Portlet Factory WEB_INF/work/lib ディレクトリーに配置することができます。
  • JAR ファイルは、作成する Builder およびその他の JAVA ベース項目を配布する場合に使用します。

Eclipse ベースの IDE にある Javadoc にアクセスする

統合開発環境 (IDE) の Java コードでオブジェクトの Javadoc にアクセスできます。

  1. 選択された Java オブジェクトに対して、次のいずれかのアクションを実行します。
    • F2 と入力して、簡単な説明が示されるツールチップを表示します。
    • SHIFT+F2 と入力して、そのオブジェクトの Javadoc を表示します。

    「ツールチップ」の内容がない場合、または文書の場所が設定されていないことを示すダイアログが IDE に表示される場合は、ダイアログに示されている JAR の「Javadoc ロケーション」プロパティーを設定できます。IBM WebSphere Portlet Factory が使用する JAR の Javadoc アクセスを確立できます。関連する Javadoc を持つことが分かっている他の JAR の手順と同じ手順を使用します。

  2. Package Explorer を始動します。
    1. 「ウィンドウ」 > 「ビューの表示」 > 「その他」 > 「Java」 > 「Package Explorer」をクリックします。
  3. Package Explorer が起動したら、作業するプロジェクトで「Web App ライブラリー」 > 「factory.jar」にナビゲートし、JAR ファイル項目を右クリックして「プロパティー」をクリックします。
  4. 「プロパティー」ダイアログで「Javadoc ロケーション」をクリックします。
  5. 「Javadoc URL」を設定します。
  6. 「Javadoc ロケーション・パス」「ブラウズ」をクリックし、 WebSphere Portlet Factory doc プラグインのディレクトリーにナビゲートします。

    次に例を示します。

    C:¥Program Files¥IBM¥WebSphere Portlet Factory¥Designer¥
    eclipse¥plugins¥com.bowstreet.designer.doc_6.1.2¥api

  7. コンピューターにインストールしたバージョンの適切なパスにある api フォルダーを選択し、「OK」をクリックします。
  8. 「検証 (Validate)」をクリックして、指定された場所に Javadoc が存在することを検証します。
  9. 「プロパティー」ダイアログで、「OK」をクリックします。

Eclipse ベースの IDE

IBM WebSphere Portlet Factory Designer は、Eclipse ベースの開発環境に完全に統合されます。

WebSphere Portlet Factory Designer は、以下の Eclipse ベースの統合開発環境 (IDE) でのプラグインです。

  • Eclipse 3.x
  • IBM Rational Development Environment

Eclipse ベースの IDE にある WebSphere Portlet Factory プロジェクト。

以下の表は、 WebSphere Portlet Factory プロジェクトの特性について説明しています。

プロジェクトの特性 説明
プロジェクトの性質 WebSphere Portlet Factory プロジェクトでは、Java プロジェクト・ネイチャーを使用します。
プロジェクトの内容 WebSphere Portlet Factory プロジェクトには、 WebSphere Portlet Factory のサービス提供可能なコンテンツ・ルート・ディレクトリーのすべての内容が含まれています。 例えば、wpf.war や以下のものがあります。
ソース・ディレクトリー WebSphere Portlet Factory プロジェクトは、ソース・ディレクトリーとして WebSphere Portlet Factory インストール環境の WEB-INF/work/source ディレクトリーを使用します。 ソース・ディレクトリーとして他のディレクトリーを指定できますが、 このディレクトリーを組み込む必要があります。
ビルド・ディレクトリー プロジェクトの Java ソース・ファイルがコンパイルされて格納される WEB-INF/temp ディレクトリーを指します。 WebSphere Portlet Factory Designer プラグインの一部として組み込まれた Ant スクリプトは、 このディレクトリー内のクラスを WEB-INF/work/classes ディレクトリーへコピーします。
組み込まれたライブラリー WebSphere Portlet Factory プロジェクトは、 WebSphere Portlet FactoryWEB-INF/lib ディレクトリーにあるすべての JAR ファイル、 および WEB-INF/clientlibs/servlet.jar にある JAR ファイルを含んでいます。
外部ツール Ant スクリプトのコピー・クラスは、コンパイルされた Java WEB-INF/work/classes ディレクトリーをコピーします。

WebSphere Portlet Factory および Eclipse IDE ログ・ファイルの場所。

WebSphere Portlet Factory Designer のログ・ファイルは、次のディレクトリーにあります。

eclipse/plugins/com.bowstreet.designer.core/log

WebSphere Portlet Factory のログ・ファイルは WebSphere Portlet Factory WEB-INF/logs ディレクトリーにあります。

ヘルプ表示を構成する

ヘルプの表示方法を構成するには、以下のステップに従います。

以下の 2 つの方法のいずれかでヘルプを表示できます。
ヘルプ・ビュー
これは、デフォルトの設定です。 この設定では、Eclipse ウィンドウの右側に新規の Eclipse ビューが開きます。 このヘルプ・ビューは、任意の場所に移動して配置することができます。
吹き出しヘルプとして
この設定では、別のフルサイズのヘルプ・ウィンドウが開きます。
  1. 「ウィンドウ」 > 「設定」 > 「ヘルプ」 > 「ウィンドウのコンテキスト・ヘルプを開く」を開きます。
  2. ヘルプ表示設定を選択します。 例えば、フルサイズのウィンドウでヘルプを表示するには、「吹き出しヘルプ (In an infopop)」を選択します。

IBM WebSphere Application Server Community Edition (WAS CE) での JRE の変更

別の JRE バージョンまたはベンダーに変更する場合、以下のステップを実行する必要があります。

  1. サーバーを停止します。
  2. WASCE_INSTALLED_DIR¥bin¥setenv.bat ファイルで、使用する JRE を指すように WASCE_JAVA_HOME 変数を設定します。
    この変更を行う前に、WebSphere Application Server CE の資料で、サポートされるバージョンおよびベンダーを確認する必要があります。
  3. サーバーを始動します。 コンソール・ウィンドウにリストされた JRE のバージョンが、新規の Java バージョンを参照するようになります。

IBM WebSphere Portlet Factory のサンプル

Web アプリケーションの開発に役立てることができる数多くのサンプルが用意されています。

製品 wiki には、コミュニティーで開発されたサンプルがあります。
http://www-10.lotus.com/ldd/pfwiki.nsf 
wiki のウェルカム・ページの「Quick links」という見出しの下にある「Samples」をクリックします。サンプルに関する記事のタイトルがアルファベット順にリストされており、カテゴリー (例えば、「Data access and services」) ごとにアクセスすることもできます。

IBM WebSphere Portlet Factory のチュートリアル

さまざまな機能、概念、および操作手順のビデオ・デモンストレーションについては、このリンク (http://www-10.lotus.com/ldd/pfwiki.nsf/xpViewCategories.xsp?lookupName=Media%20Gallery)を利用してください。

以下のトピックでは、 WebSphere Portlet Factory 環境で Web アプリケーションを開発および構築する方法について詳細に説明します。

IBM WebSphere Application Server CE で IBM WebSphere Portlet Factory を使用するためのクイック・スタート

クイック・スタートでは、 WebSphere Application Server CommunityEdition (WAS CE) を使用して、 プロジェクトを作成し、アプリケーションを実行するステップを説明します。

WebSphere Application Server CE を使用することで、 アプリケーションを迅速かつ簡単に開発およびテストできます。IBM WebSphere Portlet Factory をインストールするときに、 WebSphere Application Server CE をインストールするかどうか選択できます。

WebSphere Application Server Community Edition (WAS CE) は、Apache Geronimo に基づくオープン・ソースの Java 2 Platform、Enterprise Edition (J2EE) アプリケーション・サーバーです。

WebSphere Application Server CE プロジェクトを作成する

以下のステップに従って、 WebSphere Application Server CE で使用する基本プロジェクトを作成します。

  1. 「スタート」 > 「すべてのプログラム」 > 「IBM WebSphere Portlet Factory」 > 「Designer」をクリックして、インストール先の Eclipse クライアントを起動します。ウェルカム・ページが表示される場合は閉じてください。
  2. メニューから「ファイル」 > 「新規」 > 「WebSphere Portlet Factory プロジェクト」をクリックします。
  3. プロジェクト名をスペースを含めずに、例えば MyFirstProject のように入力します。 プロジェクト名には、スペースおよび特定の特殊文字は使用できません。 「次へ」をクリックします。
  4. 「機能セット」ページで、「チュートリアルと例」を拡張し、オプションの「モデルの作成」「Builder の作成」「チュートリアル」、および「ウィジェット」を選択して、付属のサンプル・アプリケーションがすべてインストールされるようにします。 「次へ」をクリックします。
  5. 「サーバー構成」ダイアログ・ボックスで、WASCE インストールでサプライされた「WASCE」アプリケーションのサーバー構成を選択します。この構成は、 ローカルにインストールされた WebSphere Application Server CE サーバーをポイントしており、 WebSphere Portlet Factory Designer からアプリケーションをテストおよび実行する場合に、必ず使用されます。
  6. 「完了」をクリックしてプロジェクトを作成します。
  7. プロンプトが出されたら、「はい」をクリックすると、Eclipse で WebSphere Portlet Factory パースペクティブが開きます。
  8. 「はい」をクリックすると、 WebSphere Application Server CE サーバーが開始されます。
  9. 「はい」をクリックすると、プロジェクトが即座に公開されます。

WebSphere Application Server CE を使用してサンプルを実行する

以下のステップに従って、 WebSphere Application Server CE プロジェクトを作成する で作成した WebSphere Application Server CE プロジェクト・ファイルを使用し、サンプル・アプリケーションを実行します。 サーバーでサンプル・アプリケーションを実行して、すべての構成が適切であることをテストできます。

  1. プロジェクト・エクスプローラー・ビューで、プロジェクトを models フォルダーまで展開します。他のチュートリアルで作成するモデルはすべて、この同じフォルダーに入ります。
  2. models/samples/gettingstarted フォルダー内にある OrdersServiceConsumer モデルを見つけてダブルクリックで開きます。
    models¥samples¥gettingstarted¥OrdersServiceConsumer 
  3. メニューから「実行」 > 「実行形態 (Run as)」 > 「アクティブなモデルの実行」をクリックするか、ツールバーの「実行」アイコンをクリックします。
  4. 「実行」をクリックして、 モデルを実行します。 WebSphere Portlet Factory Designer は、Web ブラウザーを実行し、URL を使用してモデルを開きます。

すべてが正しく構成されると、 ブラウザーに Web アプリケーションが表示されます。 このアプリケーションを操作する必要はありません。 ブラウザー内にアプリケーションが表示されれば、 セットアップが正しいこと、および WebSphere Application Server がアプリケーションを実行していることが確認されます。

チュートリアル - WebSphere Portlet Factory プロジェクトを作成する

IBM WebSphere Portlet Factory に備わっている多数の強力な機能を 4 つのチュートリアルに渡って紹介しますが、 これはその 1 番目のチュートリアルです。 このチュートリアルでは、 WebSphere Portal 用の WebSphere Portlet Factory プロジェクトの作成方法を学習します。

WebSphere Application Server Community Edition (WAS CE) 用のプロジェクトの作成に焦点を当てたチュートリアルについては、「IBM WebSphere Application Server CE で IBM WebSphere Portlet Factory を使用するためのクイック・スタート」 を参照してください。

これらのチュートリアルの使用法

この一連のチュートリアルは、初めて WebSphere Portlet Factory を使用する開発者の出発点として最適です。 このチュートリアルの 4 つのパートは、それぞれ完了するのに 30 分から 45 分ほどかかります。 各チュートリアルは前のチュートリアルで説明した知識を前提としているため、チュートリアルは以下に示す順序で完了してください。 また、これらのチュートリアルを完了した後は、 WebSphere Portlet Factory wiki で WebSphere Portlet Factory学習ロードマップ に アクセスし、 WebSphere Portlet Factory の学習経験をさらに深めることをお勧めします。

表 8.
チュートリアルの順序 説明
Web アプリケーション・プロジェクトを作成する このチュートリアルでは、Web アプリケーション・プロジェクトの作成方法を学習します。
アプリケーションを作成する このチュートリアルでは、単純な「Hello World」アプリケーションをビルドして、そのアプリケーションからポートレットを作成します。
データベース・アプリケーションを作成する このチュートリアルでは、SQL Table Create Builder を使用して、 サンプル・データベースに対するサービス・プロバイダー・モデルを作成します。 次に、Service Consumer Builder と Data Services User Interface Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成します。
新規アプリケーションでプロファイルを使用する 「Hello World」アプリケーション・チュートリアルからの続きとして、プロファイル作成の機能をアプリケーションに追加します。

学習内容

IBM WebSphere Portlet Factory をインストールした後、 WebSphere Portlet Factory Designer で WebSphere Portlet Factory プロジェクトを作成する手順の最初のステップは、ポートレットを作成することです。 このプロジェクトはポートレットまたはアプリケーションを作成する上での基盤となり、ポートレットまたはアプリケーションの公開に必要なすべての成果物が含まれます。

このチュートリアルでは、 WebSphere Portlet Factory プロジェクトを作成し、 IBM WebSphere Portal 環境で使用するためにこのプロジェクトを構成し、サンプルを実行して正しくセットアップされていることを確認します。これらのタスクが完了したら、 WebSphere Portlet Factory を使用して Web アプリケーションおよびポートレットを開発する基本を学習するために他のチュートリアルを実行する準備が整います。

学習を始める前に

チュートリアルを実行するには、次のセットアップが必要です。

  • ポートレットをテストするには、 WebSphere Portal がインストールされているローカル環境またはネットワーク環境にアクセスする必要があります。 プロジェクトを公開するには、 WebSphere Portal サーバーが実行されている必要があります。このチュートリアルにある指示は、 WebSphere Portal サーバーがローカル側にインストールされていることを 想定していますが、 下で説明されているように、他の構成も可能です。 ポータルがない場合、ローカル開発サーバーでアプリケーションをテストすることができますが、ポータル固有のステップを完了することはできません。
  • WebSphere Portlet Factory Designer がローカル側にインストールされている必要があります。 WebSphere Portlet Factory Designer は、 Web アプリケーションおよびポートレットを作成するための開発環境です。 これは、Eclipse や Rational Application Developer (RAD) などの統合開発環境 (IDE) にインストールされます。Eclipse または RAD をまだインストールしていない場合は、 WebSphere Portlet Factory インストール手順で Eclipse をインストールできます。
  • 開発中のアプリケーションを Designer から実行するために、アプリケーション・サーバーにアクセスできる必要があります。 WebSphere Portal WebSphere Application Server 上で稼働するため、 WebSphere Portal をインストールしている場合は、 WebSphere Portal での WebSphere Application Server インスタンスをテスト環境として使用できます。また WebSphere Application Server Community Edition (WAS CE) や Tomcat を使用することもできます。

プロジェクトを作成する

  1. WebSphere Portlet Factory Designer を始動します。ウェルカム・ページが表示される場合は閉じてください。
    注: RAD を使用している場合は、 ファイル・システムの最上位に近いワークスペース (例: C:¥factory¥my_projects¥) を見つけて、 パス/ファイル名が Windows の 256 文字制限を超えないようにしてください。
  2. 「ウィンドウ」 > 「パースペクティブを開く」 > 「その他」 > 「WebSphere Portlet Factory」を選択して、 WebSphere Portlet Factory パースペクティブに切り替えます。
  3. 以下のステップを実行して、 WebSphere Portlet Factory Web アプリケーション・プロジェクトを作成します。
    1. メニューから「ファイル」 > 「新規」 > 「WebSphere Portlet Factory プロジェクト」を選択します。プロジェクトの作成を支援するウィザードによるガイドが行われます。
      注: リストから「プロジェクト」ではなく「WebSphere Portlet Factory プロジェクト」を必ず選択してください。
    2. 「プロジェクト名」ステップでは、スペースを入れずに MyFirstProject と入力します。 プロジェクト名には、スペースおよび特定の特殊文字は使用できません。 プロジェクトに名前を付け終えたら、「次へ」をクリックします。
  4. 「チュートリアルと例」機能セットを追加します。
    1. 「機能セット」ダイアログ・ボックスでは、使用可能なすべての機能セットがリストされます。「チュートリアルと例」を選択して、その機能セット内のすべてのコンポーネントを選択します。 このオプションによって、 WebSphere Portlet Factory Designer に付属のチュートリアルを実行するために必要なファイルが追加されます。
    2. 「次へ」を クリックして先に進みます。
  5. テスト・サーバー構成を理解します。

    作成する必要のあるサーバー構成は、1 つのみです。 このサーバー構成により、開発中にプロジェクトをテストするためにアプリケーション・サーバーにプロジェクトを公開し、ポータルでポートレットを表示するためにポータルにポートレットを公開します。

    開発者がセットアップできる構成は数多く、さまざまです。 最も一般的な構成タイプについて、以下で説明します。

    表 9. 一般的なタイプのポータル構成
    構成タイプ 説明
    ローカル側にインストールされたポータル・サーバーおよびアプリケーション・サーバー WebSphere Portal サーバーおよび組み込まれた WebSphere Application Server はローカル側にインストールされています。 サーバー構成を新規に作成すると、重要なフォルダー (アプリケーション・サーバーの installedApps フォルダーなど) への参照は、ローカル・ハード・ディスクを指します。

    この構成は非常に使いやすいですが、受け入れ可能なレベルのパフォーマンスを実現するには、2 GB 以上の RAM を備えた強力な開発マシンが必要です。

    リモート側にインストールされたポータル・サーバーおよびアプリケーション・サーバー WebSphere Portal サーバーと組み込まれた WebSphere Application Server は、ネットワークでアクセス可能な別のマシンにインストールされます。
  6. サーバー構成を作成します。既存の構成が適切に機能する場合は、その構成を使用できます。このようなデプロイメント構成がない場合は、構成を新規に作成する必要があります。
    1. 「プロジェクト・プロパティー」ウィンドウで「サーバー構成を作成」をクリックします。
    2. 使用する環境用の正しいサーバー構成を選択して、「OK」をクリックします。「サーバー構成を編集する」ダイアログが表示されます。
    3. 構成名と構成の説明は、デフォルトでロードされます。

      オンライン・ヘルプを使用し、環境の構成を完了してください。

    4. 「テスト・サーバー接続」をクリックして、 WebSphere Application Serverへの接続を検査します。エラーを受け取る場合は、サーバーが稼働していることを確認してから「テスト・サーバー接続」をもう一度クリックします。
    5. 「OK」をクリックして先に進みます。
  7. 「完了」をクリックすると、指定された詳細および機能に従って、プロジェクトが作成されます。 「プロジェクトをただちに公開しますか?」というプロンプトが出されます。「はい」をクリックします。

    WebSphere Portlet Factory 6.x のローカルのインストール済み環境を使用している場合、 WebSphere Application Server のセキュリティーがデフォルトで使用可能になります。このため、WAR ファイルの作成中にクリデンシャルを求めるプロンプトが出される場合があります。 WebSphere Portal 管理者クリデンシャルではなく、 WebSphere Application Server の管理者クリデンシャルを使用してください。また、かならずこのプロンプトが出るまで待ってから、公開処理を実行するようにしてください。プロンプトを無視するとタイムアウトになるため、WAR ファイルは自動的には公開されません。 この場合でも、WebSphere 管理コンソールを使用して手動で WAR ファイルをインストールし、構成することはできます。

  8. サーバーがリモート側にある場合、またはアプリケーションでアプリケーションの公開機能を使用しないことを選択した場合は、「問題」ビューにエラー・メッセージが表示されます。このメッセージには、 WebSphere Portlet Factory 開発 WAR の場所が存在していないことが記述されています。また、アプリケーションの公開機能が何らかの理由 (サーバーが稼働していない場合など) で失敗した場合にもこのメッセージが表示されます。このエラーを受け取る場合は、 WebSphere Portal 管理コンソールからポートレット WAR ファイルを手動で公開する必要があります。

セットアップをテストする

WebSphere Portlet Factory プロジェクトを作成したため、 サーバーでサンプル・アプリケーションを実行し、すべての構成が適切であることをテストできます。

  1. 以下のステップに従って、「チュートリアルと例」機能セットから サンプル・モデルの 1 つを開いて構成をテストします。
    1. プロジェクト・エクスプローラー・ビューで、 models¥tutorials フォルダーを展開します。他のチュートリアルで作成することになるモデルはすべて、この同じフォルダーに入れられます。
    2. tutorials フォルダー内にある Tutorial_MyFirstPortlet.model (¥solutions¥basics¥MyFirstPortlet_Solution) を見つけてダブルクリックで開きます。
  2. 実行構成を作成する
    1. メニューから「実行」 > 「実行...」を選択するか、 またはワークスペースの上にある 「実行」アイコン (背景が緑の白い右矢印) をクリックします。 WebSphere Portlet Factory Model プロジェクトの作成時に作成されたデフォルト実行構成を選択します。これが現行のアクティブ・モデルです。
    2. すべてが正しく構成されていれば、 「チュートリアル基本 - Hello World!」を表示する Web アプリケーションがデフォルト・ブラウザーに示されます。このアプリケーションを操作する必要はありません。 ブラウザー内に表示されるだけで、セットアップが正しいこと、および WebSphere Application Serverがアプリケーションを実行していることが確認されます。
  3. Java コンパイラーのメッセージと警告をクリーンアップします (オプション)。
    1. WebSphere Portlet Factory WebSphere Portlet Factory Designer に再び切り替えます。ワークスペースの下部にある「問題」タブに、未使用のローカル変数に関する警告がいくつか表示される場合があります。 これらのメッセージは、「チュートリアルと例 - Builder」機能セットに含まれるサンプル Java ファイル内の不要なコードに関するものです。 これらの変数は、「カスタム Builder を作成する」というチュートリアルを行う際に使用されます。 この時点でこの警告が表示されないようにする場合は、このステップを続けます。 それ以外の場合は、ステップ 5 にスキップします。
    2. 以下のステップに従って、不要なコードの警告が表示されないようにします。
      1. メニューから「ウィンドウ (Window)」 > 「設定」を 選択して、「設定」ダイアログ・ボックスを表示します。
      2. このダイアログ・ボックスの左側で「Java」 > 「コンパイラー」 > 「エラー/警告」を選択します。
      3. 右側に、省略された複数のセクションが表示されます。 「不要なコード (Unnecessary code)」というラベルが付いたセクションを展開します。
      4. このセクションには、 値が「警告」(「ローカル変数は読み込まれません (Local variable is never read)」など) に 設定されているフィールドがいくつかあります。 このセクションのすべてのフィールドを「無視」に設定します。
      5. 「OK」をクリックして変更内容を保管します。
      6. ここで、Eclipse は現在開かれているすべてのプロジェクトを再ビルドする必要があります。 完全ビルドを実行して変更内容を適用するように促すプロンプトが出されたら、「はい」をクリックします。 再ビルド・プロセスが完了すると、警告が表示されなくなります。
  4. WebSphere Portal 内のポートレット・モデルをテストして、 ポートレットが適切に公開されていることを確認します。
    1. ページの作成およびページへのポートレットの追加を行うための権限を持つ 管理者またはユーザーとして WebSphere Portal にログインします。
    2. 「チュートリアル基本 - 最初のポートレット・ソリューション」というタイトルのポートレットを、新規または既存のページに追加します。プロジェクトの作成中にすべての作業を正しく行っていれば、このポートレットを容易に表示できるはずです。完了したらページ管理を終了します。
    3. この新規ポートレットを含むページへの WebSphere Portalを開き、ポートレットを検査します。このセクションの最初でテストした MyFirstPortlet_Solution モデルと同じように表示されるはずです。
    4. ポートレットが適切に公開されたことを確認したら、 WebSphere Portal を閉じます。
  5. メニューから「ファイル」 > 「すべて閉じる (Close All)」を 選択して、 WebSphere Portlet Factory Designer で開かれているすべてのモデルとファイルを閉じます。

学習したレッスンと次のステップ

完了しました。 WebSphere Portlet Factory プロジェクトを作成し、サンプル・アプリケーションを実行して構成が正しいことを確認しました。作成した WebSphere Portlet Factory プロジェクトには、 作成するすべてのモデル、 および WebSphere Portlet Factory Web アプリケーションとポートレットの開発、公開、 テストに必要なすべてのサポート・コードと成果物が含まれています。

これで、 WebSphere Portlet Factory Designer を使用した Web アプリケーションおよびポートレットの開発方法について学習する準備ができました。 「アプリケーションを作成する」のチュートリアルから始めてください。

チュートリアル - 最初のアプリケーションを作成する

IBM WebSphere Portlet Factory に備わっている多数の強力な機能を 4 つのチュートリアルに渡って紹介しますが、 これはその 2 番目のチュートリアルです。このチュートリアルでは、単純な「Hello World」アプリケーションをビルドします。

これらのチュートリアルの使用法

この一連のチュートリアルは、初めて WebSphere Portlet Factory を使用する開発者の出発点として最適です。 このチュートリアルの 4 つのパートは、それぞれ完了するのに 30 分から 45 分ほどかかります。 各チュートリアルは前のチュートリアルで説明した知識を前提としているため、チュートリアルは以下に示す順序で完了してください。 また、これらのチュートリアルを完了した後は、 WebSphere Portlet Factory wiki で WebSphere Portlet Factory学習ロードマップ に アクセスし、 WebSphere Portlet Factory の学習経験をさらに深めることをお勧めします。

表 10.
チュートリアルの順序 説明
Web アプリケーション・プロジェクトを作成する このチュートリアルでは、Web アプリケーション・プロジェクトの作成方法を学習します。
アプリケーションを作成する このチュートリアルでは、単純な「Hello World」アプリケーションをビルドして、そのアプリケーションからポートレットを作成します。
データベース・アプリケーションを作成する このチュートリアルでは、SQL Table Create Builder を使用して、 サンプル・データベースに対するサービス・プロバイダー・モデルを作成します。 次に、Service Consumer Builder と Data Services User Interface Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成します。
新規アプリケーションでプロファイルを使用する 「hello world」アプリケーション・チュートリアルからの続きとして、プロファイル作成の機能をアプリケーションに追加します。

学習内容

開発者は、モデルを作成し、それらのモデルに Builder を追加し、 作成したアプリケーションを実行することにより、アプリケーションをビルドします。 次に、そのアプリケーションからポートレットを作成します。

セットアップの要件

チュートリアルを実行するには、次のセットアップが必要です。

  • プロジェクトを作成し、公開しておく必要があります。プロジェクトには、 「チュートリアルと例/アプリケーション」機能セットが組み込まれている必要があります。 プロジェクトの作成方法については、チュートリアルの「Web アプリケーション・プロジェクトを作成する」で詳しく説明しています。
  • WebSphere Portal サーバーが実行されている必要があります。

初めてのアプリケーションを作成する

  1. チュートリアルのこのパートでは、新しい WebSphere Portlet Factory モデルを作成します。
    1. WebSphere Portlet Factory Designer を起動します。
    2. チュートリアル「Web アプリケーション・プロジェクトを作成する」で 作成した WebApp プロジェクト「MyFirstProject」を開きます。
    3. 「ファイル」 > 「新規」 > 「WebSphere Portlet Factory モデル」を選択します。 このコマンドにより、新規モデルの作成を支援するウィザードが呼び出されます。
    4. このモデルが作成されるべきプロジェクトを選択します。 WebApp プロジェクト「MyFirstProject」が強調表示されます。 「次へ」を クリックして先に進みます。
    5. 新規モデルの作成時には、リストから開始モデルを選択することができます。 「モデルの選択」ページの「Factory 開始モデル」カテゴリーから「メインおよびページ」を 選択して、「次へ」をクリックします。「ページ設定値」ダイアログが表示されます。
    6. 「メインおよびページ」開始モデルを選択したため、 最初のページの内容を指定するオプションが提供されます。 既存の HTML ファイルを選択するか、「単純なページ」を選択して非常に基本的な HTML ページを取得することができます。 「単純なページ」を選択し、「次へ」をクリックします。「新規モデルの保管」ダイアログが表示されます。
    7. モデルは、プロジェクトの models フォルダーに保存されています。このプロジェクトには、サンプルとチュートリアルの機能セットが既に含まれているため、 使用すべきチュートリアル関連のフォルダーがいくつか存在しています。 models フォルダーを展開して、models¥tutorials フォルダーを選択した後、MyFirstPortlet と入力して「完了」をクリックします。これで、 WebSphere Portlet Factory Designer は新規モデルを作成して自動的に開くことになります。
    モデルについて
    モデルとは単なる Builder への呼び出しのセットのことです。 この呼び出しによって、アプリケーションの動作、構造、データ、および表示を表す アプリケーション・コンポーネントが次々に生成されます。 内部的には、モデルは、Builder への一連の呼び出しが含まれている単なる XML ファイルです。

    新しいアプリケーションを作成する場合は、新規モデルを作成してから、適切な Builder 呼び出しをそのモデルに追加します。

  2. 新規モデルを調べて実行します。
    1. ワークスペースの左下隅に「アウトライン (Outline)」というラベルの付いたタブがあり、 その中にモデルが使用するすべての Builder、またはモデルの「Builder 呼び出しリスト」が含まれています。モデルは Builder で構成され、モデル内の各 Builder は Builder 呼び出しによって表されます。 Builder 呼び出しを編集するには、Builder 呼び出しリスト内の Builder 呼び出しをダブルクリックします。
      Builder について
      Builder は、高度に適応性のあるソフトウェア・コンポーネントのことで、 特定のアプリケーション機能のコード (Java、JSP、XML など) を生成します。 例えば、 WebSphere Portlet Factory には、Web ページ上にボタンを配置するためのコードを自動的に作成する程度の 単純な Builder が用意されています。 WebSphere Portlet Factory には、Data Services User Interface Builder などの強力な Builder も多数含まれています。 この Builder は、データ・ソース (データベース、Lotus Domino、Web サービス、変数など) からデータを取得して表示する 完全なアプリケーションを作成するために必要な変数、JSP、スキーマ、Java コードをすべて作成します。

      Builder には、使いやすく、ウィザードに似たユーザー・インターフェースが用意されていて、 アプリケーションを素早く簡単に開発できます。 ただし、Builder は開発プロセス全体で繰り返し使用できるため、ウィザードに比べ、はるかに強力です。 一度だけ実行されるウィザードを備えた他の IDE とは異なり、 WebSphere Portlet Factory では、いつでも前に戻って Builder の入力値を変更し、 アプリケーション全体をただちに更新することができます。

      舞台裏を見てみると、Builder は、適切な自動化タスク (ボタン用 JSP の作成など) を実行する Java クラスと、 Builder の入力値および設計時のユーザー・インターフェース特性を定義する XML 文書 (Builder 定義) から構成されています。

    2. Builder 呼び出しリストで、main という Action List Builder 呼び出しをダブルクリックします。 右側に Builder 呼び出しエディターが開き、その Builder の入力の現行値が表示されます。 表示されているとおり、アクション・リストには 1 つのエレメントしかありません。 このアクションは、表示される page1 というページをトリガーします。
    3. ここで、Builder 呼び出しリストで、page1 という名前の Page Builder 呼び出しをダブルクリックします。これには、いくつかの名前付き <span> タグを持つ 非常に基本的な HTML がいくつか含まれています。 Portlet Factory は、名前付きタグ (名前属性を備えた html エレメント) を使用して、 生成されたユーザー・インターフェース・マークアップを配置する必要のあるページ上の場所を特定します。すぐにこのページに表示されるものは、「ページ・コンテンツ」フィールドで参照できる単純な HTML のみです。
    4. ワークスペース上部のメニューの直下にあるアイコンの行から 右矢印アイコン をクリックして、モデルを実行します。 ブラウザーが起動し、「Default Test Page」というタイトルの単純なページを含む、 この単純なアプリケーションが表示されます。
    5. ブラウザーを閉じて、 WebSphere Portlet Factory Designer に戻ります。
  3. チュートリアルのこのパートでは、基本的なページ・レイアウトを作成します。
    1. アプリケーション・ツリーに表示されるもの

      アプリケーション・ツリーは、 Builder によって現在のモデルに生成されるすべての成果物を表示します。 これらの成果物を選択することで、オブジェクトの詳細を表示できます。 成果物は Java、XML、HTML、JSP などの可能性があります。オブジェクトの詳細を表示する方法は 2 種類です。「ソース」タブには、 作成されたもののテキスト表示が、「設計」タブには、オブジェクトがビジュアル表示されます。 「設計」タブは、アプリケーションを実行する際にブラウザーでレンダリングするものほど正確ではありませんが、アプリケーションの作成時に、さまざまな変更内容をプレビューするのに役立ちます。 また、「設計」タブでは、HTML ページでの静的テキストの他、現在その中にコンテンツが含まれていない名前付きタグも表示します。 「設計」タブは、現在、ページ用としてのみ使用可能です。

      アプリケーション・ツリーが表示されない場合は、 MyFirstPortlet モデルを開いて選択しているかを確認してください。 MyFirstPortlet モデルが選択されていない場合、「プロジェクト・エクスプローラー (Project Explorer)」ウィンドウでそのモデルを見つけて、ダブルクリックします。

      アプリケーション・ツリー内の各種エレメントを選択しようとすると、ソースおよびデザイン・ビュー内のそれに対応するエレメントが強調表示されるのを注意して見てください。

    2. Text Builder 呼び出しをモデルに追加して、namedTag という <span> タグを置き換えます。
      1. アプリケーション・ツリーで page1 を選択します。
      2. アプリケーション・ツリーの上にある Builder ピッカー・アイコン をクリックして、このモデルに追加可能な Builder のリストを表示します。このリストには、使用可能なすべての Builder とその Builder カテゴリーが表示されます。 デフォルトの選択されたカテゴリーは 「推奨」 です。このカテゴリーでは、アプリケーション・ツリーの現在の選択に基づいて、一般に使用される Builder がリストされます。 ページを変更できる Builder が多数存在するため、数多くの選択項目が表示されます。
      3. 追加する Builder 呼び出しのタイプとして「テキスト」を検索して選択し、「OK」をクリックします。 この新しい Builder 呼び出しにより、右側のペインに Builder 呼び出しエディターが表示されます。
      4. この Builder 呼び出しの「ページの場所」セクションには、いくつかの入力が含まれています。 「ページ」および「タグ」には、 選択項目のドロップダウン・リストがあります。 「ページ」フィールドについては page1 を選択し、「タグ」フィールドについては namedTag を選択します。 これで、この Text Builder は、namedTag という名前付き <span> タグの内容を、「テキスト」入力に指定されたテキスト表現に置き換えることを認識します。
      5. 「テキスト」という ラベルが付いた入力は、この Builder 呼び出しがページに追加するテキストが入力される場所です。 この入力を見つけて、「チュートリアル基本 - Hello World!」と入力します。
      6. 「OK」をクリックします。
      7. 設計タブをクリックすると、Text Builder が「チュートリアル基本 - Hello World!」という語句を追加したことが分かります。モデルを再実行して、それを Web ブラウザーで表示します。 今度は、「チュートリアル基本 - Hello World!」という語句が "Use a named tag to place the results of a builder call on a page" という静的テキストに置き換わっているはずです。
      注: ここで Text Builder を使用しているのは、 WebSphere Portlet Factory での作業を非常に迅速に開始するためです。 通常の開発プロセスでは、 WebSphere Portlet Factory のフル機能を実際に利用するには、 Data Page Builder とページ自動化を使用する必要があります。これらの機能の使用法については、この後のチュートリアルで説明します。

アプリケーションをポートレットにする

これまでにアプリケーションを作成しましたが、まだモデルをポートレットとして使用できるようにはしていませんでした。 ここでは、 WebSphere Portal フレームワーク内でモデルをポートレットとして実行できるようにします。このタスクは、この目的のために存在する Portlet Adapter Builder によって簡単に達成できます。

Portlet Adapter Builder について

Portlet Adapter Builder は、 WebSphere Portal 内のポートレットとして機能するようにモデルを自動的に構成します。 ポートレットに関する有用な情報 (名前、タイトル、説明、ポートレット・ヘルプ・ファイル名 (オプション) など) は、 このタイプの Builder 呼び出しで入力されます。 名前、タイトル、および説明は、ポータル管理者がポートレットを管理したりポートレットをポータル・ページに適用したりするときに表示されます。 ヘルプ・ファイルは、ユーザーがポートレットのタイトル・バーのメニューを使用してアクセスします。

プロファイルについてはより上級のチュートリアルで説明しますが、ここでは、 構成ページと編集ページのデフォルト・ユーザー・インターフェース (UI) は非常に簡潔であるということを指摘しておきます。 個別の HTML ページまたは WebSphere Portlet Factory モデルで、これらのページ用のより充実した UI を別途作成することができます。 これらのページとモデルは、Portlet Adapter Builder 呼び出しで参照できます。 この Builder は、これらのページとモデルをポートレットに自動的に追加します。

Portlet Adapter Builder 呼び出しを MyFirstPortlet モデルに追加し、 作業内容をテストするために、ポートレットをポータル・ページに追加します。

  1. モデルがポートレットとして機能するようにします。
    1. MyFirstPortlet モデルを開きます。
    2. Builder ピッカー・
アイコン をクリックして、新しい Builder 呼び出しをモデルに追加します。まだ何も選択されていない場合は、カテゴリー「すべて」 を選択します。
    3. 「Portlet Adapter Builder」を選択し、「OK」をクリックします。
    4. この Builder 呼び出しへのさまざまな入力に 指定する値の詳細について、下の表を使用します。 これらの値の入力が完了したら、「OK」をクリックします。
      表 11. Portlet Adapter Builder 入力
      入力名 所定の入力について下の値を入力する
      名前 tutorial_basics
      ポートレットのタイトル チュートリアル基本 - ポートレット
      ポートレットの説明 コア概念をデモするための単純な例
    5. 「OK」をクリックします。
    6. モデルを保管します。
    7. プロジェクトの名前を右クリックして、「アプリケーションの公開」を選択します。ポータル・サーバー構成を選択して、「OK」をクリックします。このタスクは、完了するまでにしばらく時間がかかることがあります。

    ポートレット WAR を再公開する理由

    前のチュートリアルでプロジェクトを作成したときに、 ポートレットの Web アプリケーション・アーカイブまたは WAR が作成されました。 プロジェクト内のモデルおよびプロファイル・セットを変更すると、その変更内容はポータル・サーバーで自動的に再公開されます。

    ただし、モデルの変更では、ポートレット WAR の再公開が必要となることがあります。Portlet Adapter Builder をモデルに追加することは、このような変更の 1 つです。 ポータル・フレームワークが新規ポートレットを認識するためには、 ポータル・サーバーのポートレット WAR を新規 WAR で置き換える必要があります。 また、 WebSphere Portlet Factory Designer で既存のポートレット WAR を再公開すると、古い WAR を置き換える新規 WAR も自動的に公開されます。

  2. WebSphere Portlet Factory 作業ポータル・ページを作成します。

    このチュートリアルを完了するためおよび後で行う他のチュートリアルに役立つよう、このステップでは、ポータルの「マイ・ポータル」 > 「マイ・ワーク」ページの下に 小規模なページ階層を作成します。

    1. WebSphere Portal に管理者でログインします。
    2. 「管理」リンクをクリックします。
    3. 「ポータル・ユーザー・インターフェース」 > 「ページの管理」とクリックする。
    4. 「コンテンツ・ルート」ページへのリンクを見つけてクリックします。
    5. 「新規ページ」ボタンを クリックして、 WebSphere Portlet Factory というページを作成します。 デフォルト値を受け入れて、「OK」をクリックします。 リストに「 WebSphere Portlet Factory」ページが表示されるはずです。
    6. WebSphere Portlet Factory」ページへのリンクをクリックします。 「Tutorials」という新規ページを作成します。 「OK」をクリックしてページを保管します。
  3. 「基本」ページを作成し、MyFirstPortlet を追加します。
    1. 「チュートリアル」ページへのリンクをクリックします。 「基本」という新規ページを作成します。 「OK」をクリックしてページを保管します。
    2. 「基本」ページ詳細の横の行にある「ページ・レイアウトの編集 (Edit Page Layout)」アイコンをクリックします。「レイアウト編集」ページが表示されます。
    3. 「ポートレットの追加 (Add Portlet)」アイコンをクリックします。
    4. 検索機能を使用して、リストから「チュートリアル基本 - ポートレット」ポートレットを検索します。
    5. ポートレットの横のチェック・ボックスをクリックし、「OK」をクリックして「完了」をクリックすると、変更内容が保存されます。
    6. 「ホーム (Home)」タブをクリックし、次に「 WebSphere Portlet Factory」タブをクリックします。
    7. 「チュートリアル/基本」にナビゲートして、組み込まれた「Hello World」ポートレットを表示します。

学習したレッスンと次のステップ

WebSphere Portlet Factory は、ポートレットおよび J2EE 準拠の Web アプリケーションを開発するための強力なツールです。 アプリケーションおよびポートレットは Builder から構成されます。 モデル内の各 Builder 呼び出しは、 WebSphere Portlet Factory が生成するアプリケーションの XML 表記にいくつかの点で役立ちます。 再生成プロセスによって、アプリケーションが生成されます。

以上で、「チュートリアル - データベース・アプリケーションを作成する」チュートリアルを実行する準備が整いました。 このチュートリアルでは、SQL Data Services Builder を使用して、 サンプル・データベースに対するサービス・プロバイダー・モデルを作成します。 次に、Service Consumer Builder と Data Services UI Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成します。

チュートリアル - 新規アプリケーションでプロファイルを使用する

「hello world」アプリケーション・チュートリアルからの続きとして、プロファイル作成の機能をアプリケーションに追加します。

これらのチュートリアルの使用法

この一連のチュートリアルは、初めて WebSphere Portlet Factory を使用する開発者の出発点として最適です。 このチュートリアルの 4 つのパートは、それぞれ完了するのに 30 分から 45 分ほどかかります。 各チュートリアルは前のチュートリアルで説明した知識を前提としているため、チュートリアルは以下に示す順序で完了してください。 また、これらのチュートリアルを完了した後は、 WebSphere Portlet Factory wiki で WebSphere Portlet Factory学習ロードマップ に アクセスし、 WebSphere Portlet Factory の学習経験をさらに深めることをお勧めします。

表 12.
チュートリアルの順序 説明
Web アプリケーション・プロジェクトを作成する このチュートリアルでは、Web アプリケーション・プロジェクトの作成方法を学習します。
アプリケーションを作成する このチュートリアルでは、単純な「Hello World」アプリケーションをビルドして、そのアプリケーションからポートレットを作成します。
データベース・アプリケーションを作成する このチュートリアルでは、SQL Table Create Builder を使用して、 サンプル・データベースに対するサービス・プロバイダー・モデルを作成します。 次に、Service Consumer Builder と Data Services User Interface Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成します。
新規アプリケーションでプロファイルを使用する 「hello world」アプリケーション・チュートリアルからの続きとして、プロファイル作成の機能をアプリケーションに追加します。

学習内容

このチュートリアルでは、プロファイル作成をアプリケーションに追加します。 プロファイル作成により、 WebSphere Portlet Factory は、 アプリケーションのさまざまなパーツに代替値のセットを指定することで、 複数のバージョンのアプリケーションを動的にビルドすることができます。

プロファイル・セットを作成し、プロファイル作成をアプリケーションに適用する

WebSphere Portlet Factory の最も強力な特徴の 1 つは、プロファイル作成という概念とともにモデルを使用し、事前定義パラメーターのさまざまなセットを同一のコード・ベースと組み合わせて、同じアプリケーションの複数のバージョンを生成できることです。 チュートリアルのこのパートでは、一連の Builder 入力用に新規プロファイル・セットを作成します。このプロファイル・セットには、プロファイル済み Builder 入力について 2 つの異なる値セットが含まれています。 一方の値セットともう一方の値セットでは、アプリケーションの動作が異なります。 作業が完了すると、2 つのバージョンのアプリケーションが作成され、 それぞれのバージョンは、スイッチを反転させてモデルを再実行することによって呼び出すことができます。

  1. Text Builder のプロファイル・セットを作成します。
    1. 「アプリケーションを作成する」のチュートリアルで作業した MyFirstPortlet モデルに戻り、 namedTag という名前の Text Builder 呼び出しを見つけて、「設計」ビューまたは Builder 呼び出しリストでその呼び出しをダブルクリックして開きます。その Builder 呼び出しが、右側の Builder 呼び出しエディターに表示されます。
    2. チュートリアル基本 - Hello World!」という値を持つ「テキスト」という名前の Builder 入力を探します。プロファイル・アイコンをクリックして、この Builder 入力をプロファイル対応にします。
      ここで行われている内容
      初めてモデルの Builder 入力をプロファイル対応にすると、 WebSphere Portlet Factoryはプロファイル・セットを作成し、そのモデル名には、暗黙に作成されたプロファイル・セットの名前として、接尾部「ps」を付けます。例えば、モデル MyFirstPortlet の場合、Designer は MyFirstPortletps という名前のプロファイル・セット名を自動的に作成します。
    3. 「項目の作成」をクリックし、名前を「テキスト」に変更し、プロンプトを「表示するテキスト」に変更して、作業が完了したら「OK」をクリックします。
    4. 「デフォルト」プロファイルに加えて、2 番目のプロファイルを作成するには、「プロファイルの作成」をクリックします。このプロファイルの名前を MyFirstPortletAlternateView と指定し、「OK」をクリックします。プロファイル値には、プロファイル作成チュートリアル - 代替ビュー と入力します。
    5. 作業が完了したら、「OK」をクリックします。
    6. この時点では、Builder 呼び出しの変更は保存されていません。「ファイル」 > 「保管」をクリックして、変更内容を保存してください。
  2. プロファイルを適用してアプリケーションをテストします。
    1. MyFirstPortletps プロファイルを適用する前に、 モデルを再実行して、アプリケーションに 表示される値を確認します。 この時点では、何の変更もなく、アプリケーションは前回テストしたときとまったく同じように動作します。
    2. ブラウザーを閉じて WebSphere Portlet Factory Designer に戻り、ワークスペースの下部セクションを確認します。 ここには、「問題」、「タスク」、 および「適用対象プロファイル」の各ラベルが付いたタブを持つパネルがあります。 (これらのタブが表示されていない場合は 「Window」 > 「パースペクティブのリセット」を選択してください) 「適用対象プロファイル」タブをクリックします。
    3. 「適用対象プロファイル」タブには、MyFirstPortletps プロファイル・セット内のすべてのプロファイルの名前が含まれているドロップダウン・リストがあります。 このプロファイル・セットがこのタブに表示される理由は、 そのプロファイル・セット内のプロファイル項目に関連付けられた Builder 入力がこのモデルに存在するためです。 リストから「MyFirstPortletAlternateView」を選択し、「適用」ボタンをクリックします。

      ここで 行われる内容

      MyFirstPortletAlternateView プロファイルを選択して適用すると、 WebSphere Portlet Factory Designer はモデルの実行時にその明示的なプロファイルを指定し、再生成と呼ばれるプロセスを開始します。再生成時に、モデルと、選択されたプロファイルによって提供された入力が結合されて、新しいバージョンのアプリケーションが作成されます。

      アプリケーションのこの 2 つのバリエーションは、「設計」ビューおよび「アプリケーション・ツリー」ビューで確認できます。2 つのプロファイルを切り替えて「適用」ボタンをクリックすると、アプリケーションでの変更内容を確認できます。 例えば、アプリケーション・ツリーを「WebApp」 > 「ページ」 > 「page1」まで展開し、「page1」をクリックします。 右側には、いくつかの <div> タグとそのコンテンツ (静的テキスト、ファイル名、および JSP スクリプトレットと式で置き換えられた) が表示されます。

    4. モデルを実行して、変更を確認します。今度は、MyFirstPortletps プロファイル・セットからの Default プロファイルではなく、MyFirstPortletAlternateView プロファイルからのテキスト値が表示されます。
  3. Image Builder を追加し、そのプロファイルを作成して、MyFirstPortletps プロファイル・セットと一緒に使用できるようにします。

    このステップでは、Image Builder を追加し、プロファイル作成を使用して、 この Builder を使用可能または使用不可にするタイミングを決定します。 使用不可にされた Builder は、生成したアプリケーションに対して何も行いません。 Builder の使用可能/使用不可の値をプロファイル項目に関連付けると、 再生成時に適用されるプロファイルのみに基づく再生成によって Builder を自動的に追加したり削除したりすることができます。

    1. WebSphere Portlet Factory Designer で、Image Builder をモデルに追加します。 下の表を使用して、入力を割り当てます。
      表 13. Image Builder 入力
      入力名 所定の入力について下の値を入力する
      位置指定の方法 名前付きタグを基準
      ページ page1
      タグ namedTag
      配置
      新規タグ名 imgTag
      イメージ・ソース このフィールドの右側にある ellipsis アイコン をクリックして、リファレンス・チューザーを表示します。 「ファイルの選択」タブをクリックして、/samples/tutorials/images/tutorial_basics_image.jpgを選択し、「OK」をクリックします。
    2. 追加されたイメージが含まれるモデルをここで実行して、それが動作することをプロファイル作成の前に確認します。
    3. Builder 呼び出しエディター内で、Image Builder 呼び出しの先頭を見つけ、「プロパティー」というセクションをクリックして展開表示します。 「Builder を使用可能に設定」という入力が表示されます。 プロファイル・アイコンをクリックして、この Builder 入力をプロファイル対応にします。他のプロファイル項目と同様に、「項目の作成」を使用し、プロンプトを「表示イメージ」に変更して、「UI タイプ」を「チェック・ボックス」に設定し、「チェック・ボックスの後ろのラベル」フィールドを編集して「マイ・チェック・ボックス」とします。 「OK」をクリックします。プロファイル項目の「UI タイプ」は、ポータルでカスタマイズ (どのプロファイルを使用するかを構成) するときに表示されます。
    4. デフォルト・プロファイルについては、この Image Builder 呼び出しの有効化プロファイル項目のプロファイル値をチェックなしに設定します。「チェック・ボックスの後ろのラベル」フィールドを編集して、テキスト「マイ・チェック・ボックス」を削除します。 「OK」をクリックします。
  4. プロファイルを再テストして、すべてが機能していることを確認します。
    1. 「適用対象プロファイル」タブを使用して、Default プロファイルを適用し、 アプリケーションを実行します。 Web ブラウザーに Default バージョンのアプリケーションが表示されます。 このバージョンでは、イメージ・ファイルは表示されません。
    2. ここで、MyFirstPortletAlternateView プロファイルを適用してアプリケーションを再実行します。 今度は、イメージ・ファイルが表示されます。
  5. 「tutorial_basics」という Portlet Adapter Builder を開く
  6. Portlet Adapter Builder 呼び出しエディターで、MyFirstPortletps プロファイル・セットの「デフォルト編集で個々のプロファイル値を表示」を選択することにより、値のカスタマイズを有効にします。Builder 呼び出しエディターで「OK」をクリックして変更を適用し、モデルを保存します。
  7. アプリケーションを再公開します。
  8. 管理者としてもう一度ポータルにログインすると、共有設定機能にアクセスできるようになります。ポートレットが存在するポータル・ページにナビゲートします。ポートレットのタイトル・バー・ドロップダウン・メニューを開き、「共有設定」を選択します。これにより、ポートレットは共有設定 (Portlet Adapter Builder やポートレット仕様 JSR 168 および 286 では「デフォルト編集」としても知られる) カスタマイズ・モードになるため、それらのプロファイル項目にカスタム値を指定できます。

学習したレッスンと次のステップ

モデル内にあるいくつかの Builder 呼び出し入力のプロファイルを作成することによって、 プロファイルを切り替えるだけで、複数バージョンのアプリケーションを生成できます。 WebSphere Portlet Factory Designer では、プロファイルは「適用対象プロファイル」タブから選択できます。 Portlet Adapter Builder 呼び出しがどのように構成されているかに応じて、 ポートレットの管理者とユーザーはポートレットの構成モードと編集モードを使用して、WebSphere Portal でさまざまなプロファイルを適用できます。 プロファイルは、プロファイル選択処理というプロセスによってプログラマチックに選択することもできます。

プロファイルを使用して、ローカライズや、ポータル・グループのプロファイル作成を行うこともできます。詳しくは、次の wiki 記事を参照してください。

チュートリアル - データベース・アプリケーションを作成する

このチュートリアルでは、SQL Table Create Builder を使用して、 サンプル・データベースに対するサービス・プロバイダー・モデルを作成します (SQL Table Create Builder は、データベース表を作成し、フル CRUD (作成、検索、更新、および削除) 機能を提供するものであり、これらの機能はサービス操作として公開される)。次に、Service Consumer Builder と Data Services UI Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成します。

これらのチュートリアルの使用法

この一連のチュートリアルは、初めて WebSphere Portlet Factory を使用する開発者の出発点として最適です。このチュートリアルの 4 つのパートのほとんどは、完了するのに 30 分から 45 分ほどかかりますが、このチュートリアル用には 1 時間から 1 時間半を確保しておいてください。 各チュートリアルは前のチュートリアルで説明した知識を前提としているため、チュートリアルは以下に示す順序で完了してください。 また、これらのチュートリアルを完了した後は、 WebSphere Portlet Factory wiki で WebSphere Portlet Factory学習ロードマップ に アクセスし、 WebSphere Portlet Factory の学習経験をさらに深めることをお勧めします。

表 14.
チュートリアルの順序 説明
Web アプリケーション・プロジェクトを作成する このチュートリアルでは、Web アプリケーション・プロジェクトの作成方法を学習します。
アプリケーションを作成する このチュートリアルでは、単純な「Hello World」アプリケーションをビルドして、そのアプリケーションからポートレットを作成します。
データベース・アプリケーションを作成する このチュートリアルでは、SQL Table Create Builder を使用して、 サンプル・データベースに対するサービス・プロバイダー・モデルを作成します。 次に、Service Consumer Builder と Data Services User Interface Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成します。
新規アプリケーションでプロファイルを使用する 「hello world」アプリケーション・チュートリアルからの続きとして、プロファイル作成の機能をアプリケーションに追加します。

学習内容

  • サービス指向アーキテクチャー (SOA) のコンシューマー/プロバイダー・パラダイムの概要。
  • SQL Table Create Builder を使用した、サンプル・データベース表の作成、および 作成、取得、更新、および削除の各操作を備えたサービス・プロバイダーの生成。
  • サービス・コンシューマーで Data Services User Interface Builder を使用して、 サービス・プロバイダーの操作用のユーザー・インターフェースを自動的に生成する方法。

SQL Table Create Builder を使用して、サンプル・データベースに対するサービス・プロバイダー・モデルを作成し、 Service Consumer Builder と Data Services User Interface Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成します。 プロバイダー・モデルは、Table Create Builder を使用して、XML ファイルで提供されるサンプル・データからデータベース表を作成し、 モデルをサービス・プロバイダーにするサービス操作を生成します。 このチュートリアルの学習内容 (コンシューマー/プロバイダー・パラダイムと、 データ・サービスのユーザー・インターフェースの使用法を含む) により、 Lotus Domino などの他のデータ・プロバイダーを使用するときに必要な知識が得られます。

セットアップの要件

チュートリアルを実行するには、次のセットアップが必要です。

  • プロジェクトを作成し、公開しておく必要があります。プロジェクトには、 「チュートリアルと例/チュートリアル」機能セットが組み込まれている必要があります。 プロジェクトの作成方法については、チュートリアル「 WebSphere Portlet Factory プロジェクトの作成 (Creating a WebSphere Portlet Factory Project)」 で詳しく説明しています。
  • WebSphere Portal サーバー、または WebSphere Application Server Community Edition を稼働しておく必要があります。

データベース・アプリケーションを作成する

  1. チュートリアルのこのパートでは、プロバイダー用の WebSphere Portlet Factory モデルを新規作成します。
    1. WebSphere Portlet Factory Designer を起動します。
    2. チュートリアル「Web アプリケーション・プロジェクトを作成する」で 作成した WebSphere Portlet Factory プロジェクト「MyFirstProject」を開きます。
    3. 「ファイル」 > 「新規」 > 「WebSphere Portlet Factory モデル」を選択します。 このコマンドにより、新規モデルの作成を支援するウィザードが呼び出されます。
    4. このモデルが作成されるべきプロジェクトを選択します。 プロジェクト「MyFirstProject」が強調表示されます。 「次へ」を クリックして先に進みます。
    5. 新規モデルの作成時には、リストから開始モデルを選択することができます。 「モデルの選択」ページの「Factory 開始モデル」カテゴリーから「空」を選択して、「次へ」をクリックします。
    6. 「新規モデルの保管」ダイアログが表示されます。モデルは、プロジェクトの models フォルダーに保存されています。 デフォルトのフォルダーの場所を選択して MyProviderModel と入力し、 「完了」をクリックします。これで、 WebSphere Portlet Factory Designer は新規モデルを作成して自動的に開くことになります。
  2. SQL Table Create Builder を追加する
    注: チュートリアルのこのパートでは、SQL Table Create Builder を使用して、新しいデータベース表を作成します。代わりに使用したい既存のデータベース表がある場合は、SQL Table Create Builder ではなく、 SQL Data Services Builder をこのステップで使用します。テーブル内の具体的なフィールドは、ここで説明するものとは当然異なりますが、ここ説明する他のステップおよび Builder は同じです。WAS CE 上で実行する場合は、サンプル・データに類似したサンプル EMPLOYEE テーブルを使用できます。
    1. ワークスペースの左下隅に「アウトライン (Outline)」というラベルの付いたタブがあり、 その中にモデルが使用するすべての Builder、またはモデルの「Builder 呼び出しリスト」が含まれています。モデルは Builder で構成され、モデル内の各 Builder は Builder 呼び出しによって表されます。 Builder 呼び出しを編集するには、Builder 呼び出しリスト内の Builder 呼び出しをダブルクリックします。
    2. MyProviderModel」モデルを選択した状態で Builder ピッカー・アイコン をクリックし、このモデルに追加できる Builder のリストを表示します。
    3. 検索ボックスに SQL という語を入力し、 追加する Builder 呼び出しのタイプとして「SQL テーブル作成」を検索して選択し、 「OK」をクリックします。 この新しい Builder 呼び出しにより、右側のペインに Builder 呼び出しエディターが表示されます。 この Builder により、サンプルの表が作成され、データが設定されます。また、 SQL Data Services Builder が呼び出され、作成、取得、更新、および削除の各操作がサービス・プロバイダーとして生成されます。
      注: 既存のデータベースと表がある場合は、SQL Table Create Builder ではなく、 SQL Data Services Builder を使用するのが適切です。
    4. この Builder 呼び出しに名前を付ける必要があります。「名前」フィールドに、MyDB と入力します。
    5. 「DataSource 名の取り出し」ボタンをクリックします。 この機能により、「サーバー構成」ダイアログで指定したサーバー上で定義されている既存の Datasource が取得されます。 また、サンプル Datasource を選択することもできます (サンプル Datasource は、まだ存在しない場合は作成できます)。 このチュートリアルでは、 WebSphere Portal とともに動作するように環境を構成したので、 この機能により、そのサーバーからデータベース情報が取得されます。
    6. 「SQL Datasource」フィールドで jdbc/CloudscapeforWPF を選択します。 これがまだ存在していない場合は、その DataSource を作成するかどうかを尋ねるプロンプトが以前に表示されています。WAS CE を使用する場合は、java:comp/env/jdbc/MyDataSource を選択します。
    7. 「インポート・データ」入力の右側にあるチューザー・アイコンをクリックし、 最初の表データ用に使用する /WEB-INF/samples/data/Employees.xml を選択して「OK」をクリックします。
    8. 「テーブル名」フィールドに、MyDBTable と入力します。
    9. 「インポート・データのスキャン」をクリックして、テーブル列フィールドにデータを取り込みます。
    10. 「サンプル・データ形式」セクションを開いて、「最大ストリング・サイズ」を 512 に変更します。
    11. 「テーブルの作成」ボタンをクリックしてテーブルを作成し、 サンプル・データを追加します。
    12. アプリケーション・ツリーをクリックして、何を作成したのかを確認してください。 「WebApp/データ・サービス/MyDB」をクリックし、「スキーマ」をクリックして、 ここで作成したオブジェクトの詳しい情報を表示します。 スキーマの列のタイプが DB 列のデータ・タイプに一致していること、および UI コンシューマーがスキーマを使用してページ・コントロールの生成を支援することに注意してください。
    13. 先ほど作成した SQL Table Create Builder の「Builder 呼び出しエディター」タブに戻り、SQL Table Create Builder の「拡張」セクションで、 「テスト・サポートを使用可能に設定」チェック・ボックスにチェック・マークを付けます。 これにより、このプロバイダー・モデル用のテスト・ユーザー・インターフェースが生成されます。 この方法により、ユーザー・インターフェース・コンシューマー・モデルを作成する前に、 各操作をスタンドアロンで実行できます。
    14. 「OK」をクリックし、次にモデルを実行します。モデルを保存するプロンプトが出されます。「はい」をクリックして先に進みます。デフォルト・ブラウザーにテスト UI ページが表示されます。
      テスト UI ページの表示。
      「listMyDBRecords」をクリックすると、データベース表のレコードのリストが表示されます。 従業員 ID フィールドのいずれかをコピーして、レコード・リストの下部にある「戻る」ボタンをクリックします。 次に、「retrieveMyDBRecord」をクリックし、 その従業員 ID を貼り付けて「OK」をクリックします。 これにより、データベース表のその行の詳細情報が取得され、自動生成されたテスト・ページに表示されます。 これらのステップは、 WebSphere Portlet Factory サービス・プロバイダーの開発者が使用できる 自動テスト・サポートを示しています。これにより、ユーザー・インターフェースの開発者が これらのプロバイダーのユーザー・インターフェース・コンシューマー・モデルの作成を完了する前に、 データ・プロバイダーをテストすることが可能です。

      サービス・プロバイダーを作成するステップが完了しました。 次のステップでは、このプロバイダーとともに機能するサービス・コンシューマーを作成して使用します。

  3. チュートリアルのこのパートでは、新しい WebSphere Portlet Factory モデルを作成します。 今度はコンシューマー向けのモデルであり、上記のデータ・サービス・プロバイダー用のユーザー・インターフェースを提供します。
    1. チュートリアル「Web アプリケーション・プロジェクトを作成する」で 作成した WebSphere Portlet Factory プロジェクト「MyFirstProject」を開きます。
    2. 「ファイル」 > 「新規」 > 「WebSphere Portlet Factory モデル」を選択します。 このコマンドにより、新規モデルの作成を支援するウィザードが呼び出されます。
    3. このモデルが作成されるべきプロジェクトを選択します。 WebApp プロジェクト「MyFirstProject」が強調表示されます。 「次へ」を クリックして先に進みます。
    4. 新規モデルの作成時には、リストから開始モデルを選択することができます。 「モデルの選択」ページの「Factory 開始モデル」カテゴリーから「空」を選択して、「次へ」をクリックします。
    5. 「新規モデルの保管」ダイアログが表示されます。モデルは、プロジェクトの models フォルダーに保存されています。 デフォルトのフォルダーの場所を選択して MyConsumerModel と入力し、 「完了」をクリックします。これで、 WebSphere Portlet Factory Designer は新規モデルを作成して自動的に開くことになります。
  4. データ・サービスに組み込む Service Consumer Builder を追加して、作成したプロバイダーを選択する
    1. MyConsumerModel」モデルを選択した状態で Builder ピッカー・アイコン をクリックし、このモデルに追加できる Builder のリストを表示します。
    2. 検索ボックスに Service という語を入力して検索し、 追加する Builder 呼び出しのタイプとして「サービス・コンシューマー」を選択し、 「OK」をクリックします。 この新しい Builder 呼び出しにより、右側のペインに Builder 呼び出しエディターが表示されます。
    3. この Builder 呼び出しに名前を付ける必要があります。「名前」フィールドに、MyConsumer と入力します。
    4. 「プロバイダー・モデル」フィールドで、入力フィールドの右側にあるチューザーをクリックし、 リストから「MyProviderModel」を選択して「OK」をクリックします。
    5. 「OK」をクリックして変更内容を保管します。 Builder 呼び出しエディターが終了し、アプリケーション・ツリーが表示されます。
    6. アプリケーション・ツリーを参照して、何を作成したのかを確認してください。 「WebApp/データ・サービス/MyConsumer」をクリックし、「スキーマ」をクリックして、 ここで作成したオブジェクトの詳しい情報を表示します。
  5. 新しい Data Services User Interface Builder を追加する
    1. MyConsumerModel」モデルを選択した状態で Builder ピッカー・アイコン をクリックし、このモデルに追加できる Builder のリストを表示します。
    2. 検索ボックスに Data という語を入力して検索し、 追加する Builder 呼び出しのタイプとして「データ・サービスのユーザー・インターフェース」を選択し、 「OK」をクリックします。 この新しい Builder 呼び出しにより、右側のペインに Builder 呼び出しエディターが表示されます。
    3. この Builder 呼び出しに名前を付ける必要があります。「名前」フィールドに、MyDataUI と入力します。
      注: 残りの入力値は、デフォルト値のままにしてください。なぜなら、このシナリオでは、 使用可能なデータ・サービスが 1 つのみだからです。 また、そのデータベース表のキー・フィールドを判別することが可能であったため、キー・フィールドは既に埋められています。 これは、他の入力を調べて、何を指定できるのかを知るよい機会になります。
    4. 「OK」をクリックして変更内容を保管します。 Builder 呼び出しエディターが終了し、アプリケーション・ツリーが表示されます。
    5. 「ページ」タブをクリックして、「ページ」ビューの各ページをクリックすると、「設計」ビューがアプリケーションのグラフィカル・ビューを示していることが分かります。
  6. ワークスペース上部のメニューの直下にあるアイコンの行から 右矢印アイコン をクリックして、モデルを実行します。 モデルを保存するプロンプトが出されます。「はい」をクリックして先に進みます。

    何が表示されるか

    更新されたアプリケーションがブラウザーに表示される。

    データベース表の先頭の 5 行を表示し、ページングのリンクとボタン、および作成ボタンを含む Web ユーザー・インターフェースが生成されて表示されるはずです。 この時点でアプリケーションの使用、行のページング、およびレコードの更新、作成、削除を試みてください。 データベース・アクセス、データを取り扱う操作、および Web ベース・ユーザー・インターフェース (ビュー、詳細、更新の各ページを含む) を備えた完全な Web アプリケーションが、 最後のステップで作成した Builder 呼び出しの結果として生成されました。 他のウィザード・ベースのフレームワークでは、このアプリケーションの別のバリエーションが必要な場合に、 成果物を削除して始めからやり直す必要がありました。しかし、それとは異なり、 以前の Builder 呼び出しのいずれかを再び開き、入力値を変更し、その他の Builder 呼び出しを追加および削除することで、 生成済みのアプリケーションをカスタマイズすることが可能です。

    後のチュートリアルでは、プロファイルを使用して、これらの Builder 入力をロジック・ベースでカスタマイズする方法も学習します。 その結果、実行時に使用可能なユーザー・グループ/役割、または他のカスタム・ロジック/情報に基づいて、 アプリケーションのバリエーションを自動化できます。デフォルトのリスト・ユーザー・インターフェースは、かなり妥当なものですが、 行および生成されたラベルがすべて含まれていることに注意してください。 このチュートリアルの後半では、生成されたユーザー・インターフェースをカスタマイズする方法を説明します。

  7. Portlet Adapter Builder を追加して、このモデルをポートレットとして使用できるようにする
    1. MyConsumerModel」モデルを選択した状態で Builder ピッカー・アイコン をクリックし、このモデルに追加できる Builder のリストを表示します。
    2. 検索ボックスに Portlet という語を入力して検索し、 追加する Builder 呼び出しのタイプとして「Portlet Adapter」を選択し、 「OK」をクリックします。 この新しい Builder 呼び出しにより、右側のペインに Builder 呼び出しエディターが表示されます。
    3. この Builder 呼び出しに名前を付ける必要があります。「名前」フィールドに、WPFTutorialDBAccess と入力します。 これは、ポータルで「ポートレット名」として使用されます。
    4. 「ポートレット・タイトル」フィールドに「WPF Tutorial DB Access」と入力します。 これは、ポータルでポートレットのタイトルとして使用されます。
    5. 「OK」をクリックして変更内容を保管します。 Builder 呼び出しエディターが終了し、アプリケーション・ツリーが表示されます。
    6. プロジェクトが (WebSphere Application Server Community Edition ではなく) WebSphere Portal に対して構成されている場合は、 プロジェクトをポータル・サーバーに公開し、ポートレットをポータル・ページに追加できます。 ここで、WebSphere Application Server Community Edition を使用している場合は、 このステップをスキップしてください。
  8. Data Field Settings Builder を追加する
    1. ページ MyDataUIList を開き、ページ・ビューをクリックしてリスト・ページを表示し、「従業員番号」列を右クリックして「データ・フィールドの設定」 > 「フィールド」を選択します。
    2. 「ソート」ドロップダウン・リスト・ボックスを使用して、「フィールド・タイプ」を「整数」(ソート対象) に変更して、「従業員番号」列を数値に基づいてソートできるようにします。このステップにより、Data Field Settings Builder がモデルに追加され、従業員番号のフィールド・タイプが設定され、他の列はそのままになります。Data Field Settings Builder は Builder パレットから直接追加することもできます。
    3. この Data Field Settings Builder 呼び出しが作成されたので、Builder 呼び出しリストでその呼び出しをダブルクリックすると、Builder ユーザー・インターフェースが開き、既に設定されている内容が表示されます。ここで、列をもう少しカスタマイズしてみましょう。
      注: 多くのフィールドでは、ドロップダウン・リスト・ボックスから選択する代わりに、エントリーを直接入力できます。
      適切なフィールド値を指定するためのガイドとして、下の表を使用してください。
      名前 ラベル 非表示 Sort フィールド・タイプ
      EMPNO [従業員番号] [常に表示] オン 整数
      FIRSTNME ファーストネーム [常に表示] [オフ] ストリング
      MIDINIT ミドルネーム [常に表示] [オフ] ストリング
      LASTNAME [ラストネーム] [常に表示] オン ストリング
      WORKDEPT [所属部門] 表内でのみ非表示 [オフ] ストリング
      PHONENO [電話番号] [常に表示] [オフ] ストリング
      GENDER [性別] 表内でのみ非表示 [オフ] ストリング
      BIRTHDATE [生年月日] 表内でのみ非表示 [オフ] 日付: yyyy-MM-dd
      SALARY [給与] 表内でのみ非表示 [オフ] 通貨: #,###.00
      EMAIL [Email] 表内でのみ非表示 [オフ] ストリング
      COMMENTS [コメント] 表内でのみ非表示 [オフ] リッチ・テキスト
    4. 「OK」をクリックします。
  9. ワークスペース上部のメニューの直下にあるアイコンの行から 右矢印アイコン をクリックして、モデルを実行します。 モデルを保存するプロンプトが出されます。「はい」をクリックして先に進みます。

    何が表示されるか

    レコードの表形式リストを示す最初のビュー・ページには、 ポートレット・ユーザー・インターフェース用の列が、より管理しやすい数だけ含まれていることに注意してください。 この時点で、各ビューの項目の編集、削除、および作成を試みてください。

学習したレッスンと次のステップ

このチュートリアルでは、SQL Table Create Builder を使用して、 サンプル・データベースに対するサービス・プロバイダー・モデルを作成しました。 また、Service Consumer Builder と Data Services UI Interface Builder を使用して、 ユーザー・インターフェース・サービス・コンシューマー・モデルを作成しました。 次に、Data Field Settings Builder を使用して、 ユーザー・インターフェースをカスタマイズしました。 また、データベース表が既に存在する場合は、前述したように、 (SQL Data Services Builder をラップして、表作成を追加する) SQL Table Create Builder ではなく、 SQL Data Services Builder を直接使用してください。

注: このチュートリアルで使用したアプローチは、プロバイダー/コンシューマー・モデルの構造を公開するためのものでした。 既存のデータベースが存在する場合は、「データ・サービスのユーザー・インターフェース」ウィザードを使用して、 選択したサービス用の完全なユーザー・インターフェース (UI) を迅速にビルドできます。 このウィザードは、ページ、フォーム、アクション、ボタンなど、操作用のユーザー・インターフェース・コンポーネントを サービス・プロバイダー・モデルから自動的に生成します。 SQL Data Services Builder を使用してプロバイダーを作成することもできますが、 Lotus Domino Data Access や Service Definition などの他の Builder を使用することもできます。

以上で、「新規アプリケーションでプロファイルを使用する」チュートリアルを実行する準備が整いました。 このチュートリアルでは、プロファイルの機能をアプリケーションに追加します。

クイック・スタート: 初めてのウィジェットを公開する

このクイック・スタートでは、ウィジェットを作成するステップについて説明します。

IBM WebSphere Portlet Factory を使用して、ローカルにインストールされた IBM Lotus Mashups サーバーでウィジェットを実行、テスト、公開します。

ローカルの開発マシンに Lotus Mashups サーバーをインストールできない場合は、Lotus Mashups サーバーのリモート・インストールにアクセスを構築します。

Mashup サーバー構成をセットアップする

Mashup サーバーをセットアップするには、以下のステップを実行します。

  1. 「Windows」 > 「設定」をクリックします。
  2. ツリーから「WebSphere Portlet Factory Designer」 > 「サーバー構成」を選択します。
  3. 「追加」ボタンをクリックします。
  4. サーバー構成の名前を入力します。
  5. 「サーバー・タイプ」ドロップダウンで「WebSphere Application Server および IBM Mashup Center 2.0」を選択します。
  6. サーバーのホスト名を入力します。Mashup サーバーがローカルの場合は、http://localhost と入力します。 Mashup Center をリモートで実行している場合は、完全な DNS ホスト名を入力します。 ほとんどの場合、SOAP コネクター・ポートは、8880 のままでかまいません。
    注: SOAP コネクター・ポートが正しくない場合は、管理コンソールにアクセスしてサーバーの SOAP ポートを確認できます。 管理コンソールで「サーバー」>「サーバー・タイプ」>「WebSphere Application Server」を選択します。 リストから「server1」を選択し、次に「ポート」を選択します。 SOAP コネクター・アドレスがリスト表示されます。
  7. Mashup Center に対する管理アクセス権限を備えたユーザー名とパスワードを入力します。
  8. 「テスト接続」ボタンをクリックして項目を検証します。
  9. 「OK」をクリックしてサーバー構成を保存します。

リモートの Mashup Center にデプロイする場合、自動同期機能を利用するには、 サーバー上の InstalledApps フォルダーにドライブをマップする必要があります。 マップしたドライブをセットアップしない場合、 変更を確認するためにプロジェクトを実行するには、プロジェクトを公開する必要があります。

WebSphere Portlet Factory ウィジェットの作成、テスト、公開

以下のステップに従って、Lotus Mashups とともに使用する WebSphere Portlet Factory のウィジェットを作成します。

  1. WebSphere Portlet Factory プロジェクトを作成します。
    1. Eclipse で、「ファイル」 > 「新規」 > 「WebSphere Portlet Factory プロジェクト」をクリックします。
    2. プロジェクトの名前を入力します。
    3. 「次へ」をクリックします。
    4. 「統合拡張機能」の下で「ウィジェット拡張機能」「Excel 拡張機能」を選択します。
    5. 「次へ」をクリックします。
    6. プロジェクトの公開時に使用するサーバー構成を選択します。
    7. 「完了」をクリックします。
    8. プロジェクトを公開するメッセージが表示されたら、「はい」をクリックします。
  2. プロジェクトで「モデル」を作成します。
    1. 「ファイル」 > 「新規」 > 「WebSphere Portlet Factory モデル」に移動します。
    2. モデルを作成するプロジェクトを選択します。「次へ」をクリックします。
    3. モデル・タイプを選択します。ここでは「Excel ウィジェット」を選択します。「次へ」をクリックします。
    4. ウィジェットのタイトルを入力し、ウィジェットを表示させる Mashups ツールボックスのカテゴリーを選択します。「次へ」をクリックします。
    5. オプションで、ページング設定を入力します。「次へ」をクリックします。
    6. オプションで、列設定を入力します。「次へ」 をクリックします。
    7. オプションで、「詳細ページ設定」を入力します。「次へ」 をクリックします。
    8. モデル名を入力し、「完了」をクリックします。
  3. 「実行」 > 「実行...」に移動します。
    1. 「実行」ダイアログ・ボックスで、「WebSphere Portlet Factory モデル」 > 「アクティブなモデル」をクリックします。
    2. 「実行」をクリックします。
    3. デフォルトのブラウザーにウィジェットが表示されます。
    4. 希望どおりになるまで、ローカルでウィジェットを変更し実行します。
  4. アクティブ・プロジェクトで、ウィジェットを Lotus Mashups ツールボックスに公開します。プロジェクト名を右クリックします。ウィジェットを公開するために、「ウィジェット」 > 「Lotus Mashups ツールボックスへのウィジェットの公開」に移動します。公開するウィジェットを選択し、「OK」をクリックします。

クイック・スタート: 実動公開する初めてのウィジェット

このクイック・スタートでは、ローカルでウィジェットを作成してテストし、IBM InfoSphere MashupHub にウィジェットをリモートでアップロードするステップについて説明します。

その後、ウィジェットを IBM Lotus Mashups に公開します。ローカルにインストールされた Lotus Mashups サーバーで開発してテストした後、リモート・サーバーにエクスポートすることをお勧めします。ローカルの Lotus Mashups サーバーをインストールできないか、ローカルでのテストを終了していて、リモートの Lotus Mashups サーバーに公開する準備ができている場合は、本書のステップに従います。

IBM WebSphere Portlet FactoryLotus Mashups と連携して機能し、Mashups ページの一部となるウィジェットを作成します。開発者は通常、ローカル・システムでウィジェットを作成し、公開およびテストもローカルで行います。ところが、開発者が、ローカルの Lotus Mashups サーバーを実行するリソースがない環境で作業する場合や、開発チームの複数のメンバーが共有の Lotus Mashups サーバーにウィジェットを公開しなければならないような場合があります。開発およびテストをローカルで実行したら、チームは、新しく作成したウィジェットをリモート・サーバーに公開します。このリモート・サーバーの機能は、実動サーバー、統合サーバー、品質保証サーバーのどれであってもかまいません。

インストール済みサーバー

WebSphere Portlet Factory によって IBM WebSphere Application Server Community Edition (CE) アプリケーション・サーバーがインストールされます。 WebSphere Application Server CE は Apache Geronimo をベースにしたオープン・ソースの Java 2 Platform、Enterprise Edition (J2EE) アプリケーション・サーバーです。 WebSphere Application Server CE は、 WebSphere Portlet Factory に、軽量のテスト機能を提供します。ユーザーは、この環境を使ってウィジェットをテストし、実行できます。

開発環境によっては、多くのユーザーが 1 台の共通サーバーにアクセスしなければなりません。 WebSphere Portlet FactoryLotus Mashups および InfoSphere MashupHub と統合されているため、リモート・サーバーへのウィジェットの公開に対応しています。

プロセス

mashup の作成に役立つ、ウィジェット作成のプロセスでは、複数の製品を使用する必要があります。
  1. WebSphere Portlet Factory
    1. WebSphere Portlet Factory でウィジェットを作成します。
    2. 可能な場合、ローカルにインストールした Lotus Mashups サーバーで実行およびテストします。それができない場合は、ローカルにインストールした WebSphere Application Server CE でテストします。
    3. 実動 WAR ファイルをエクスポートします。
  2. InfoSphere MashupHub
    1. InfoSphere MashupHub を使用して、実動 WAR ファイルを iWidget パッケージ・ファイルとしてアップロードします。
    2. InfoSphere MashupHub のウィジェットの詳細ページから、「Lotus Mashups に追加 (Add to Lotus Mashups)」を選択してウィジェットを Lotus Mashups サーバーに公開し、Lotus Mashups ツールボックスにウィジェットを公開します。
  3. Lotus Mashups

Mashup サーバー構成をセットアップする

Mashup サーバーをセットアップするには、以下のステップを実行します。

  1. 「Windows」 > 「設定」をクリックします。
  2. ツリーから「WebSphere Portlet Factory Designer」 > 「サーバー構成」を選択します。
  3. 「追加」ボタンをクリックします。
  4. サーバー構成の名前を入力します。
  5. 「サーバー・タイプ」ドロップダウンで「WebSphere Application Server および IBM Mashup Center 2.0」を選択します。
  6. サーバーのホスト名を入力します。 Mashup サーバーがローカルの場合は、http://localhost と入力します。 Mashup Center をリモートで実行している場合は、完全な DNS ホスト名を入力します。 ほとんどの場合、SOAP コネクター・ポートは、8880 のままでかまいません。
    注: SOAP コネクター・ポートが正しくない場合は、管理コンソールにアクセスしてサーバーの SOAP ポートを確認できます。 管理コンソールで「サーバー」>「サーバー・タイプ」>「WebSphere Application Server」を選択します。 リストから「server1」を選択し、次に「ポート」を選択します。 SOAP コネクター・アドレスがリスト表示されます。
  7. Mashup Center に対する管理アクセス権限を備えたユーザー名とパスワードを入力します。
  8. 「テスト接続」ボタンをクリックして項目を検証します。
  9. 「OK」をクリックしてサーバー構成を保存します。

リモートの Mashup Center にデプロイする場合、自動同期機能を利用するには、 サーバー上の InstalledApps フォルダーにドライブをマップする必要があります。 マップしたドライブをセットアップしない場合、変更を確認するためにプロジェクトを実行するには、プロジェクトを公開する必要があります。

WebSphere Portlet Factory からのウィジェットの作成

ウィジェットを作成します。

  1. WebSphere Portlet Factory プロジェクトを作成します。
    1. 「ファイル」 > 「新規」 > 「WebSphere Portlet Factory プロジェクト」に移動します。
    2. 「プロジェクト名」フィールドにウィジェットの名前を入力します。
    3. 「次へ」をクリックします。
    4. 「統合拡張機能」の下で「ウィジェット拡張機能」「Excel 拡張機能」を選択します。
    5. 「次へ」をクリックします。
    6. プロジェクトの公開時に使用するサーバー構成を選択します。
    7. 「完了」をクリックします。
    8. プロジェクトを公開するメッセージが表示されたら、「はい」をクリックします。
  2. プロジェクトで「モデル」を作成します。
    1. 「ファイル」 > 「新規」 > 「WebSphere Portlet Factory モデル」に移動します。
    2. モデルを作成するプロジェクトを選択します。
    3. 「次へ」をクリックします。
    4. モデル・タイプを選択します。ここでは「Excel ウィジェット」を選択します。
    5. 「次へ」をクリックします。
    6. ウィジェットのタイトルを入力し、ウィジェットを表示させる Mashups ツールボックスのカテゴリーを選択します。「次へ」をクリックします。
    7. オプションで、ページング設定を入力します。「次へ」をクリックします。
    8. オプションで、列設定を入力します。「次へ」 をクリックします。
    9. オプションで、「詳細ページ設定」を入力します。「次へ」 をクリックします。
    10. モデル名を入力し、「完了」をクリックします。
  3. 希望どおりになるまで、ローカルでウィジェットを実行し変更します。
  4. プロジェクト名を右クリックします。「エクスポート」に移動し、使用する環境の正しい WAR を選択します。
  5. 「完了」をクリックします。 WebSphere Portlet Factory によってワークスペースに WAR ファイルが作成されます。ウィジェットは、ローカルまたは共通サーバー上の、アクセス可能なファイル・パスまたは URL にあるパッケージ・ファイル内になければなりません。このパッケージ・ファイルは、Lotus Mashups に公開するには、WAR である必要があります。

InfoSphere MashupHub からのウィジェットのアップロード

ウィジェットを InfoSphere MashupHub にアップロードするには、以下のステップに従います。

  1. InfoSphere MashupHub ホーム」タブの「作成」パネルで、「ウィジェットのアップロード」をクリックします。
  2. 「ウィジェットのアップロード」タブで
    1. アップロードするウィジェットのタイプ (この場合は「iWidgets」) を選択します。「次へ」をクリックします。
    2. 「ファイルのアップロード」を選択します。パッケージ・ファイルは WAR ファイルでなければなりません。
    3. ウィジェット・パッケージ・ファイルの場所を指定します。
    4. 「次へ」をクリックします。
  3. アップロードするウィジェットに関する次の情報を指定します。
    1. ウィジェットのタイトル、説明、バージョンを指定します。
    2. (オプション) ウィジェットに関連付けられているタグを指定します。適用するタグのガイドとして、既存のタグのリストを利用できます。
    3. (オプション) ウィジェットに適用するアクセス権を選択します。
    4. (オプション) ウィジェットに関連付けるカテゴリーを選択します。このカテゴリーは、ウィジェットの一般的な種別となります。
    5. (オプション)「関連項目」セクションで、アップロードするウィジェットとともに使用する、カタログ内のオブジェクトを指定します。
    6. (オプション) ウィジェットの技術文書への URL を指定します。
    7. 「完了」をクリックします。ウィジェットが保存されたことを示す確認が表示されます。以上でウィジェットが InfoSphere MashupHub カタログにリストされ、ステップ c で選択したアクセス権に従って他のユーザーが利用できるようになります。
  4. 「アップロード済みウィジェット (widget uploaded)」タブ、または、完了ページを閉じてリスト・ウィジェットのリンクを使って戻った場合はユーザーのウィジェット・タブから、以下のステップを実行します。
    1. 「iWidget の詳細の表示」をクリックします。ウィジェットの詳細が表示されます。また、このウィンドウにはアクション・メニューがあり、このメニューを使うとウィジェットを直接 Lotus Mashups に追加できます。
    2. 「アクション」 > 「Lotus Mashups に追加 (Add to Lotus Mashups)」をクリックします。
    3. ユーザー ID とパスワードを入力し、Lotus Mashups サーバーにアクセスします。
    4. 「次へ」をクリックします。
  5. Lotus Mashups に追加するウィジェットのタイトルと説明を入力します。
  6. ウィジェットのカテゴリーを選択します。カテゴリーは、Lotus Mashups ページのツールボックスに表示されます。WAR で定義されているすべてのウィジェットが、モデル名とともに同じカテゴリーに表示されます。
  7. 「完了」をクリックします。

Lotus Mashups からの mashup のビルド

  1. Lotus Mashups にログインし、ツールボックスの指定したカテゴリーにウィジェットが表示されるか確認します。

    注: 既にログインしている場合は、いったんログアウトしてログインし直す必要があります。Lotus Mashups がツールボックスをリフレッシュするのはログインの時だけです。

  2. ウィジェットが思ったとおり機能するかを確認するため、Lotus Mashups パレットでテストします。
  3. ウィジェットを修正する必要があるときは、開発者環境に戻って修正することをお勧めします。
  4. 実動 WAR を新規作成します。
  5. WebSphere Application Server 管理コンソールを使用して、InfoSphere MashupHub から古い WAR を削除します。
  6. 修正した WAR ファイルを InfoSphere MashupHub に再公開します。
  7. 古いウィジェットを Lotus Mashups ツールボックスから削除します。
  8. InfoSphere MashupHub から、修正したウィジェットを Lotus Mashups にプッシュします。

IBM WebSphere Portlet Factory を使用した Web アプリケーションの開発

プロジェクトおよびモデルの作成が完了すると、モデルへの Builder の追加を開始できます。

適切に設計されたほとんどの Web アプリケーションには、サービス指向アーキテクチャー (SOA) がインプリメントされています。SOA アプリケーションでは、バックエンド・サービスを呼び出すモデルまたはサービス呼び出し用ユーザー・インターフェースを提供するモデルを作成します。 Web アプリケーションの開発に関するトピックでは、ユーザー・インターフェースのフォームおよびページを作成する方法、またはバックエンド・システムを呼び出すためのサービスを作成する方法について説明します。

開発について詳しくは、以下の wiki リンクを利用してください。

サービス指向アプリケーションを作成する

サービス指向アプリケーションの作成には、サービス・プロバイダー・モデルおよびサービス・コンシューマー・モデルの作成が含まれます。

  1. 以下の Builder が含まれるサービス・プロバイダー・モデルを作成します。
    • Integration Builder (例えば、SAP Function Call または SQL Call)、またはデータ・アクセスを提供するメソッド。
    • サービスの基礎的サポートを作成して、サービスに名前を付ける Service Definition Builder。
    • モデルで使用できるデータ・アクセス・サポートを呼び出す単一の Service Operation Builder または複数の Service Operation Builder。
  2. サービス操作をテストします。
    • Service Test Builder をサービス・プロバイダー・モデルに追加します。
    • Service Definition Builder で「テスト・サポートを追加」入力を使用可能にします。
  3. 以下の Builder が含まれるサービス・コンシューマー・モデルを作成します。
    • サービス・プロバイダー・モデルによって使用可能になるサービス操作を呼び出す Service Consumer Builder。
    • データをフォーマットして表示するさまざまな Page Builder (例えば、View & Form)。
  4. オプション: Service Stub Builder を追加することによって、サービス・プロバイダー・モデルでスタブ・サービス・モデルを生成します。
  5. オプション: Service Documentation Builder を一方の、または両方のモデルに追加することによって、そのモデルでサービス資料を生成します。
  6. オプション: サービス・マッピング・レジストリーにより、スタブ・サービス・モデルを使用するか、またはサービス・インプリメンテーションを切り替えます。

    これには、WEB-INF/config/service_mappings にある XML ファイルにサービス・マッピングを設定する必要があります。

表示レイヤーをビルドする

表示レイヤーについては、コアとなる Builder が 1 つ存在します。

Service Consumer Builder は、 サービス・プロバイダー・モデルに定義されたすべての操作を使用可能にします。 この Builder によって、他の Builder はサービスが提供するすべての情報 (入力スキーマや出力スキーマ、操作とそれに関連する変数など) を参照できます。 Service Consumer Builder がデータをページ自動化システムで使用できるようにしている 場合、Page Automation Builder の配列全体を使用してページを生成することができます。 例えば、View and Form Builder は、 入力スキーマや結果スキーマなどのサービス情報を参照し、 フォームやリスト・ビューなどの複雑な表示エレメントを自動的に生成することができます。

サービス・プロバイダー・モデルを作成する

Service Definition Builder および Service Operation Builder を使用して、サービス・プロバイダー・モデルを作成できます。

  1. サービスを定義して、そのサービスに名前を付ける Service Definition Builder を含むモデルを作成します。
    1. Service Definition Builder で、「サービスを公開」入力を有効 (デフォルト) のままにします。

      アプリケーション内のすべてのモデルでサービスを使用できます。

    2. 「テスト・サポート」セクションで「テスト・サポートを追加」入力を有効にします。

      これにより、サービス・プロバイダー・モデルのテストが容易になります。

  2. Integration Builder (例えば、SAP Function Call、SQL Call、Web Service Call Builder など) を使用して、バックエンドのデータ・アクセス操作を作成します。
  3. Service Operation Builder を使用して、このバックエンド・データ・アクセス操作に名前を付けて、サービスに追加します。
    1. Service Operation Builder で、Integration Builder によって作成された操作を選択します。
    2. 必要に応じて追加操作をサービスに追加します。
  4. 新しいデータ・サービスを使用するサービス・コンシューマー・モデルを作成します。
    1. このサービス・コンシューマー・モデルに Service Consumer Builder を配置して、以前に作成されたサービス・プロバイダー・モデルを選択します。
Service Definition Builder で「テスト・サポートを追加」を選択した場合は、サービス・プロバイダー・モデルを実行するだけで、そのモデルでサービスをテストできます。

サービス・レイヤーのビルドについて

サービス・レイヤーの作成には、複数の Builder が使用されます。

Service Definition builder
この Builder は、最初は空だったサービスに対して基礎的なサポートを作成し、Web サービス記述言語 (WSDL) 文書を使用してサービスを公開するためのオプションを提供し、 サービスに名前を付けます。
Service Operation builder
この builder は、Service Definition Builder で 定義されたサービスに操作またはメソッドを追加します。 この操作は、モデル内で使用可能なデータ・アクセス・サポートを呼び出すことができます。 データ・アクセスは通常、1 つ以上の Back-end Integration Builder (SAP Function、SQL Call など) によって 提供されますが、linked Java object (LJO) やデータを戻すメソッドでも提供できます。
Web Services Call Builder
この Builder は、WSDL 文書で定義された Web サービス内の単一操作を呼び出す場合に使用します。
Web Service Multiple Operations Builder
この Builder は WSDL 文書に定義されているすべての操作をモデルに追加します。この Builder は、Web Service Call Builder、Service Definition Builder、および Service Operation Builder の機能を結合します。
REST Service Call Builder
この Builder は Representational State Transfer (REST) スタイル・サービスを呼び出すモデル内で使用されます。

データ・サービス・モデル

SOA アプリケーションをインプリメントするには、サービス・プロバイダー (バックエンド・データ・アクセス) またはサービス・コンシューマー (フロントエンド表示) のいずれかのモデルを作成し、アプリケーション・テスト用および公開用にそれらを (柔軟に) 結合します。

この方法を使用すれば、開発者のチームは、他で行われた変更に合わせて絶えず調整する必要なしに、 レイヤー上で独立して作業できます。 また、ターゲットのバックエンド・システムにアクセスする必要なしに開発を進めることができるため、 すべてのユーザー、特に UI チームの作業が大幅に単純化されます。
サービス・プロバイダー・モデル - サービスを定義する
このモデルは、WebApp 内のサービスを定義します。 このモデル (つまり、サービス) はサービス・コンシューマー・モデルによって参照されます。 サービスは、1 つ以上の操作 (WSDL サービス内の操作と同様) を提供することができます。 サービスは、複数のバックエンドまたはデータベースからデータを収集したり、 必要な形式でそのデータを結合したりして、 アプリケーション内で要求される結果を戻すことができます。

多くの場合、データ・ソースが複数のバックエンド・システムに相当するときでも、 複数の関連操作を持つサービスを定義することは役立ちます。 例えば、カスタマー情報サービスは、 カスタマー・リスト (検索条件に基づく)、お客様の詳細情報、お客様の注文、お客様からの苦情などを 戻すための操作を定義することができます。 製品サービスで、 製品の操作をカテゴリー別 (価格、製品在庫、製品コスト、製品販売実績など) に定義することができます。

サービス・コンシューマー・モデル - 操作を呼び出す
その名前が示すとおり、このモデルは 1 つ以上の Service Consumer Builder を使用して、 サービス・プロバイダー・モデルで使用可能になったサービス操作を呼び出します。 通常 (常にではない)、サービス・コンシューマー・モデルは、サービス・プロバイダーを使用してデータを取得し、その後、表示レイヤーを構成するフォーム、ビュー、グラフなどを持つページの生成に必要な他の Builder を使用して UI を生成します。 Provider/Consumer Builder セットは、UI モデルへの結びつきを断ち、UI モデルとサービス・モデルを十分に疎結合にして、 実行時に代替サービス・プロバイダー・モデルに置き換えることができるようにします。

例 - SOA アプリケーションをビルドする

この例では、単純なサービス・プロバイダー・モデルおよびサービス・コンシューマー・モデル (表示) の ペアを使用します。

このペアはサービス・レイヤー (SQL Call Builder) で JDBC データベース接続を使用します。 一方、サービスは SAP、Lotus Domino、PeopleSoft、Web Services などの WebSphere Portlet Factory Integration Builder や、 独自のバックエンド用に作成された他の Integration Builder をこのペアと同じくらい簡単に使用できます。

基本的に、アプリケーションのビルドに必要なステップは、以下の 2 つのみです。

  1. 以下の 3 つの Builder を使用してサービス・レイヤー (サービス・プロバイダー・モデル) を作成します。
    • Integration Builder (SAP、SQL、Lotus Domino など) またはメソッド
    • Service Definition Builder
    • Service Operation Builder
  2. 以下の Builder を使用して、表示モデルでサービス操作を使用します。
    • Service Consumer Builder
    • さまざまな Page Automation Builder (View And Form、Record、List And Detail など)

コアとなるこれらの部分を配置した後で、 他の Builder を追加して、サービス部分やコンシューマー部分を必要に応じて増強できます。

使用可能な SOA 追加機能

SOA (サービス指向アーキテクチャー) アプリケーションの開発をさらに強化するために、IBM WebSphere Portlet Factory には、 開発を単純化し、開発を促す追加機能が用意されています。

以下の機能があります。
スタブ・サービス・モデルによる切断サポート

Service Definition Builder 内のボタンを押すことによって、 スタブ・サービス・モデルを自動的に作成することができます。この完全に生成されたモデルには、 元のサービス・プロバイダー・モデルと同一のインターフェースがありますが、 操作、スキーマ、およびサンプル・データの完全な自己完結型のスナップショットが含まれます。スタブ・サービス・モデルでは、データ・ソースに接続する必要がなくなるため、 システムを構成する煩わしさが軽減され、SAP、 IBM Lotus Domino、PeopleSoft などの実際のシステムに接続したり、 システムの「開発者」バージョンがローカル側に存在するかどうかを確認したりする必要がなくなります。必要に応じて、サービスを一度だけ呼び出して、 その後で切断サポートを使用することにより、取得した実際の結果データからサンプル・データを自動的に取り込むことができます。

ご使用のバックエンド・システムで反応が遅い場合、または可用性が限られている場合、 この切断開発方法を使用すれば、多くの時間が省かれます。 スタブ・サービス・モデルを使用すれば、生成プロセスにおいて、 速度の遅いバックエンドに再生成サイクルごとにアクセスする必要がなくなります。

自動サービス・テスト

自動サービス・テスト - Service Test Builder で、 各操作をテストするためのデフォルト入力の仕様など、 サービス内で定義されているすべての操作をテストするために必要なページおよびコードを自動的に生成することができます。Service Test Builder では、 表示レイヤーから完全に独立し、別のテストの一式をビルドする必要なしに、 バックエンド機能を簡単に検証することができます。また、サービス操作を直接呼び出す「ヘッドレス」メソッドを生成することもできます。 これは、ブラウザーのページを表示する必要なしにサービスの自動テストを確立する場合に役立つ機能です。

簡単なサービス資料

Service Documentation Builder は、 この二重アーキテクチャーの両側でサービス資料を自動的に生成します。この Builder は、サービス・プロバイダー・モデルで作成されるサービス、 およびサービス・コンシューマー・モデルで使用されるサービスについて、 入力や結果など、サービスとその操作に関する情報を作成します。または、 個別の資料モデルを使用して、WebApp 内のサービスに関する資料を生成することができます。

動的サービス・マッピング
動的サービス・マッピング - この強力な機能を使用すれば、 設計時または実行時にサービスが参照されるたびに使用される実際のサービス・プロバイダー・モデルをスワップすることによって、 同等のサービスを動的に管理することができます。参照対象のサービスの提供に使用されるモデルを指定するために、 「サービス・マッピング・レジストリー」(単純な XML ファイル) が使用されます。このサービス・マッピング機能は、以下のようなシナリオを自動的にサポートします。
  • プロバイダー・インプリメンテーション作業の多くについてスタブ・サービス・モデルを使用し、 作成されたものをテストする目的でのみ実際の接続をスワップインする。
  • 表示モデルの開発およびテスト用にスタブ・サービス・モデルを使用し、 単にサービス・マッピング・ファイルを変更して、実際のサービス (実際の接続を使用) を使用できるようにする。
  • どの表示モデルも変更する必要なしに、 代替サービス・インプリメンテーション (例えば、別のバックエンドを使用するなど) に任意に切り替える。これにより、置換可能なサービスがアプリケーション開発時、または公開済みのアプリケーションについて使用可能になります。 唯一の要件は、 選択されたモデルが同じサービス・プロバイダー・インターフェースをインプリメントすることです。

サービス・インターフェース・サポート

サービス・プロバイダー・モデルを簡単にスワップするために、 Data Service Builder は、サービス・インターフェース (概念上は Java インターフェースに似ている) の概念をサポートします。Service Definition Builder を使用すれば、 インターフェース定義として使用する別のサービス・プロバイダー・モデルの名前を指定できます。インターフェースの概念は、 すべての代替サービス・プロバイダー・インプリメンテーションが表示 (サービス・コンシューマー) モデルの共通セットを使用する場合に、 その代替サービス・プロバイダー・インプリメンテーションを開発するときに非常に役立ちます。これにより、 表示モデルを変更せずサービス・プロバイダー・モデル間でスワップできます。

Service Definition Builder および Service Operation Builder では、 指定のサービス・インターフェースを正確にインプリメントする作業が自動的に支援および検査されます (代替インプリメンテーションは自動的には生成されません)。サービス名や操作名、 および操作パラメーターの数や名前が検査されます。入力タイプおよび結果タイプは検証には含まれないため、 WebSphere Portlet Factory の適応機能を利用して、 代替フォーマットでサービスをインプリメントすることができます。

IBM WebSphere Portlet Factory プロジェクトを操作する

プロジェクトは、 WebSphere Portlet Factory でのアプリケーションの土台です。

プロジェクトは、Web アプリケーション、ポートレット・アプリケーション、またはウィジェットを作成するために、 WebSphere Portlet Factory が必要とする、すべての成果物を含んでいます。

WebSphere Portlet Factory Designer ウィザードを使用して、プロジェクトの作成、 WebSphere Portlet Factory 成果物の プロジェクトへの追加、 WebSphere Portlet Factory 成果物のプロジェクトからの削除、プロジェクト設定の変更など、すべてのプロジェクト操作ができます。

ほとんどのウィザードは、プロジェクトの右クリック・メニューからアクセスでき、 各ウィザードには通常、デフォルトの設定が指定されています。これらのデフォルト設定は、 開発環境に応じて変更できます。

WebSphere Portlet Factory プロジェクトの標準的な内容

標準的な WebSphere Portlet Factory プロジェクトの特徴を以下に示します。

プロジェクトの性質
WebSphere Portlet Factory プロジェクトでは、Java プロジェクト・ネイチャーを使用します。
プロジェクトの内容
WebSphere Portlet Factory プロジェクトには、 WebSphere Portlet Factory のサービス提供可能なコンテンツ・ルート・ディレクトリーのすべての内容が含まれています。 例えば、wpf.war や以下のものがあります。
ソース・ディレクトリー
WebSphere Portlet Factory プロジェクトは、ソース・ディレクトリーとしてプロジェクトの インストール・ディレクトリーである WEB-INF/work/source を使用します。 ソース・ディレクトリーとしてその他のディレクトリーを指定することもできますが、 このディレクトリーを組み込む必要があります。
組み込まれたライブラリー
WebSphere Portlet Factory プロジェクトには、 WebSphere Portlet FactoryWEB-INF/lib ディレクトリーにあるすべての JAR ファイル、 および WEB-INF/clientlibs/servlet.jar にある JAR ファイルが含まれます。
外部ツールの Builder
WebSphere Portlet Factory WebApp Builder は、ファイルをプロジェクトからサーバーにコピーする Ant スクリプトを実行します。

プロジェクトの場所

デフォルトで、 WebSphere Portlet Factory プロジェクトは Eclipse の /workspace ディレクトリーにあります。 ただし、 WebSphere Portlet Factory プロジェクトはファイル・システムのどこにでも配置できます。 Windows システムではパス名の長さに制約があるため、プロジェクトはファイル・ システムの上層部またはその近くに置くほうが便利です。

IBM WebSphere Portlet Factory プロジェクトを作成する

アプリケーションのビルドでの最初のステップは、プロジェクトの作成です。

このプロジェクトは、アプリケーションが必要とするすべての成果物と機能を含みます。

  1. 環境をセットアップします。
    1. WebSphere Portlet Factory Designer をローカルにインストールします。

      WebSphere Portlet Factory Designer は、Web アプリケーション、ポートレット、およびウィジェットを作成するための開発環境です。 これは、Eclipse や Rational Application Developer などの統合開発環境 (IDE) にインストールされます。Eclipse または Rational Application Developer をまだインストールしていない場合は、 WebSphere Portlet Factory インストール手順で Eclipse をインストールできます。

    2. IBM WebSphere Portal サーバー、 IBM WebSphere Application Server IBM WebSphere Application Server Community Edition (CE)、Tomcat、IBM Lotus Mashups サーバー、または IBM InfoSphere MashupHub がインストールされているローカル環境またはネットワーク環境へのアクセスを確立します。

      プロジェクトを公開するには、ターゲット・サーバーが実行されている必要があります。

  2. WebSphere Portlet Factory を インストールした Eclipse または Rational Application Developer のクライアントを起動します。
  3. メニューから、「ウィンドウ」 > 「パースペクティブを開く」 > 「その他」 > 「WebSphere Portlet Factory」をクリックします。
  4. 「ファイル」メニューから、「新規」 > 「WebSphere Portlet Factory プロジェクト」を選択します。
  5. プロジェクトの名前を指定して、「次へ」をクリックします。
  6. 「機能セット」ページで、プロジェクトに組み込む機能セットを選択し、「次へ」をクリックします。

    機能セットは、後でプロジェクトに追加したり、プロジェクトから除去したりすることができます。 デフォルト条件として、Dojo Ajax 機能セットが選択されます。この設定により、プロジェクトは最新の外観およびスタイルの機能を Web アプリケーションのユーザー・インターフェースに利用できます。

  7. 「次へ」をクリックして、「サーバー構成」画面に進みます。

    現在の構成設定が表示されます。 WebSphere Portlet Factory を インストールするときにシステムに WebSphere Application Server CE を インストールした場合、または既にシステムに存在していた場合は、 WebSphere Application Server CE サーバー構成が自動的に作成されます。

    新規の構成を追加するか、または現在選択している構成を編集または削除できます。

  8. オプション: 特定の環境用のプロジェクトの既存の構成を編集します。
    1. 「サーバー構成」ウィンドウで、「編集」をクリックします。

      選択したサーバー構成の構成設定が「サーバー構成の編集」 ウィンドウに表示されます。

    2. 構成設定を変更します。
    3. オプション: サーバー構成によっては、「テスト・サーバー接続」をクリックして、ターゲット・サーバーへの接続を検査できます。

      エラーを受け取る場合は、サーバーが稼働していることを確認してから「テスト・サーバー接続」をもう一度クリックします。「OK」をクリックして先に進みます。

  9. 「完了」をクリックしてプロジェクトの作成を完了します。

    サーバー構成のターゲット・サーバーが稼働していない場合は、始動するように プロンプトが出されます。アプリケーションを作成してテストすることを計画している場合、サーバーを始動する必要があります。そうでない場合は、サーバーを後で始動できます。

    プロジェクトをすぐに公開するためのプロンプトが出されます。「はい」をクリックすると、WAR ファイルがローカルに公開され、プロジェクトを変更すると自動的に公開されます。

新規プロジェクトの名前がプロジェクト・エクスプローラーに表示されます。 以下のプロパティー・ファイルがプロジェクトに作成されます。
/WEB-INF/config/override.properties
このファイルにより、プロジェクトは最新のテーマ (bowstreet.themeFile プロパティー) およびデフォルト Rich Data Definition (RDD) ファイル (bowstreet.baseRddFile プロパティー) を利用できます。 テーマ・ファイル (/WEB-INF/factory/themes/blue_WPF7.uitheme) のプロパティーにより、ポートレットでのページの部分最新表示を必要とするアクション後の操作でスマート・リフレッシュ機能を使用できるようになります。RDD ファイルのプロパティーは、ユーザー・インターフェース (UI) でのページ自動化フィールドおよび列の表示と検証に関する自動設定値を提供します。単一 RDD ファイル (/WEB-INF/factory/data_definitions 内) は、デフォルトでページ自動化ページによって使用されます。

IBM WebSphere Portlet Factory プロジェクトをビルドする

Eclipse のビルド操作が WebSphere Portlet Factory プロジェクトで使用される場合、複数のアクションが実行されます。

  • ソース・ファイルを実行可能ファイルに変換する

    例えば、Java ソースをコンパイルしてクラス・ファイルにしたり、プロパティー・ファイルをソース・ディレクトリーからクラス・ディレクトリーにコピーしたりします。

  • ファイルをコピーして WAR を作成する

    例えば、アプリケーション・サーバーの 出力場所やリンクされた WAR ファイルにコピーし、作成します。

WebSphere Portlet Factory Designer は、自動ビルド設定が使用可能になっている場合 (「ウィンドウ」 > 「設定」 > 「一般」 > 「ワークスペース」にある「自動的にビルド」) に、最適に機能します。 この設定はデフォルトで有効になっていますが、 ワークスペース内のアクティブ・プロジェクトに大量のソースがあるか、 またはそのビルドに時間がかかる場合に、開発者が設定を無効にすることがあります。

この設定を無効にして稼働させなければならない場合、次の環境で手動でのビルドが必要なことがあります。

  • 新しいソースを追加するとき - 例えば、機能セットやパッケージをインストールする場合
  • ソースを生成するとき - 例えば、Data Page Builder の 「リソース・バンドルの作成」アクションで生成する場合です
  • アプリケーション・サーバーと同期するとき - 例えば、プロジェクトでリソース (モデル、プロファイル・セット、またはコンテンツ) を変更した後、URL を使用してサーバーにアクセスする場合です。
    注: 「実行」コマンドは通常、最初のページを起動する前にビルドを実行します。

プロジェクトの作成について

プロジェクトの作成を完了すると、開発 WAR ファイルを公開するかまたは実動 WAR ファイルをエクスポートするかのど ちらかを選択できます。

ポートレットとウィジェットの場合で条件が異なります。
ポートレットの場合

WebSphere Portlet Factory では 2 つの WAR ファイルが生成できます。 WebSphere Portlet Factory Development WAR ファイルは、アプリケーション・サーバーでアプリケーションをスタンドアロンで実行する際に使用されます。ポートレット WAR ファイルは、アプリケーションをポータル内のポートレットとして実行する際に使用されます。

アプリケーションの公開機能 を選択しなかった場合は、このプロセスが完了した後に WAR ファイルを手動で公開する 必要があります。アプリケーションの公開機能を 選択した場合は、プロジェクトのサーバー構成で指定したサーバーに WAR ファイル が公開されます。ここでは多くの処理が行われるため、公開処理の完了までに 2 分から 3 分かかることがあります。

WebSphere Portal のローカルのインストール済み環境を使用している場合、 WebSphere Application Server のセキュリティーがデフォルトで使用可能になります。このため、WAR ファイルの作成中にクリデンシャルを求めるプロンプトが出される場合があります。Portal 管理者クリデンシャルではなく、 WebSphere Application Server 管理者クリデンシャルを使用してください。また、かならずこのプロンプトが出るまで待ってから、アプリケーションの公開機能を実行するようにしてください。プロンプトを無視するとタイムアウトになるため、WAR ファイルは自動的には公開されません。 この場合でも、 WebSphere Application Server 管理コンソールを使用して手動で WAR ファイルをインストールし、構成することはできます。

プロセスが完了すると、 WebSphere Portlet Factory によって、インストールした機能セットの README エディターが表示されます。これらのファイルを読み通し、読み終わったら閉じます。 空の (グレーの) 作業域が表示されたままです。

Websphere Administration Server または WebSphere Portal Server サーバーがリモートである場合、情報パネルの下にエラー・メッセージが表示 されます。このメッセージには、開発 WAR およびそれを含む EAR が公開されていないことが示されます。ポートレット WAR を自動的に公開することを選択しなかった場合や、ポータル・サーバーが使用不可である場合、 WebSphere Portal 管理コンソールを使用してこの WAR を手動で公開する必要があります。

ウィジェットの場合

開発 WAR ファイルに開発時間の短縮に役立つユーティリティーが 含まれています。開発 WAR はサーバー構成で指定された入力に 基づいて作成されます。サーバー構成がアプリケーションの公開用に構成されている場合、 ウィジェットは開発 WAR の作成時に公開されます。 WebSphere Portlet Factory をインストールしたときに、システムに Mashup サーバーがインストールされている場合、MashupServer という名前のサーバー構成が自動的に生成され、自動的にウィジェットを公開するように構成されます (インストール中に正しいクリデンシャルが指定された場合のみ)。

開発 WAR を作成するには、プロジェクト・エクスプローラー・パネルで プロジェクト名を右クリックします。ウィジェットを公開するために、「ウィジェット」 > 「Lotus Mashups ツールボックスへのウィジェットの公開」をクリックします。公開するウィジェットを選択し、「OK」をクリックします。

実動 WAR ファイルは、アプリケーションの実稼働環境へのエクスポート準備が完了したときに使用されます。実動 WAR には開発ユーティリティーは 含まれないため、開発 WAR より小さくなります。 実動 WAR は手動でサーバーに エクスポートする必要があります。実動 WAR を作成するには、プロジェクト・エクスプローラー・パネルで プロジェクト名を右クリックします。「エクスポート」をクリックし、ご使用の環境固有の WAR を 選択します。

アプリケーションの公開機能 を選択しなかった場合は、このプロセスが完了した後に WAR ファイルを手動で公開またはエクスポートする 必要があります。アプリケーションの公開機能を選択した場合は、WAR ファイルがサーバーに公開されます。ここでは多くの処理が行われるため、公開処理の完了までに 2 分から 3 分かかることがあります。

Lotus Mashups のローカルのインストール済み環境を使用している場合、 セキュリティーがデフォルトで使用可能になります。このため、WAR ファイルの作成中にクリデンシャルを求めるプロンプトが出される場合があります。 WebSphere Application Server 管理者クリデンシャルを使用してください。また、かならずこのプロンプトが出るまで待ってから、公開処理を実行するようにしてください。プロンプトを無視するとタイムアウトになるため、WAR ファイルは自動的には公開されません。 この場合でも、 WebSphere Application Server 管理コンソールを使用して手動で WAR ファイルをインストールし、構成することはできます。

プロセスが完了すると、 WebSphere Portlet Factory によって、インストールした機能セットの README エディターが表示されます。これらのファイルを読み通し、読み終わったら閉じます。 空の (グレーの) 作業域が表示されたままです。

Lotus Mashups サーバーがリモートである場合、情報パネルの下にエラー・メッセージが表示されます。このメッセージには、開発 WAR およびそれを含む EAR が公開されていないことが示されます。WAR を自動的に公開することを選択しなかった場合や、 サーバーが使用不可である場合、この WAR を手動で公開する必要があります。

IBM WebSphere Portlet Factory プロジェクトの変更

WebSphere Portlet Factory プロジェクトは、さまざまな方法で変更できます。

例えば、機能セットを追加することや、まったく別のタイプのアプリケーション・サーバーにプロジェクトを公開することもできます。また、プロジェクトの WAR を作成してプロジェクトを 変更することもできます。 これらのオプションはすべてプロジェクトのポップアップ・メニューから使用でき、プロジェクト・エクスプローラーでプロジェクトを右クリックしてアクセスできます。

ポップアップ・メニューで、「プロパティー」 > 「WebSphere Portlet Factory プロジェクト・プロパティー」をクリックして、機能を追加します。「機能情報」ペインで、プロジェクトで使用する Builder を含む機能セットを選択できます。

さまざまなタイプの WAR を作成できます。ポップアップ・メニューで、「アプリケーションの公開」をクリックして、サブメニューから該当する項目を選択します。

「プロパティー」 > 「WebSphere Portlet Factory プロジェクト・プロパティー」 > 「サーバー構成」をクリックすると、プロジェクトに使用できるサーバー構成を表示または変更できます。

注: プロジェクトを変更すると、 WebSphere Portlet Factory Designer はプロジェクトから ファイルをいったん除去してから、ファイルをプロジェクトに再度追加します。 このため、変更操作により特定のファイル (例えば、web.xml) が削除されるという 警告が表示されることがあります。削除されたファイルは、変更操作が完了するとプロジェクトに追加されて戻されます。 警告ダイアログに応答する前に、変更したコピーをバックアップ・ロケ ーションに保存することができます。削除または上書きを行うかどうかを尋ねられた場合に、変更されたコピーを保存せずに、 「はい」または「すべてはい」を選択すると、 削除または上書きされるファイルに行った変更内容が失われます。

リモート・プロジェクトを操作する

ユーザーはリモート・マシンに配置されたプロジェクトを操作できますが、いくつかの簡単なガイドラインに従うことが条件です。

リモート・プロジェクトはチーム開発をサポートしています。チーム開発では、 複数の開発者が同じプロジェクトへのアクセス権を共用できます。

リモート・プロジェクトは、J2EERoot¥.bowstreet 構成ファイルに IBM WebSphere Portlet Factory の場所を保管します。 この結果、2 人以上のユーザーが同じリモート・プロジェクトで作業しようとする場合、 正確に同じプロジェクトのディレクトリー位置を使用する必要があります。 既存のリモート・プロジェクトをワークスペースにインポートしようとしたときのパスが、リモート・プロジェクトの .bowstreet 構成ファイルで指定されているパスと同一でない場合は、 WebSphere Portlet Factory Designer にエラーが表示されます。

リソースの移動

プロジェクト・エクスプローラーまたはモデル・ナビゲーターのプロジェクト・ツリーに表示されるフォルダーの位置を変更できます。

注: 移動するフォルダーを参照するリソースを開いている場合、リソースを再度開くまで変更は反映されません。 フォルダーを名前変更する場合も同様です。

プロジェクト・エクスプローラー・ツリー内で項目を移動するには、以下の手順に従います。

  1. 以下のいずれかを選択します。
    • リソースを右クリックし、表示されるポップアップ・メニューから「リファクタリング (Refactor)」 > 「移動」を選択します。
    • リソースをクリックし、メイン・メニューから「リファクタリング (Refactor)」 > 「移動」を選択します。
    • Model Navigator でリソースを右クリックし、表示されるポップアップから「移動」を選択します。
  2. 表示されるダイアログ・ボックスで、リソースの移動先フォルダーをクリックし、「OK」をクリックします。

Builder またはプロファイル項目を名前変更する

Builder およびプロファイル項目を名前変更できます。また、その定義を編集できる場合もあります。

この操作は、モデルまたはプロファイル・セットをプロジェクト・エクスプローラーまたはモデル・ナビゲーターで開いた後に「アウトライン (Outline)」から行います。

Builder またはプロファイル項目を名前変更する前に検討すべき別の点としては、参照の再調整時、名前変更プロセスはそれらの参照について単純なテキスト検索を内部的に実行しているということです。 例えば、Page2 という名前の Builder と、Page20 という名前の Builder が存在し場合、Page2 を Pagex に名前変更すると、Page2 と Page20 の両方への参照が検索されます。Page20 への参照を除去するには、変更しない項目を選択解除し、名前変更により実行される変更をプレビュー (>「次へ」をクリック) する必要があります。

プロファイル項目または Builder 呼び出しを名前変更するには、以下のステップに従います。

  1. 「アウトライン (Outline)」ウィンドウを表示します。
    1. 「ウィンドウ」 > 「ビューの表示」 > 「その他」を選択します。
    2. 「一般」 > 「アウトライン (Outline)」を選択します。
    3. 「OK」をクリックします。
  2. 名前変更する Builder が組み込まれているモデル (または名前変更するプロファイル項目を保持するプロファイル・セット) を開くため、プロジェクト・エクスプローラー・ツリーまたはモデル・ナビゲーター・ツリーでそのモデル (またはプロファイル・セット) を右クリックし、表示されるポップアップで「開く」をクリックします。 モデル (またはプロファイル・セット) を開くと「アウトライン (Outline)」が取り込まれます。
  3. 名前変更する「アウトライン (Outline)」で項目を右クリックし、表示されるポップアップで「名前変更」を選択します。
  4. 「Builder 呼び出しの名前変更 (Rename builder call)」 (または「プロファイル項目の名前変更 (Rename profile entry)」) ダイアログに新規名を入力します。
  5. 「次へ」ボタンが使用可能な場合、それをクリックして、選択項目を名前変更した場合に作成される変更のリストを表示します。 場合によって、名前変更は複数のリソースに影響します。 これらのリソースは、「名前変更」画面にリストされます。通常は行いませんが、リスト内の 1 つ以上の特定リソースは更新せず、その他のリソースは更新する、という指定もできます。
  6. 「完了」をクリックして名前変更を完了するか、「キャンセル」をクリックして名前変更を取り消します。

リソースの名前変更

フォルダー、モデル、またはプロファイル・セットを名前変更できます。

プロジェクト・エクスプローラーからフォルダー、モデル、またはプロファイル・セットの名前を変更するには、以下の手順に従います。
  1. フォルダー、モデル、またはプロファイル・セットを選択します。
  2. リソースを右クリックして表示されるポップアップ・メニューから「リファクタリング (Refactor)」 > 「名前変更」を選択するか、リソースをクリックしてメインメニューから「リファクタリング (Refactor)」 > 「名前変更」を選択します。
  3. 「リソースの名前変更 (Rename Resource)」ダイアログで新規名を入力します。
  4. 「プレビュー」をクリックして、選択項目を名前変更した場合に作成される変更のリストを表示します。 場合によって、名前変更は複数のリソースに影響します。 これらのリソースは、「プレビュー」画面にリストされます。通常は行いませんが、リスト内の 1 つ以上の特定リソースは更新せず、その他のリソースは更新する、という指定もできます。
  5. 「OK」をクリックして名前変更を完了するか、または「キャンセル」をクリックして名前変更を取り消します。「OK」をクリックすると、選択した項目の名前が変更され、他のリソースへの参照は再調整されます。

Model Navigator でリソースの名前を変更するには、リソースを右クリックし、表示されるポップアップから「名前変更」を選択し、新しい名前を入力します。

リファクタリング

IBM WebSphere Portlet Factory は、プロジェクト・エクスプローラーおよび Java Package Explorer におけるリファクタリングを幅広くサポートします。

プロジェクト・エクスプローラーでリソースを移動または名前変更すると、すべての内部参照が調整されるため、プロジェクト・エクスプローラー を使用してのリファクタリングをお勧めします。これに対し、標準 Navigator でリファクタリングを試行しても、このような調整は行われません。

プロジェクト・エクスプローラーからリファクタリングする

プロジェクト・エクスプローラーから IBM WebSphere Portlet Factory Designer のリファクタリング機能を活用して、プロジェクト・フォルダーや、フォルダー内のリソースを移動したり、名前変更したりできます。

ツリーでリソースを名前変更するには、プロジェクト・エクスプローラーで項目をクリックし、メニューから「リファクタリング (Refactor)」 > 「名前変更」を選択して、表示されるダイアログ・ボックスに新規名を入力します。 また、項目によっては、項目を右クリックし、表示されるポップアップで「リファクタリング (Refactor)」 > 「名前変更」を選択し、表示されるダイアログ・ボックスに新しい名前を入力できます。

ツリーでリソースを移動するには、プロジェクト・エクスプローラーで項目をクリックし、「リファクタリング (Refactor)」「移動」をクリックして、表示されるダイアログ・ボックスで項目の移動先フォルダーをクリックします。 または、項目を右クリックしてメニューから「リファクタリング (Refactor)」 > 「移動」を選択し、表示されるダイアログ・ボックスで項目の移動先フォルダーをクリックします。

アーカイブを作成する

Eclipse のエクスポート機能を使用して、開発で共用される成果物が含まれた IBM WebSphere Portlet Factory アーカイブ・ファイルを作成します。

WebSphere Portlet Factory アーカイブを作成する場合は、モデルとサポートするファイルのみを選択します。これには、HTML ページ、.css ファイル、JavaScript ファイル、プロファイル、リソース・バンドル、および LJO 用にユーザーが作成したすべての Java ソース・ファイルなどのファイルを含みます。

デフォルトで新規プロジェクトに追加されるファイルは含めないでください。 WebSphere Portlet Factory アーカイブに他のプロジェクト・ファイルを含めると、そのアーカイブを別のプロジェクトにインポートした場合に問題が発生することがあります。問題が発生するのは、プロジェクト・ファイルの一部がプロジェクト固有である場合があるからです。適切な経験法則としては、ユーザーが作成したファイルのみを含めます。

  1. Eclipse では、「ファイル」 > 「エクスポート」をクリックして、エクスポート・ウィザードを開きます。
  2. 「エクスポート」ダイアログで、「WebSphere Portlet Factory」 > 「WebSphere Portlet Factory アーカイブ」をクリックして、「次へ」をクリックします。

    「エクスポート」ダイアログの左側のペインにプロジェクトのリストが表示され、右側のペインにさまざまなプロパティー・ファイルが表示されます。

  3. 左側のペインでは、含めたいプロジェクト・コンポーネントを選択します。 右側のペインでは、含めたいプロパティー・ファイルを選択します。
  4. 選択した項目が他のファイルへの依存関係を保持している場合、「依存関係の選択」をクリックし、依存ファイルを選択して、アーカイブに組み込みます。

    詳細については、ダイアログのヘルプを参照してください。

  5. 「アーカイブ・ファイル」で、 WebSphere Portlet Factory アーカイブ・ファイルを保存する場所を入力します。
  6. 「完了」をクリックし、アーカイブ・ファイルを作成して保存します。

アーカイブ・ファイルをインポートする

WebSphere Portlet Factoryのインポート・ウィザードを使用すると、外部ソースのリソースをプロジェクトに組み込むことができます。

これらのリソースは、IBM WebSphere Portlet Factory アーカイブ ZIP ファイルの形式になっている必要があります。
注: WAR インポートおよび EAR インポートの機能では、 WebSphere Portlet Factory プロジェクトは 作成されません。 WebSphere Portlet Factory プロジェクトをインポートするには、「インポート」 > 「WebSphere Portlet Factory アーカイブ」を使用してください。
  1. プロジェクト・エクスプローラーでプロジェクトをクリックします。
  2. メインメニュー・バーで「ファイル」 > 「インポート」をクリックします。
  3. インポート・ウィザードで、「その他」 > 「WebSphere Portlet Factory アーカイブ」をクリックし、「次へ」をクリックします。
  4. 「ブラウズ」をクリックし、解凍してプロジェクトにインポートするファイルが含まれている ZIP アーカイブ・ファイルを選択します。

    既存のパッケージ・マネージャーを使用して以前に作成された「pkg」ファイルを選択することもできます。

  5. インポート選択ペインで、左側ペインにある階層を展開し、選択したアーカイブに含まれるフォルダーを表すチェック・ボックスを選択またはクリアします。
    以下の項目を使用して、インポートするリソースを正確に選択します。
    タイプのフィルタリング (Filter Types)
    特定タイプのファイルについて現在の選択をフィルタリングするには、これを使用します。
    すべて選択
    アーカイブ・ファイル内のすべてのリソースを選択し、インポートしないリソースを選択解除するには、これを使用します。
    選択をすべて解除
    これを使用してアーカイブ・ファイル内のすべてのリソースを選択解除し、インポートするリソースを個々に選択します。
    詳細については、ダイアログのヘルプを参照してください。
  6. 「フォルダーへ (Into folder)」で、インポートの宛先となるプロジェクト・ターゲットを指定します。

    インポート操作では常に、プロジェクトのサービス提供可能コンテンツ・ディレクトリーを基準にしてアーカイブ・コンテンツが配置されます。Eclipse プロジェクトでは、これはプロジェクト・ルートです。Rational Application Developer 組み込みサーバー・プロジェクトでは、これはプロジェクト・ルートの下にある WebContent ディレクトリーです。コンテンツ・ディレクトリーより下にあるフォルダーを選択した場合、その選択は無効です。

  7. インポート・オプションの指定が完了したら、「完了」をクリックします。

機能セットをプロジェクトに追加する

機能セットは、開発チームのメンバーが使用するための機能をパッケージ化する便利な方法を備えています。

機能セットは、Builder または Builder のセットに必要なファイルのセットです。 機能セットには、モデル、プロファイル・セット、Builder、およびクラスを含むことができます。 機能セットでは、アプリケーションにオーバーヘッドを加えることがなく、実装しようとしている機能と無関係の WAR ファイルにオーバーヘッドを加えることがありません。 機能セットは、いつでもプロジェクトに追加したり、プロジェクトから除去したりすることができます。

機能セットを IBM WebSphere Portlet Factory プロジェクトに追加するには、以下の手順に従ってください。

  1. プロジェクト・エクスプローラーで、プロジェクトを右クリックし、「プロパティー」 > 「WebSphere Portlet Factory プロジェクト・プロパティー」 > 「機能情報」をクリックします。
  2. 「機能情報」ペインで、プロジェクトで使用する Builder を含む機能セットを選択できます。
  3. プロジェクトに一定の機能セットを追加した後で、「ファイル」 > 「再始動」をクリックして Eclipse を再始動することにより、機能セットに関連付けられているクラスが適切にロードされるようにします。
    注: スプレッドシート拡張機能セットをプロジェクトに追加して、 Spreadsheet Builder を含むモデルを開くと、 モデル生成エラー (com.bowstreet.webapp.engine.MethodGeneratorException) が表示される場合があります。 この問題は、モデルを開くときにクラスがコンパイルされていないために発生します。 Eclipse を再始動することにより、この問題が回避されます。 Eclipse の始動時にスプレッドシート拡張機能セットが既にインストールされている場合、 またはプロジェクト作成時に機能セットを追加する場合には、問題は発生しません。

IBM WebSphere Portlet Factory 機能セットを削除する

プロジェクトから WebSphere Portlet Factory 機能セットを削除できます。

機能セットを除去すると、機能セットに関連するすべてのファイルがプロジェクトから除去されます。

  1. WebSphere Portlet Factory 機能セットを除去するプロジェクトを右クリックします。
  2. 「プロジェクト」メニューで、「プロパティー」 > 「WebSphere Portlet Factory プロパティー」 > 「機能情報」をクリックし、ウィザードの最初のページを表示します。
  3. 1 つ以上の機能セットを選択解除し、「適用」をクリックしてから「OK」をクリックします。
選択した機能セットに関連するすべてのファイル (モデル、プロファイル・セット、Builder、クラスなど) がプロジェクトから削除され、修正されたプロジェクト・コンテンツがナビゲーターに表示されます。

ファイルの文字エンコード方式の設定

Builder が使用する特定のファイルの文字エンコード方式を設定できます。

以下のファイルの場合、 WebSphere Portlet Factory では、デフォルトで、UTF-8 文字エンコード方式を 使用します。
  • Rich Data Definition XML ファイルの書き込みおよび読み取り
  • Client JavaScript Builder や Stylesheet Builder によってインポートされたファイルなど、コンテンツを挿入する Builder のファイルの 読み取り
これらのファイルで UTF-8 以外のマルチバイト文字エンコード方式を 使用する必要がある場合は、関連するプロパティーをオーバーライドできます。
  1. WEB-INF/config/cluster.properties ファイルで、以下のプロパティーを見つけます。
    # This encoding is used by the Rich Data Definition builder when reading/writing RDD files:
    bowstreet.builder.rdd.file.encoding=UTF-8
    # This encoding is used when content inserter builders (JavaScript and Stylesheet) read files:
    bowstreet.builder.contentInserter.file.encoding=UTF-8
  2. プロジェクトの WEB-INF/config/ ファイルに、独自の値を指定します。

    override.properties ファイルが存在しない場合は、作成してかまいません。

モデルを作成して開く

ウィザードを使用して、各種のモデルを作成することができます。

このウィザードは、基本的なアプリケーションの実行に必要なすべての Builder をモデルに取り込みます。 このウィザードは、自己文書化方式で、使いやすいように設計されています。 ウィザードに表示される選択項目は、プロジェクトに追加した機能セットに応じて異なります。表示されるウィザードの手順の進行は、作成するモデルのタイプによって異なります。

新規モデルを作成する

IBM WebSphere Portlet Factory Designer ウィザードを使用して、新規モデルを作成します。

  1. 以下のいずれかのアクションを実行します。
    • ツールバーの「新規」アイコン (ツールバーの「新規」アイコン) の横にあるプルダウンをクリックして、「WebSphere Portlet Factory モデル」をクリックします。
    • ツールバーの「新規」アイコン [ツールバーの「新規」アイコン] をクリックし、ウィザードを選択する画面で、「WebSphere Portlet Factory」 > 「WebSphere Portlet Factory モデル」をクリックし、「次へ」をクリックします。
    • 「ファイル」 > 「新規」 > 「WebSphere Portlet Factory モデル」をクリックします。
  2. 「プロジェクトの選択」で、新規モデルを作成するプロジェクトを選択し、「次へ」をクリックします。
  3. 「モデルの選択」で、「モデル・タイプ」から、リストされているモデル・タイプの 1 つを選択し、「次へ」をクリックします。
    Builder 呼び出しはありません。 必要なアプリケーション機能を提供するには、すべての Builder 呼び出しを追加する必要があります。
    メインおよびページ (推奨)
    アプリケーションの実行時にページを表示する main という Action List Builder および page1 という Page Builder 呼び出しが含まれます。
    データベース View & Form
    リレーショナル・データベースからのデータを活用する、完全に機能するアプリケーションを最も迅速に作成できます。ポートレット、ウィジェット、および Web アプリケーションを作成するには、このウィザードを使用します。 列見出しを変更し、データ・ページングを組み込み、詳細なドリルダウン機能を有効にすることにより、 ユーザー・インターフェースをカスタマイズできます。
    REST ベースの View & Form
    REST サービスからのデータを活用する、完全に機能するアプリケーションを最も迅速に作成できます。ポートレット、ウィジェット、および Web アプリケーションを作成するには、このウィザードを使用します。 列見出しを変更し、データ・ページングを組み込み、詳細なドリルダウン機能を有効にすることにより、 ユーザー・インターフェースをカスタマイズできます。
    単純な「Hello World」モデル
    Action List Builder と Page Builder を使用して、テキストを指定するテキスト行を既存のページに表示したり、 指定した完全な HTML ページを表示したりします。 オプションで、モデルをポートレットとしてデプロイすることもできます。
    「SQL データ・サービス・プロバイダー」
    リレーショナル・データベースの基本的な検索、作成、取得、更新、および削除の各操作用のサービスを作成します。 作成されたモデルを、「データ・サービス UI サービス・コンシューマー」ウィザードが作成するモデルのサービス・プロバイダーとして使用します。
    「データ・サービス UI サービス・コンシューマー」
    選択したサービス用の完全なユーザー・インターフェース (UI) をビルドします。 「SQL データ・サービス・プロバイダー」ウィザードの使用後に、このウィザードを使用して、SQL Data Services サービス・プロバイダーが作成するモデル内のサービスによって呼び出される操作のページ、フォーム、アクション、ボタン、および他のユーザー・インターフェース・コンポーネントを自動的に生成します。
    リストおよび詳細サービス・コンシューマー
    View and Form Builder を使用して、データ・サービスからのデータを表示します。データの詳細ビューおよびテーブルを作成できます。 モデル内の Builder 呼び出しの指定にも使用されるポートレット名を指定します。使用する操作を定義するサービス・プロバイダー・モデルおよびメイン・ビューを提供するサービス操作を指定します。
    データベース・サービス・プロバイダー
    J2EE データ・ソースに対して実行される SQL ステートメントに対応する操作へのインターフェースを指定します。プロジェクトには、有効なサーバー構成が必要です。このサービスを Web サービスとして公開できます。実行する SQL ステートメントおよび SQL DataSource を定義します。
    注: プロジェクトにオプション・パッケージがある場合、「モデル・タイプ」に以下の追加項目が表示されます。
    Sample Main and Page (サンプルのメインおよびページ) and Page (サンプルのメインおよびページ)
    Builder サンプルの一部です。カスタムの新規モデル・ウィザードの作成に使用されます。
    Lotus Domino サービス・プロバイダー
    Lotus Domino データからサービスを作成できるようにします。このウィザードは、指定されたビューを使用して Lotus Domino データベースに接続し、文書を表示、作成、編集、および削除できるデータ・サービス・モデルを作成します。
    注: このウィザードを実行する前に、プロパティー・ファイル (WEB-INF/config/domino_config にあります) で Lotus Domino Server ホスト名およびクリデンシャルを宣言します。 提供されているサンプル・ファイルのコピーを変更します。

    このサービスを WSDL サービスとしてエクスポートできます。

    選択したモデル・タイプにページが含まれる場合、「ページ設定値」ウィンドウが開きます。その他のモデル・タイプの場合、使用または定義されているサービスに固有の他の質問に応答します。

  4. オプション: 「ページ設定値」で、HTML コードに関する以下のいずれかのオプションを選択し、「次へ」をクリックします。
    • インポート対象ページ

      HTML コードおよび JSP コードの外部ファイルを使用してページを作成します。これは推奨される設定です。

      「インポートするページ」で、独自のファイルを指定するか、デフォルトのファイルを使用できます。

    • 単純なページ

      HTML コードおよび JSP コードを入力してページを作成できます。 即座にプロトタイピングを行う場合に有用です。

  5. 「新規モデルの保管」で、新規モデルを保管するディレクトリーを入力または選択します。

    モデルは、 WebSphere Portlet Factory WEB-INF/models ディレクトリーの下のディレクトリーに保管する必要があります。

  6. 「モデル名」で、新規モデルの名前を指定し、「完了」をクリックします。

モデルのオープンについて

モデルは、プロジェクト・エクスプローラーまたはモデル・ナビゲーターから開くことができます。

既存のモデルはすべて、IBM WebSphere Portlet FactoryWEB-INF/models ディレクトリーに保管されます。 モデル・ナビゲーターにはプロジェクト・エクスプローラーのサブセットが用意されていて、ユーザーのモデルおよびプロファイルへの効率的なアクセスが可能になります。

  • WebSphere Portlet Factory Designer でモデルを開くと、そのモデル名が「ファイル」メニューの 下部にある MRU (最新使用モデル) リストに追加されます。 この名前をクリックすると、以降の WebSphere Portlet Factory Designer セッションでそのモデルを開くことができます。
  • また、次のいずれかの方法で、「モデル・ナビゲーター」ビューからモデルを開くこともできます。
    • 名前をダブルクリックする。
    • 名前を右クリックして、「開く」をクリックする。

モデルを開くと、 WebSphere Portlet Factory Designer は通常、次のモデル関連パネルを表示します。

Builder 呼び出しリスト
このリストは「アウトライン」ビューに表示され、モデルの Builder 呼び出しの項目を表示します。
モデル・エディター
パースペクティブのエディター領域から、編集のために開かれているモデルにアクセスできます。例えば、「アプリケーション・ツリー」パネルから、Builder 呼び出しで 作成されてモデルに追加されたすべてのエレメントにアクセスできます。

サービス・プロバイダーをテストする

サービス・プロバイダーをテストするには、以下のステップに従います。

  1. テストするデータ・サービスが含まれているモデルに Service Test Builder を配置します。 このモデルには、データ・サービスを定義する Service Definition Builder および Service Operation Builder が含まれている必要があります。
  2. データ・サービスを選択して、main メソッドを生成できるようにすることで、Service Test Builder を構成します。
  3. モデルを実行し、必要に応じて「入力」ページでサービスが必要とする入力を指定します。
  4. 結果ページにサービス出力を表示して、 予想される値をサービスが戻すかどうかを判別します。
  5. テスト中のサービスに関する情報を表示するには、Service Test Builder で「文書を組み込む」入力を有効にして、モデルを再実行します。 サービスとその操作に関する情報が、索引ページに表示されます。

Builder 呼び出しをモデルに追加する

開いたモデルに Builder 呼び出しを追加できます。

  1. 次のいずれかを行います。
    • IBM WebSphere Portlet Factory Designer ツールバー、アプリケーション・ツリー・ビュー・ツールバー、またはアウトライン・ビュー・ツールバーで、「Builder 呼び出しの追加」アイコン [ Builder ピッカー・アイコン] をクリックします。
    • WebSphere Portlet Factory Designer のメニュー・バーから、「モデル」 > 「Builder 呼び出しの追加」をクリックします。

    Builder ピッカー・ウィンドウが開きます。

  2. 次のいずれかを行います。
    • 「カテゴリー名」で、フォルダーをクリックして、そのカテゴリーで使用できる Builder をリストします。
    • 検索ボックスに、文字を入力して、Builder キーワードをリストし、キーワードをクリックして、そのキーワードに関連付けられた使用可能な Builder をリストします。

    Builder のリストが表示されます。

  3. 「Builder」で、Builder のリスト内の項目までナビゲートして選択し、モデルに追加します。

    Builder のリストが長い場合 (例えば、「すべて」カテゴリーの場合など) は、リストから項目を選択し、Builder 名の先頭文字を入力します。名前がその文字で始まる最初の Builder が選択されます。 文字を繰り返し入力して、名前がその文字で始まる次の Builder を選択します。 別の文字を入力して、プロセスを繰り返します。

  4. 「OK」をクリックします。

    アプリケーション・ツリー・ビューに Builder 呼び出しエディターが開きます。

  5. Builder 呼び出しエディターで、Builder 呼び出しの入力を指定します。
  6. 次のいずれかを行います。
    • 「適用」をクリックして、入力を保存し、この Builder をモデルに追加します。Builder 呼び出しエディターは開いたままであるため、さらに変更を加えることができます。
    • 「キャンセル」をクリックして入力を廃棄し、Builder をモデルに追加せずに、Builder 呼び出しエディターを閉じます。
  7. 入力の指定が終わったら、「OK」をクリックして、変更された入力をモデルに保存し、Builder 呼び出しエディターを閉じます。
Builder 呼び出しをページ上に配置したり、さまざまな入力ウィジェットを使用したりするには、Builder 呼び出しエディターを使用します。 モデルの Builder 呼び出しは、Builder 呼び出しリストで管理できます。

Builder 呼び出しエディターを実行する

モデル内の既存 Builder の Builder 呼び出しエディターを実行できます。

「アウトライン (Outline)」ビューの「名前」で、Builder 名をダブルクリックします。

選択された Builder 呼び出しのエディターが、Builder 呼び出しエディター・ビューのモデル・タブで開きます。

Builder 呼び出しを別のタイプに変換する

あるタイプの Builder を別のタイプに変換するには、以下のステップに従います。

ステップでは例として、Button Builder を Link Builder に変換します。

  1. Builder 呼び出しリストを開いて、変換する Button Builder を選択します。
  2. 選択項目を右クリックし、次のいずれかを行います。
    • 「変換」 > 「リンク」をクリックします。
    • 「変換」 > 「変換」をクリックし、Builder ピッカーで変換する Builder を選択し、「OK」をクリックします。

Builder が選択したタイプに変換され、Builder 呼び出しリストが更新されて 変換が反映されます。

元の Builder の入力は保存されて、適切な場合は、 新規の Builder に自動的に適用されます。 引用されている例では、「ボタン・ラベル」入力の値が「リンク・テキスト」入力に適用されます。 元の Builder の入力はすべて、新規 Builder の編集ページに追加されます。

Builder 呼び出しリストでソートおよびフィルタリングを行う

非数値の形式でリストを編成するときは、リストのソートが役立ちます。

フィルタリングは、特定のテキスト・ストリングを含む Builder など、モデル内の Builder のサブセットの表示を抑制する場合に便利です。
  • Builder 呼び出しリストをソートするには、次のようにします。
    1. リストの列見出しをクリックします。 例えば、「タイプ」をクリックして、リストを Builder 呼び出しのタイプ (Action List、Attribute Sequencer など) ごとに英文字順にソートします。 リストのソート方法に関係なく、Builder 呼び出しはその番号順に実行されることに注意してください。
  • Builder 呼び出しリストをフィルタリングするには、次のようにします。
    1. ビューのプルダウン・メニューを開き、「フィルタリング...」を選択します。
    2. 「フィルタリング」ダイアログで、フィルター・パターンを選択します。 パターンには、「前方一致 (Starts with)」、「含む (Contains)」、「含まない (Does not contain)」があります。
    3. 検索ストリングを入力します。 大/小文字を区別した検索を実行するには、チェック・ボックスを有効にします。
    4. 「OK」をクリックします。
    検索条件に一致する Builder 呼び出しが Builder 呼び出しリストに表示されます。

モデルを閉じる

モデルを閉じると、該当するタブがモデル・ワークスペースから除去されます。

モデルを閉じるには、以下のようにします。
  1. 閉じるモデルのタブ上にある X をクリックします。
  2. または、タブ名を右クリックして「閉じる」を選択します。
いずれの場合も、 モデルに保管されていない変更がある場合は、「リソースの保管 (Save Resource)」 ダイアログに、モデルを閉じる前に保管するかどうかを ユーザーに確認します。

モデルを削除する

モデルを削除すると、プロジェクトから除去されます。

公開済みアプリケーションからもモデルを除去する必要があります。

  1. モデル・ナビゲーター・ビューで、モデルを右クリックして「削除」をクリックします。
  2. 「リソース削除の確認 (Confirm Resource Delete)」ダイアログで「はい」をクリックします。
モデルは、関連する IBM WebSphere Portlet Factory WAR から削除されます。

モデルを名前変更する

モデルを名前変更するには、以下のいずれかを選択します。

  • ナビゲーター・ビューを使用する:
    1. プロジェクトのナビゲーター・ビューでモデルを選択します。
    2. 右クリックして 「名前変更」を選択します。
    3. 新しい名前を入力して Enter を押します。 新しいモデル名の一部に接尾部 .model が含まれていることを確認します。
  • 「モデルを別名で保管」機能を使用する: この機能を使用して、元のモデルをそのまま保存しながら、既存のモデルのコピーを別名で保管します。
    1. IBM WebSphere Portlet Factory Designer でモデルに焦点を合わせます。
    2. Eclipse の「ファイル」メニューを開いて、「を別名で保管」を選択します。
    3. 「モデルの別名保管」ダイアログで、 モデルを保管するディレクトリーを選択します。
    4. モデルの代替名を入力して「OK」をクリックします。

モデルを保存する

モデルを保管すると、すべての Builder 呼び出しの変更とモデル・プロパティーの変更を、 ディスクのモデルのファイルにコミットします。

モデルを保管するには、次の 3 つの方法があります。
  • ツールバーで「保管」アイコン [「エディター・コンテンツの保管 (Save Editor Contents)」ボタン] をクリックします。
  • 「ファイル」メニューから「別名保管」を選択します。
  • キーボードで Control-S を使用します。

モデルを実行する

モデルを実行 (起動) する前に、少なくとも 1 つの IBM WebSphere Portlet Factory モデル起動構成を作成する必要があります。

起動構成をどのように定義したかによって、以下のことが可能になります。

  • 名前付き (特定) モデルを実行する。
  • 現行アクティブ・モデル・エディター内にあるモデルを実行する。

ブラウザー・ウィンドウにその URL を入力することによっても、モデルを実行できます。

モデル内の特定のメソッドの実行について

URL を指定することによりモデルを実行すると、モデル内の特定のアクションを呼び出して、 そのモデルに明示的なプロファイルを渡すことができます。

モデルの URL でアクションを指定しないと、IBM WebSphere Portlet Factory サーブレットは、 そのモデルの main メソッドまたはアクション・リストを実行します。 URL 内にそれとは異なるアクションを指定することにより、 WebSphere Portlet Factory サーブレットにそのアクションを強制的に実行させることができます。
例えば、GetCustomers というメソッドを実行する場合、URL は以下のようになります。
http://localhost:7001/mymodels/CustomerModel/Action!GetCustomers
注: URL を使用して、引数を使用するメソッドを実行することはできません。

アクティブ・モデル・エディター内でモデルを実行する

プロジェクトが公開されると、アクティブなモデル・エディターで現行モデルを実行できます。

以下のいずれかの方法を使用します。

  • ツールバーの「実行」アイコンをクリックして、「アクティブなモデルの実行」をクリックします。
  • 「実行」 > 「実行」をクリックして、「アクティブなモデルの実行」をクリックします。
  • キーボードの Ctrl+F11 を押して、「アクティブなモデルの実行」をクリックします。

Eclipse は、起動されたプログラムのヒストリーを保持します。 前に起動されたモデルを再実行するには、「実行」 > 「ヒストリーの実行」をクリックして、リスト内の名前をクリックします。

ブラウザーからモデルを実行する

ブラウザー・ウィンドウにその URL を入力することによって、モデルを実行できます。

ブラウザー・ウィンドウでモデルの URL を入力します。 モデル用の URL は「モデル・プロパティー」ダイアログにあります。 このダイアログは、「ナビゲーター」ビューの中のモデル名を右クリックして、 「プロパティー」オプションを選択することにより表示できます。

プロファイルを使用してモデルを実行する

モデルに適用するプロファイルを URL 内に指定できます。

次の例のような URL を使用します。 http://localhost:7001/factory/webengine/URLTester/Action!main/Profile!ProfileSet1!ProfileB$ProfileSet2!ProfileA

あるいは、「適用対象プロファイル」ビューを使用して、アクティブ・モデル・エディター内のモデルに対してプロファイルの組み合わせを適用してから、アクティブ・モデルを実行します。

名前付きモデルを実行する

IBM WebSphere Portlet Factory Designer から名前付きモデルを実行できます。

  1. 「実行」 > 「実行構成」をクリックします。
  2. 「WebSphere Portlet Factory モデル」をクリックします。
  3. リストで名前を選択します。
  4. 「実行」ボタンをクリックします。

モデルの比較

Eclipse 比較エディターを使用すると、IBM WebSphere Portlet Factory プロジェクトの モデルを比較できます。

モデル比較エディターは、モデル・ファイルを別のモデル・ファイルや ローカル・ワークスペース・ヒストリーまたはリポジトリーにある同じモデルの 異なるバージョンと比較する場合に起動されます。モデル比較エディターは、 標準の Eclipse 比較エディターと同様に機能します。

比較エディターは、 「比較/パッチ (Compare/Patch)」設定ページの設定を使用します。設定値の表示および変更を行うには、 「ウィンドウ (Window)」 > 「設定」 > 「一般 (General)」 > 「比較/パッチ (Compare/Patch)」を クリックします。

比較時には、Eclipse 構造ビューアーおよび比較エディターを使用して プロジェクト内の 2 つのモデルの間の差異を表示します。

  1. プロジェクト・エクスプローラーまたはモデル・ナビゲーターで、 比較するモデルを選択します。
  2. 選択項目を右クリックし、「比較対象 (Compare With)」 > 「相互 (Each Other)」を クリックします。

モデル・ファイルを比較する場合は、エディター領域に モデル比較エディターが開きます。モデル比較エディターは、 「モデル構造比較」ビューおよびモデル比較エディターから 構成されています。

「モデル構造比較」ビューには、以下の詳細レベルで モデルの差異を示すツリーが表示されます。
  • ツリーの最上位ノードはモデル自体に対応します。
  • ツリーの第 2 レベルのノードは、2 つのモデルの間で異なる Builder 呼び出しを 表します。
  • ツリーの第 3 レベルのノードは、各 Builder 呼び出しの Builder 入力の間の 差異を表します。
「モデル構造比較」ビューの任意のノードをダブルクリックして、 ツリーのノードによって表される変更に着目することができます。

「モデル構造比較」ビューの 最上位ノードを選択すると、Builder 呼び出しの比較結果がモデル比較エディターに 表示されます。この表示は、モデル・エディターがアクティブな場合の 「アウトライン」ビューに類似しています。ツリーの Builder 呼び出しノード または Builder 入力ノードを選択すると、選択したノードの比較結果が XML テキストとして モデル比較エディターに表示されます。

モデル比較エディターでは、Builder 呼び出しリストのすべての差異を ブラウズしたり、強調表示された比較対象リソース間の相違点を コピーしたりすることができます。モデル比較エディターでリソースに対して 行った変更は保存できます。比較エディターのツールバー・ボタンを使用すると、 以下のコマンドを実行できます。

祖先ペインの可視性の制御 (Control Visibility of Ancestor Pane)
2 つのモデルの共通の祖先を表示します。チーム・バージョン管理サポートを 使用する場合は、以下の条件に基づいて 3 つの方法の比較が実行されます。
  • 競合しているファイルを比較する場合。
  • 分岐からマージするファイルを比較する場合。
リポジトリー内の共通の祖先は、 競合個所の比較または変更点のマージの対象と照らし合わせて 判別されます。このコマンドは、3 番目のエディターの 可視性を決定します。デフォルトでは、祖先ペインは可視ではありません。
左から右にすべてコピー (Copy All from Left to Right)
左側のペインにあるすべての Builder 呼び出しを右側のファイルに コピーし、2 つのモデルの内容を同じにします。
競合しないすべての変更点を右から左にコピー (Copy All Non-Conflicting Changes from Right to Left)
競合しないすべての Builder 呼び出しを右側のペインから 左側のペインにコピーします。競合する Builder 呼び出しは 個別にコピーする必要があります。
現在の変更点を左から右にコピー (Copy Current Change from Left to Right)
左側のペインで強調表示されている Builder 呼び出しを右側のペインで 強調表示されている場所にコピーすることにより、2 つのファイルの 変更点をマージします。このアクションは、Builder 呼び出しを右側のペインのモデルに 適宜上書きまたは挿入します。
現在の変更点を右から左にコピー (Copy Current Change from Right to Left)
右側のペインで強調表示されている Builder 呼び出しを左側のペインで 強調表示されている場所にコピーすることにより、2 つのファイルの 変更点をマージします。このアクションは、Builder 呼び出しを左側のペインのモデルに 適宜上書きまたは挿入します。
次の相違点を選択 (Select Next Difference)
比較対象リソースの間で検出された次の異なる Builder 呼び出しを 強調表示します。
前の相違点を選択 (Select Previous Difference)
比較対象リソースの間で検出された直前の異なる Builder 呼び出しを 強調表示します。

コンテナー内にモデルを配置する

コンテナー内にモデルを配置することで、モデルを Web ページに挿入できます。

  1. モデルを挿入するページを含むモデルを開きます。
  2. 開いたモデルで、コンテナー内にモデルを配置する Model Container Builder を追加します。
  3. Model Container Builder の「ページの場所」入力で、モデルを配置するページを指定します。

    この機能によって、複数のモデルを 1 つのページに配置できます。

  4. 「モデル」入力で、リファレンス・チューザーを使用してコンテナーに配置するモデルを指定し、「OK」をクリックして Builder をモデルに追加します。
  5. オプション: ロード時間を短縮するには、並列ポートレット・レンダリングまたは IBM® WebSphere® Portal サーバーの Web 2.0 機能 (ポートレットの並列ロードが可能) を使用します。

コンテナー内でのモデルの使用について

モデルは、自己完結型にすることができる、Builder 呼び出しのコレクションです。

Model Container Builder を使用すると、モデルを自己完結型にして、Web ページに挿入することができます。 モデル・コンテナーで複数のモデルを使用すると、 以下の 2 つの主要な利点を得られます。

開発者の場合
モデル・コンテナーを使用すると、共同開発がより簡単になります。複数の開発者が、ページ・コンテンツおよびページ作成で共同作業することができます。 各開発者が独立して作業し、特定のコンテンツを提供するモデルを同じページに提供することができます。
Web ユーザーの場合
Model Container Builder は、整合したページ・コンテキストを提供します。含まれているモデルを組み込んだ Web ページでは、ユーザーが追加されたコンテンツを検索するためにモデルにドリルダウンした場合でも、 そのページのコンテキスト内に残ることができます。 これによりユーザー指向が保持されます。 また、ユーザーは、ページ上の他のモデル内のコンテンツに簡単にアクセスできるようになります。

Container Builder を使用して、複数の開発者がページの一部分を開発してから、 各自の分離モデルをページに追加できます。各モデルは、表示されるモデルのプレースホルダーであるコンテナーに割り当てられます。 モデルは、コンテナーを含むこともできます。この結果、コンテナー内で、モデルを際限なくネストすることができます。 ページにアクセスするユーザーの観点から、 そのページは全体的にシームレスに表示され、コンテンツを集めたものを提供します。 一方、ユーザーが詳細を参照しようとしてモデルをクリックし、各モデルに進んだときには、 ページのコンテキスト全体をそのままにして、ページの該当のモデル・セグメントのみが変更されます。

連携ポートレット・モデルに関する指針
Cooperative Portlet Source Builder を 含むモデルをモデル・コンテナーに追加する場合に従う複数の指針があります。
  • Cooperative Portlet Source Builder を含むモデルの名前は、再生成の間に 解決できる必要があります。例えば、間接参照を この名前にすることはできません。
  • モデルでは、Java ポートレット標準 2.0 (JSR 286) イベントのみを使用します。 これらのタイプのイベントのみがモデル・コンテナーに伝搬します。モデル・コンテナー では、WSDL ベースのイベントを処理できません。
注: モデル・コンテナーに対する、 Cooperative Portlet Target Builder を含むモデルの追加はサポートされていません。

6.1.2 より前のバージョンの IBM WebSphere Portlet Factory Designer を 使用する場合は、Cooperative Portlet Source Builder を含むモデルの追加が認識されるために 、 WebSphere Portlet Factory Designer で既存のモデルをすべて開いて再生成し、それを保管します。

コンテナー内でモデルを使用するためのヒント
  • モデル・コンテナー内の入力は、 モデル内の入力と同じ方法で使用されます。
  • パフォーマンスは、コンテナー内のリンク済みモデルの数に応じて変化します。 モデル・コンテナー内のリンク済みモデルの数が多いほどパフォーマンスは低下しますが、 チャンクが小さくなるため、コードを保守しやすくなります。
  • フレームを使用しません。モデル・コンテナー内では、フレームはサポートされません。
  • コンテナーに挿入するモデルから <HTML> タグおよび <body> タグ を除去します。コンテナーにモデルを挿入する 前に、<HTML> タグと <body> タグをモデルから必ず除去してください。 特に <body> タグがスタイルに 割り当てられている場合は、重要です。この技法は、モデルのスタイルがページ上の他のモデルのスタイルに優先しないようにします。
  • 入力マッピングを使用している場合は、モデル内のフォームに名前を割り当てる必要が あります。フォームに名前が付いていない場合は、Builder が検出した、 最初にリストされたフォームに入力が割り当てられます。
  • コンテナー内のモデルがフォームを使用する場合は、 外部モデル内のフォームは Model Container Builder をラップすべきでありません。 Model Container Builder 呼び出しをラップするフォームが外部モデルにあり、 コンテナー内のモデルにもフォームがある場合は、ユーザーが内部フォームをサブミットしようとしても、 常に外部フォームがサブミットされます。 両方のフォーム・タグがモデル・コンテナーまたはポータル・コンテナーの前または後ろにあれば、外部モデルはフォームを安全に使用することができます。含まれているモデルに独自のフォーム・タグがある場合、 フォーム・タグはコンテナーをラップすべきではありません。
  • モデルが挿入先のページのルック・アンド・フィールを取り入れることができるようにするには、 限られた数のスタイルをユーザー・インターフェースに適用します。
  • レイアウトに対する基本 HTML のみを保持します。
  • HTML ページを構成するには、Page Builder ではなく Imported Page Builder を 使用します。このセットアップにより、ユーザー・インターフェースを制御できます。 必要に応じて HTML をサーバーから削除できるように、ソース HTML への絶対 URL を構成します。 この絶対 URL は、構成ファイル項目またはプロファイル項目から制御できます。

コンテナー内のモデルでエラー処理を使用する

各モデルは、独自のエラー・ページおよびエラー・データを宣言する必要があります。

エラー情報をログに記録することが適切な場合は、共通のロギング・サービスを使用します。 戻りコード、関係のある状態データ、入力パラメーターなど、 可能な限り多くの情報をエラー・メッセージのフリー・フォーム・テキストに保管する必要があります。

可能な限り、以下のガイドラインに従ってください。

  • モデル内でエラー処理機能を指すエラー・ハンドラーを設定します。 このセットアップは、コードによってキャッチされない例外をキャッチします。 他のユーザーによって使用されるモデルをビルドする場合は、 モデルにエラー・コードを書き込む必要があります。 これは、モデルをテストする場合にも役に立ちます。
  • サービスからヘルプに戻される共通のエラー・スキーマを設定します。

また、Model Container Builder では、エラーの発生時にロードするモデルを指定することができます。 このモデルは、エラー・メッセージ、場合によっては他のページへのリンクを表示できます。

ページおよびフォームの作成

アプリケーションのページとフォームは、データの表示や、 ユーザーとアプリケーション・ロジックおよびデータの間の相互作用を提供します。

IBM WebSphere Portlet Factory アプリケーションでは、これらのページは通常は静的なものではなく、ページのユーザー・インターフェース (UI) を 直接決定する各種 Builder やページの内容に間接的に影響を与えるその他の Builder によって作用します。

フォームとページは開発手順が異なるため、フォームとページはまったく別物です。 フォームの開発には、主に、データを表示したりデータを要求するプロンプトを出したりする UI をインプリメントするための 2 つのハイレベルの Builder (Data Page や Data Field Modifier など) を使用します。

コンテンツ・ページの開発には、さまざまな性質の HTML 機能をインプリメントする多数の低レベルの Builder (Page Builder など) を使用します。

既存のページおよびフォームのインポート

既存の HTML または JSP ページをモデルにインポートすることにより、Web アプリケーションのユーザー・インターフェースをインプリメントすることができます。

IBM WebSphere Portlet Factory Designer でこれを行うには、Imported Page Builder かまたは Imported Directory Builder を使用します。プロトタイピングの目的で、Page Builder を使用して、単純な HTML または JSP ページを作成できます。

モデルの他の部分と対話できるようにするページ部分、あるいはさまざまなタイプのユーザーのために可変にするページ部分について、 対応する Builder に対する呼び出しを、ページ内の名前付き <input /> タグまたは <span /> タグに割り当てます。 例えば、HTML 選択リストを、Select Builder の呼び出しに置き換えることができます。 これを行うことで、選択可能オプションを決定でき、またモデル内の他の場所に定義されたメソッド、変数、またはユーザー入力から、選択リストの他の特性を決定できます。

HTML ページと JSP ページをモデルにインポートする

以下のいずれかの方法を使用して、既存の HTML ページと JSP ページをモデルに取得します。

  • Imported Page Builder を使用して個々のページをインポートする方法
  • Imported Directory Builder を使用してディレクトリー内のすべてのページをインポートする方法

    Imported Directory Builder は、指定されたディレクトリー内の HTML ファイルと JSP ファイルのみをモデルに追加します。

注: Imported Directory Builder は、インポートされるディレクトリー内のページのリンク先のページや、インポートされるディレクトリーに含まれているディレクトリーはインポートしません。

また、JSP Proxy Page Builder を使用すると、既存の JSP アプリケーションと対話できます。 これにより、JSP ページの要求をモデル内のページにリダイレクトできます。

注: response.sendRedirect() を使用する JSP ページは、IBM WebSphere Portlet Factory のページ・プロセッサーを使用するように再インプリメントする必要があります。

データを表示する

WebSphere Portlet Factory アプリケーションでは、各種技法のいずれかを使用してデータを表示できます。これらの技法のいくつかは、目的のサーバー環境をターゲットにしたもので、さまざまな自動化を採用しています。

Data Page Builder および Data Field Modifier Builder を使用する
Data Page Builder は、ページの変数に格納されたデータを表示します。 Data Field Modifier Builder とそれに関連するデータのスキーマは、 「表示のみ」のフォームの外観と動作の設定に影響します。 Data Page Builder および Data Field Modifier Builder を使用する場合、 サービス呼び出し、SQL ステートメント、または表示するデータを変数に 取り込むその他の Builder 呼び出しを追加する必要があります。
個別の Builder を使用して、データの表示および外観をインプリメントする
データの表示を厳密に制御する場合、Repeated Region、Text、Dynamic Table などの個々の Builder を使用してデータを表示できます。ほとんどの場合、独自の表示フレームワークのインプリメントには、 Data Page Builder と Data Field Modifier Builder を使用した場合に比べ、 非常に多くの作業が必要になります。 ただし、少量の静的データを表示したり、フォーム・フィールドの外観と 動作を広範囲で微調整したりする場合には、 個々の Builder を使用した方が効率的な場合もあります。

通常は、Data Page Builder および Data Field Modifier Builder を 使用するようにしてください。 これらの Builder がデータの処理に適していないと思われるとき、 または必要な表示と動作をインプリメントするために多数の Data Field Modifier Builder 呼び出しを追加する必要があることが判明した場合は、 低レベルの Builder 呼び出しを使用してください。

データ・ページ・エレメントのレイアウトの変更

モデル・エディターにあるポップアップ・コマンドの 1 つを使用して 、Data Page Builder によって作成されたエレメントのレイアウトを変更できます。

モデル・エディターでは、Data Page Builder によって作成されたエレメント か、Data Page Builder を使用する Builder (View and Form など) によって作成された エレメントで、エクスポート機能が使用可能です。変更できるエレメントは、 ページ、テーブル、グループ、およびフィールドです。

注: この機能を使用すると、 一部のページ自動化エレメントに関連付けられた HTML の生成を、完全に 引き継ぐことができます。この機能を使用すると、HTML ページのレイアウトを 完全に制御することになり、ページの自動生成を事実上 使用不可にすることになります。表示を引き継いでいるため、そのページが依存しているサービス またはスキーマに変更があったときに、ページではその変更に合わせることができなくなりました。 したがって、この機能は、なんらかの一般的でないレイアウトがあり、表示を正確に制御する 必要がどうしてもある場合のみ使用してください。通常は、一般的でないレイアウトや厳密な要件がない場合は、 レイアウト・グリッドを使用するか HTML テンプレートを処理するかのいずれかによって、 ページ自動化によって生成される HTML の範囲内で作業する必要があります。
  1. モデル・エディターで、以下のいずれかのアクションを行います。
    • アプリケーション・ツリーで、「ページ」フォルダーの下の項目までナビゲートして、 カスタマイズするエレメントを含むページを見つけます。
    • 「ページ」パネルで、そのページのアイコンを公開します。
    • そのページの「設計」パネルで、カスタマイズするエレメントを見つけます。
  2. そのエレメントまたはページの項目を右クリックし、「データ・レイアウト用の HTML のエクスポート」をクリックします。
  3. 「別名保管」ダイアログ・ウィンドウの「親フォルダーの入力または選択 (Enter or select the parent folder)」の下で、エクスポートされる HTML ファイルを保管する場所を指定し、オプションで、「ファイル名」にあるエクスポートされる HTML ファイルのデフォルトの名前を変更します。次に「OK」をクリックします。
  4. ポップアップ・ダイアログ・ウィンドウで「OK」をクリックして エクスポートされたファイルを編集用に開きます。

    後でファイルを編集する場合は、「キャンセル」をクリックします。

    エクスポートされたファイルが、 編集用にエディター領域に開きます。HTML ファイルのタグの階層が「アウトライン」ビュー に表示されます。

  5. カスタマイズするエレメントの HTML コードを編集します。

    名前付きエレメントは削除しないでください。ただし、HTML タグを変更することはできます。

  6. ファイルを保管して閉じます。

エクスポートした HTML ファイルに指定したカスタマイズの内容を 提供するために、モデルに HTML Data Layout Builder が追加されます。この Builder は、 エクスポートされたファイルを使用して、データ・ページのこの部分の内容を表示 します。

カスタマイズを除去するには、この Builder を使用不可にするか 削除します。さらにカスタマイズする場合は、エクスポートされた HTML ファイル を編集します。

データ・フィールドの検証

Data Page Builder、または Data Page Builder を使用する Builder によって作成されたデータ入力ページでのユーザー入力の検証を管理することができます。

これらの技法は、Data View Builder、Bean Master Detail Builder、 Lotus Domino View and Form Builder、および SAP View And Form Builder を組み込むために、 Data View Builder を使用する Builder によって作成されたページにも適用されます。

データ入力ページは Data Page Builder によって管理されます。このページでは、ページ全体が「表示のみ」に設定されている場合でも、すべてのフィールドが「データ入力」に設定されます。 (ページ全体が「データ入力」に設定されていなかった場合に、Data Field Modifier Builder を使用してフィールドのいずれかをデータ入力に変更すると、このような状態になる場合があります。)

Data Page Builder は、エンド・ユーザーへのデータ入力ページの提示を管理し、ユーザーの応答を収集および検証することができます。この Builder は、設定に応じてページ用の JSP を生成します。 また SaveData メソッドを生成します。 このメソッドは、RequestInput (J2EE サーバーが値を設定) から値を収集し、その値を変数に格納します。 最後に、個々のフィールドの検証操作を作成し、検証エラー・メッセージを JSP ページに追加します。

フィールドの検証や、結果のエンド・ユーザーへの表示のプロセスで、以下について制御できます。

  • 必須フィールドを示すストリングの内容と配置。
  • エラー・ストリングの内容と配置。
  • フル・エラーの配置。 これは、個々のフィールドのエラー・メッセージをすべて連結したものに、追加のエラー・メッセージ全部を加えたものです。
  • 検証が成功した場合および失敗した場合に実行されるコード。
  • スキーマ、Bean、またはデータベース参照を基にして、フィールド・バリデーターを自動的に選択するかどうか。
  • 個々のフィールドを必須にするかどうかを設定し、スキーマからの動作をオーバーライドします。
  • 個々のフィールドに自動的に選択されるものとは異なるフィールド・バリデーターを選択します。
  • 独自のフィールド・バリデーターを Java で作成し、それらを選択します。
  • 何らかの値が正しくない場合にエラー・メッセージ・ストリングを提供して、検証を失敗させることができる保管後メソッドを追加します。 このストリングは、フル・エラーの位置でユーザーに表示されます。
  • 他のフィールドが既に検証に失敗した場合に、保管後メソッドを呼び出すかどうか。
  • ページのエラー・メッセージをクリアし、保管後メソッドに個々のフィールドのエラー・メッセージを追加するなど、 エラー・メッセージ・マネージャーを使用してその他の操作を実行します。

エラー・テキストの配置を制御してフル・エラー位置を追加する

最初にページを編集して、「フル・エラー」テキストを配置するスパンを追加します。 Imported Page Builder を開き、「ページの編集」ボタンをクリックします。 「data」という名前のスパンを見つけ、HTML のその行全体を複写してそれを 2 回表示するようにします。 それらのいずれかの中で、ワード「data」を「fullError」に変更し、Builder 呼び出しで「OK」をクリックします。

inputPage に対して Data Page Builder を開き、「必須フィールドおよび入力検証の設定値」までスクロールダウンします。 エラー配置をフィールドの左側の別の列に変更し、「フル・エラー配置」に fullError を選択します。 次に、モデルをもう一度実行し、2 つのフィールドにいくつかの非数値テキストを入力し、「サブミット」をクリックします。 エラー・メッセージの配置が移動したことに加えて、エラー・メッセージが「フル・エラー」位置に複写されていることに注意してください。 先に進む前に、エラー配置を元のフィールドの右側に変更します。この方が合理的です。

成功および失敗アクションを制御する

一般に、ユーザーが「データ入力」ページへの入力を完了してサブミットしたときに実行されるアクションがいくつかあります。 検証エラーがあったときは、別のアクションを実行したい場合もあります。 Data Page Builder には、成功アクションと失敗アクションの 2 つの入力があります。 これらの項目は、WebApp ビューで表示できるメソッド inputPage_NextAction の作成に使用されます。 このメソッドを見ると、行っているのは、ページに検証エラーがあるかどうかを確認するためのテストと、適切なアクションを呼び出すことだけであることがわかります。

サンプルで示されているように、失敗アクションを空のままにしておくと、デフォルトの失敗アクションが同じページに戻されます。

個々のフィールド・バリデーターの自動生成を制御する

個々のフィールド・バリデーターは、デフォルトでは、スキーマ、WSDL 文書、または他のメカニズムで定義されたフィールドのタイプに基づいて生成されます。 Data Page Builder で「スキーマから検証する」設定を使用して、この動作を使用不可にすることができ、 これによりバリデーターは自動的に作成されなくなります。 ただし、使用不可にした場合でも、引き続き Data Field Modifier を使用して個々のバリデーターを手動で設定することができます。

個々のフィールド・バリデーターを手動で選択する

新規の Data Field Modifier を作成し、inputPage 上のフィールドを 1 つだけ選択します。 「フォーマット設定」グループを開き、フォーマッター com.bowstreet.builders.webapp.pageautomation.StandardFormatter を選択します。 これにより、検証式を含むいくつかの追加の入力が表示されます。 ユーザー独自のバリデーターを選択します (ただし、呼び出しているサービス呼び出しは、このフィールドに数値を予想していることに注意してください)。RegularExpression(RegExString) を選択した場合は、正規表現ストリングを入力する新規入力が提供されることに注意して ください。 ここでは値のオーバーライドが有効になっているため、この設定はフィールドの「必須」/「オプション」値をオーバーライドします。 バリデーターを変更し、モデルを再実行して、新しい検証ストリングを確認してください。

保管後のメソッドを追加する

保管後のメソッドの動作を制御し、このメソッドを使用してフィールド間検証を実行することができます。データが RequestInput から変数に格納された後に、コードで実行する追加の作業がある場合があります。 「保管後のメソッド」入力は、このために Java コードを追加するのに使用するフックです。また、実行する作業がデータ入力の追加検証である場合、または場合によっては個々のフィールド検証よりもっと複雑な作業である場合、保管後のメソッドに、検証を失敗させ (失敗アクションの実行を強制)、ユーザーに表示するエラー・メッセージを組み込ませる方法もあります。

新規 Method Builder を作成し、それに TestLatitudes という名前を付けます。 戻りの型を String に設定し、メソッド本体に以下の内容を入力します。

    {
        double lat1 = webAppAccess.getVariables().getDouble("MyServiceCall_arg1_lat1");
        double lat2 = webAppAccess.getVariables().getDouble("MyServiceCall_arg3_lat2");
        if (lat1 == lat2)
        return "Make the latitudes different.";
        else
        return null;
    }

このコードにより、変数 (Data Page Builder が既に保管した) から 2 つの緯度入力の値を取得し、それらが同一であるかどうかを検査します。 (それらの変数の正確な名前は、WebApp ビューで調べ、それらを作成した Service Call Builder を選択する (開くのではない) と分かります。)

2 つの値が同一である場合、inputPage_SaveData メソッドがエラー・メッセージとして解釈する何らかのテキストが戻されます。 2 つの値が異なる場合はヌルが戻され、これにより SaveData メソッドは、保管後メソッドがエラーを何も検出しなかった ことを認識します。 モデルを実行し、2 つの値を同一に設定してみると、エラー・メッセージが表示されるのを確認できます。 このエラーは特定のフィールドに関連付けられていないため、メッセージは、「フル・エラー」セクションにのみ示されます。

何らかの作業を行うがエラーを戻さない保管後メソッドを作成する場合は、その戻りの型を Void に設定できます。 また、保管後のメソッドを、個々のフィールド検証がエラーなしで実行されたときにのみ呼び出す場合や、エラーの有無に関係なく呼び出す場合があります。 Data Page Builder で、「保管後のメソッドの動作」入力を使用して、この動作を 制御できます。

エラー・メッセージ・マネージャーと対話する

「データ入力」ページごとに、Data Page Builder は、エラー・メッセージ・マネージャーとして機能する Linked Java Object を作成します。 WebApp ビューで LJO inputPageError を選択すると、使用可能なメソッドが示されます。 これらのメソッドを使用して、「保管後」メソッドで個々のフィールド・エラー・メッセージを設定します。 個々のバリデーターでは複雑すぎる場合や、「保管後」メソッドを使用しようと計画していたため、「保管後」メソッドでこれを設定する開発者もいます。

また、Data Page Builder にエラー・メッセージの表示を管理させる代わりに自分で管理する場合は、個々のメッセージを直接取得することもできます。 また、新しいデータのあるページに戻るときに、ページが最後にエンド・ユーザーによってアクセスされたときから残っているメッセージをクリアする場合は、 そのメッセージをクリアすることもできます。

フィールド検証設定値を変更する

データ入力フィールドの検証に使用する設定値のいくつかを変更できます。

IBM WebSphere Portlet Factory のモデル・エディターの「ページ」パネルと「設計」パネルを使用して、 変更するフォームまたはページを表示します。フィールド検証設定値 (エラー・ストリングなど) を変更するには、 Data Field Settings Builder を使用します。

  1. 「ページ」パネルで、変更するデータ入力フィールドを含むフォームまたはページを見つけて選択します。
  2. 「設計」パネルで、データ入力フィールドを含むグループを見つけて選択します。
  3. 選択項目を右クリックし、「データ・フィールドの設定」 > 「検証」をクリックします。

    コマンドが表示されるのは、コンテナーが選択されている場合に限られます。 「検証」コマンドが使用可能になるのは、関連するフィールドがデータ入力フィールドの場合に限られます。

  4. 「データ・フィールドの設定」ダイアログの「ページ有効範囲」で、 以下のいずれかの選択項目をクリックし、変更の有効範囲を決定します。
    • 「すべてのページ」は、モデル内のすべてのページのフィールドを変更します。
    • 「現行ページ」は、選択したページのみのフィールドを変更します。
  5. フィールドの設定値を必要に応じて変更します。
    必須
    フォームまたはデータ・ページをサブミットするにはエンド・ユーザーがフィールドに値を入力しなければならないどうかを決定します。
    検証オプション
    エンド・ユーザーがフィールドに入力した値の検証に使用される操作を決定します。
    引数
    検証操作に対する引数を指定します。操作が引数を受け付けない場合、この値は無視されます。
    エラー・メッセージ
    検証操作が失敗した場合に使用されるデフォルト・メッセージをオーバーライドするテキストを指定します。この行のほかの設定でデフォルト値を使用する場合でも、この入力を設定できます。
  6. 「OK」をクリックします。

    Data Field Settings Builder が現在、このフォームまたはページのモデル内にない場合は、 新しい設定値を使用して Builder 呼び出しがモデルに追加されます。 現在、モデルにフォームまたはページの Data Field Settings Builder がある場合は、 現在の Builder に新しい設定値が追加されます。

  7. ページの設定値を必要に応じて変更します。これを行うには、Data Field Settings Builder の Builder 呼び出しエディターを開き、関連する Builder 入力値を変更します。

フィールド表示設定値を変更する

モデル・エディターで右クリック・メニューを使用して、列またはフィールドの表示に使用する設定値のいくつかを変更できます。

IBM WebSphere Portlet Factory のモデル・エディターの「ページ」パネルと「設計」パネルを使用して、 変更するフォームまたはページを表示します。フィールド表示設定値 (ラベルなど) を変更するには、 Data Field Settings Builder を使用します。

  1. 「ページ」パネルで、変更する列またはフィールドを含むフォームまたはページを見つけて選択します。
  2. 「設計」パネルで、列またはフィールドを含むグループを見つけて選択します。
  3. 選択項目を右クリックし、「「データ・フィールドの設定」 > 「フィールド」」をクリックします。

    コマンドが表示されるのは、コンテナーが選択されている場合に限られます。

  4. 「データ・フィールドの設定」ダイアログの「ページ有効範囲」で、 以下のいずれかの選択項目をクリックし、変更の有効範囲を決定します。
    • 「すべてのページ」は、モデル内のすべてのページのフィールドを変更します。
    • 「現行ページ」は、選択したページのみのフィールドを変更します。
  5. フィールドの設定値を必要に応じて変更します。
    ラベル
    次のいずれかを行います。
    • このフィールドに使用されるラベルを入力します。
    • このフィールドに既に含まれている値を保持する場合は、[変更しない] に設定します。
    • このフィールドがラベルを持たないようにする場合は、[ブランク] に設定します。
    非表示
    フィールドを常に非表示にするか (常に非表示)、常に表示するか (常に表示)、または表内にある場合のみ非表示にするか (表内でのみ非表示) を制御します。
    Sort
    列またはフィールドのソートを有効にするか (オン)、無効にするか (オフ) を制御します。

    使用されるソートのタイプは、使用中の RDD ファイルによって決まります。

    フィールド・タイプ
    リストから新しい値を選択します。この設定の値は、プロジェクトに使用されたデフォルト RDD ファイルに指定されているファイルから取得されます。
    ルックアップ・テーブル / 選択項目
    リストから新しい値を選択します。デフォルト値は、モデル内およびデフォルト RDD ファイル内のルックアップ・テーブルから取得されます。複数の値をセミコロン (;) で区切って入力することもできます。フィールドがデータ入力の場合、これらの値は選択やラジオ・ボタンにも適用されます。フィールドが「表示のみ」に設定されている場合は、ルックアップ・テーブルを使用してフィールドが変換されます。
  6. 「OK」をクリックします。

    Data Field Settings Builder が現在、このフォームまたはページのモデル内にない場合は、 新しい設定値を使用して Builder 呼び出しがモデルに追加されます。 現在、モデルにフォームまたはページの Data Field Settings Builder がある場合は、 現在の Builder に新しい設定値が追加されます。

  7. オプション: ページの設定値を必要に応じて変更します。これを行うには、Data Field Settings Builder の Builder 呼び出しエディターを開き、関連する Builder 入力値を変更します。

リッチ・データ定義ファイルについて

データ定義は、Rich Data Definition (RDD) ファイルという XML ファイルから読み取られます。

Rich Data Definition は、例えば表示する必要のない列を非表示にすることによって、ポートレットまたは ウィジェットをクリーンアップする場合に使用します。Rich Data Definition は、モデル内のスキーマに関連付けられています。 選択したスキーマの各フィールドについて、ラベル、コントロール・タイプ、ルックアップ・テーブル、 フォーマット設定、検証などを指定できます。

データ定義ファイルは、ユーザー・インターフェース (UI) の記述をスキーマに関連付けることによって機能します。スキーマを使用してページ・エレメントを生成する場合 (Data Page Builder または View and Form Builder などを使用)、すべての UI 特性がページに自動的に適用されます。 Data Field Modifier Builder の機能を使用することによって、特定の設定 (検証やフォーマット設定など) について知ることができます。

基本リッチ・データ定義ファイルが、プロジェクト用に提供されています。デフォルトで、各プロジェクトには、以下の場所に格納される RDD ファイルが割り当てられています。
/WEB-INF/factory/data_definitions/
RDD ファイル base_datadef.xml および dojo_base_datadef.xml が提供されています。override.properties ファイルで以下のプロパティーを定義することによって、 プロジェクトのデフォルトの設定をオーバーライドできます。
bowstreet.baseRddFile
このプロパティーのデフォルト設定は bowstreet.properties ファイルにあります。 複数のファイルを定義できますが、最初に検出されたファイルが使用されます。

Data Field Settings Builder で「デフォルト RDD ファイル」入力を使用して、モデル内のプロジェクトの基本 RDD ファイルをオーバーライドできます。

Builder を使用して、ページ自動化フォームおよびページ上の列およびフィールド用の WebApp 内にあるスキーマに関連付けられているデータ定義情報を変更できます。 データ定義は、Data Page Builder の内部データ構造の 1 つです。 データ・ページをスキーマ・タイプの変数で使用すると、WebApp 内のスキーマに属しているすべてのデータ定義情報が検索されます。これらのデータ定義プロパティーは、スキーマに基づくすべてのページのデフォルトになります。ただし、Data Field Settings、Data Column Modifier、および Data Field Modifier などの他の Builder を使用して、スキーマに関連付けられたデータ定義に指定されたプロパティーをオーバーライドすることができます。

スキーマのエレメントへのデータ定義の関連付けは、エレメント名を使用して行われます。データ定義ファイルには通常、構造内の各フィールドの子データ定義とともに、構造セットが保管されます。スキーマの親 (構造) 名は、データ定義ファイル内の親名に一致しなければならず、個々のフィールドも名前によって突き合わせられます。

データ定義の目的
Rich Data Definition (RDD) ファイルは、アプリケーション・データ・フィールドの詳細なユーザー・インターフェースを、最も自動化された方法で制御できるようにします。RDD ファイルを使用することによって、ユーザー・インターフェース (UI) は、以下の方法で自動的に制御されます。
  • フィールドをフォーマット設定または検証します。例えば、日付のフォーマット設定や検証、ストリングからの文字の削除、またはラベルの適用などを行うことができます。
  • フィールドに使いやすいラベルを指定します。
  • ルックアップ・テーブルを指定して、分かりやすい選択項目リストを作成します。
  • フィールドの UI の動作を変更します。例えば、データ入力制御の適用、表示専用にするための制限、またはフィールドへのリンク作成などを行います。
  • 特定のフィールド・タイプのフィールド動作をすべて自動制御します。例えば、すべての日付フィールドで Calendar Picker Builder を使用します。
  • 列内でフォーマット設定されたデータを制御します。例えば、列名を読みやすくする、表示する必要のない列を非表示にする、ソート機能を追加する、列幅を調整する、および列の位置合わせを行う、などです。
データ定義プロパティー

リッチ・データ定義ファイルでは、さまざまなデータ定義プロパティーが使用されます。

フィールド設定 (およびデータ入力フィールドの検証設定値) の共通プロパティーの中には、IBM WebSphere Portlet Factory Designer の Data Field Settings Builder および「プロパティー」ビューで公開されるものもあります。しかし、それ以外のプロパティーは、Builder 呼び出しエディターには公開されません。 これらのプロパティーを使用するには、これらをプロジェクトの基本データ定義ファイル base_datadef.xml に直接追加する必要があります。

<Attributes>
このプロパティーは、Data Field Modifier Builder が受け取る値と同じ XML 値を使用します。 次に、標準的な属性プロパティーを示します。
<Attributes>
 <Attribute>
  <Name>color</Name>
  <Value>black</Value>
 </Attribute>
 <Attribute>
  <Name>size</Name>
  <Value>${Variables/CurSize}</Value>
 </Attribute>
</Attributes>
<ColumnAlignment>
このプロパティーは、以下のいずれかの値をとります。
  • left
  • right
  • center
<ColumnSorting>
このプロパティーは、以下のいずれかの値をとります。
  • 大/小文字を区別しないストリング
  • Case Sensitive String
  • Number
  • Date
  • ソート不可

上記プロパティーのいくつかを使用して列幅、位置合わせ、ソート状況、およびスタイルを設定する標準的なデータ定義エレメントは、次のとおりです。

<DataDefinitionElement name="DATE_SHIPPED" base="base_SAPDate">
 <Label>Date Shipped</Label>
 <Required>false</Required>
 <ColumnWidth>400</ColumnWidth>
 <ColumnAlignment>right</ColumnAlignment>
 <ColumnSorting>Case Sensitive String</ColumnSorting>
 <Attributes>
  <Attribute>
   <Name>style</Name>
   <Value>color:red</Value>
  </Attribute>
 </Attributes>
</DataDefinitionElement>
<ColumnWidth>

このプロパティーは、列の幅を文字数で表す数字をとります。

<ControlElementModifiers>
このプロパティーでは、Attribute Setter、Visibility Setter などの変更 Builder を 1 つのエレメントに関連付けできます。DataEntryControl プロパティーおよび DisplayControl プロパティー同様、「ページの場所」入力を使用するいずれの Builder の起動にも使用できます。単一のエレメントに対して複数の Builder を含めることができます。usemodifierdisplay 属性を使用する表示フィールドや use_modifier_dataentry 属性を使用するデータ入力フィールドに Builder を使用するかどうかも制御できます。以下は、表示モードとデータ入力モードの両方で Attribute Setter Builder を起動する例です。
<ControlElementModifiers>
 <BuilderCall use_modifier_dataentry="true" use_modifier_display="true">
  <BuilderDefID>com.bowstreet.builders.webapp.AttributeSetterBuilderBuilderDefID>com.bowstreet.builders.webapp.AttributeSetterBuilder></BuilderDefID>
  <Inputs>
   <Input name = "BuilderCallEnabled">true</Input>
   <Input name = "HandleExisting">Skip</Input>
   <Input name = "HandleMissingValue">Ignore</Input>
   <Input name = "Separator">;</Input>
   <Input name = "Attributes">
    <top>
     <Attribute>
      <Name>style</Name>
      <Value>color:red</Value>
     </Attribute>
    </top>
   </Input>
  </Inputs>
 </BuilderCall>
</ControlElementModifiers>
<DataEntryControl>
このプロパティーは、フィールドがデータ入力ページにある場合、Builder ID とフィールドを関連付けます (表示のみのページについては、「表示コントロール」を参照してください)。Builder ID と必要な全 Builder 入力の両方を指定できます。Builder 入力用の XML を作成するには、モデルに必要な Builder を使用してモデル XML ビューに移動し、XML の「入力 (Inputs)」セクションからコピー・アンド・ペーストすることができます。
注: Builder を使用するには、Builder が間接参照の「値」入力をサポートする必要があります。
次に例を示します。
 <DataEntryControl>com.bowstreet.builders.webapp.TextAreaBuilder</DataEntryControl>
 <DataEntryInputs>
  <Inputs>
   <Input name = "Wrap">off</Input>
   <Input name = "Cols">80</Input>
   <Input name = "Rows">5</Input>
  </Inputs>
 </DataEntryInputs>
<DisplayControl>

このプロパティーは、データ入力コントロールに似ていますが、表示のみのページを対象としています。 Builder 入力での、これに対応するエレメント名は、<DisplayInputs> です。

<DisplayMode>
許容値は以下のとおりです。
  • 0 - DISPLAY_NONE
  • 1 - DISPLAY_AUTO

コンテナー・フィールドの追加の値は以下のとおりです。

  • 2 - DISPLAY_VERTICAL
  • 3 - DISPLAY_HORIZONTAL
<EnumerationValues>

このプロパティーを使用すると、可能な値セットを持つフィールドに選択項目を設定することができます。このプロパティーは、ルックアップ・テーブルのように独立したテキストや値を提供しません。

列挙型値のローカリゼーションについては、以下の注を 参照してください。

次に、このプロパティーの標準的な使用例を示します。

<EnumerationValues>
 <Value>Shipped</Value>
 <Value>Out of Stock</Value>
 <Value>Returned</Value>
 <Value>In Process</Value>
</EnumerationValues>
<FormatterClass>

このプロパティーを使用すると、リッチ・データ定義ファイルにカスタム・フォーマッター・クラスを指定することができます。 フォーマッター・クラスは、Data Field Modifier Builder と同じ仕組みとインターフェースを使用します。

フォーマッター・クラスの名前は、以下に示すように「FormatterClass」エレメントを使用して指定されます。

<DataDefinition name="AMOUNT" base="base_Currency"> 
 <Label>Amount</Label> 
 <ColumnSorting>Case Sensitive String</ColumnSorting> 
 <ColumnWidth>100</ColumnWidth> 
 <ColumnAlignment>right</ColumnAlignment> 
 <FormatterClass>com.bowstreet.builders.webapp.pageautomation.StandardFormatter</FormatterClass> 
 <FormatExpr resource_key="BaseDate_FormatExpr">Format(yyyy-MM-dd$MM/dd/yyyy)</FormatExpr>
 <TranslateExpr resource_key="BaseDate_TranslateExpr">Translate(yyyy-MM-dd$MM/dd/yyyy)</TranslateExpr>
 <ValidateExpr>Date(yyyy-MM-dd)</ValidateExpr>
 </DataDefinition>

StandardFormatter の代わりにクラスを指定します。 FormatterClass エレメントを省略すると、StandardFormatter クラスが使用されます。

データ定義に該当する FormatExpr、TranslateExpr、および ValidateExpr エレメントを置き換えます。

<InitialValue>

これは、フィールドのデフォルト初期値を定義するために使用できます。これは、Data Field Modifier Builder の「初期値」入力の設定に相当します。

<LookupTable>

このプロパティーを使用すると、ルックアップ・テーブルを作成してフィールドに関連付けることができます。 新しいルックアップ・テーブルを作成するには、Builder の ID を指定する必要があります。また、この Builder は、WebApp にルックアップ・テーブルを作成する Builder (Lookup Table、Lotus Domino Keyword Lookup、または SAP Help Values) である必要があります。 以下のように、Inputs エレメントにすべての必須 Builder 入力を指定します。

次のコード例では、Lookup Table Builder を使用して XML データからルックアップを作成します。 この機能は、SAP Help Values のルックアップを自動的に作成して適用するためにも使用されています。

<DataDefinitionElement name="BILLING">
 <Label>Billing</Label>
  <LookupTable>
   <BuilderID>com.bowstreet.builders.webapp.LookupTableBuilder</BuilderID>
    <Name>billing</Name>
     <Inputs>
      <Input name = "DataType">NewXmlData</Input>
      <Input name = "GetDataFrom">BuilderInput</Input>
      <Input name = "TablePosition">InFront</Input>
      <Input name = "Name">billing</Input>
      <Input name = "NewXmlData">
       <lookup>
        <entry>
         <name>Purchase Order</name>
         <value>1</value>
        </entry>
        <entry>
         <name>Credit Card</name>
         <value>0</value>
        </entry>
       </lookup>
      </Input>
      <Input name = "ValueElementName">value</Input>
      <Input name = "LabelElementName">name</Input>
     </Inputs>
  </LookupTable>
</DataDefinitionElement>
<Properties>
このプロパティーを使用すると、DataDefinitionElement に任意の指定プロパティーを設定することができます。 このタグは主に、独自の Builder を作成するユーザーが、データ定義に新しいプロパティーを追加して Builder コードからこれらのプロパティーにアクセスするときのために設計されています。 Properties エレメントは次のようになります。
<DataDefinition name="AMOUNT">
 <Label>Amount</Label>
  <Properties>
   <Property name="ColumnWidth">100</Property>
   <Property name="ColumnAlignment">right</Property>
  </Properties>
</DataDefinition>
この例で、name= 属性はプロパティー名を指定し、エレメント・テキストはプロパティー値を含みます。
注: この例で説明する技法は、ColumnWidth および ColumnAlignment の各プロパティー・タグを直接使用した場合と同じ効果を持ちます。
<ReadOnly>
このプロパティーを使用すると、「データ入力」とマークされたデータ・ページを使用してフィールドが表示される場合であっても、強制的にそのフィールドが読み取り専用として扱われるようにします。
注: この効果は、Data Field Modifier Builder の「フィールドの動作」「表示のみ」を設定した場合と同じです。
<Remove>

このプロパティーでは、フィールドを除去するには値 true を指定します。 フィールドは表示されなくなり、Data Column Modifier や Data Field Modifier などの他の Builder にも表示されません。

ルックアップ・テーブルを作成する

それ自体ではルックアップを作成しない Builder からの値を使用するルックアップを定義する場合は、呼び出す追加の Builder を指定することができます。

以下の例は、Service Consumer Builder を使用しています。この場合は、Service Consumer からルックアップ・テーブルを作成することを想定しています。 これは、ServiceInfo 子エレメントを LookupTable エレメントに追加して、ルックアップ・データの取得をサポートする追加 Builder を指定した場合に可能です。これにより、データ定義に指定された Lookup Table Builder は、その別の builder によって戻されるデータを参照することができます。

この結果、データ定義ファイルは、任意の数のフィールド (データ定義を参照するすべてのモデル内のフィールド) に、ドロップダウン・ルックアップから自動的にデータを取り込むことができます。この場合、値はサービスを呼び出すことによって動的に取得されます。 例えば、以下の XML を使用すると、Service Consumer Builder を呼び出して動的にルックアップ値を取得してから、Lookup Table Builder で結果値を参照することができます。

<LookupTable>
<Name>companyLookup</Name>
<BuilderID>com.bowstreet.builders.webapp.LookupTableBuilder</BuilderID>
<Inputs>
<Input name = "DataType">XmlData</Input>
<Input name = "VariableType">ValueTagLabelTag</Input>
<Input name = "GetDataFrom">BuilderInput</Input>
<Input name = "TablePosition">InFront</Input>
<Input name = "Name">companyLookup</Input>
<Input name = "XmlData">${MethodCall/companiesGetCompanyList}</Input>
<Input name = "ValueElementName">Value</Input>
<Input name = "LabelElementName">Name</Input>
</Inputs>
<ServiceInfo>
<BuilderID>com.bowstreet.builders.webapp.ServiceConsumer2Builder</BuilderID>
<Inputs>
<Input name = "UseAllOperations">true</Input>
<Input name = "OverrideInputs">false</Input>
<Input name = "Name">companies</Input>
<Input name = "ProviderModel">services/CompanyListService</Input>
<Input name = "OperationName">getCompanyList</Input>
</Inputs>
</ServiceInfo>
</LookupTable>
データ定義フィールドのグループ

リッチ・データ定義ファイルでは、フィールドのグループを作成することができます。

このためには、グループ定義をルート DataDefinitions エレメントのすぐ下に作成する必要があります。 以下のコードは、 標準的なグループ定義を示しています。
<DataDefinitions>
 <GroupDefinitions>
  <GroupDefinition name="Personal">
   <Label>Personal Information</Label>
  </GroupDefinition>
  <GroupDefinition name="Address">
   <Label>Address</Label>
  </GroupDefinition>
 </GroupDefinitions>
 <DataDefinition name="Members">
  <Required>true</Required>
  <Children>
   <DataDefinition name="first">
    <GroupName>Personal</GroupName>
    <Label>First Name</Label>
    <Required>true</Required>
    <DataType>string</DataType>
   </DataDefinition>
   <DataDefinition name="last">
    <GroupName>Personal</GroupName>
    <Label>Last Name</Label>
    <Required>true</Required>
    <DataType>string</DataType>
   </DataDefinition>
   <DataDefinition name="states" base="base_US_States">
    <GroupName>Address</GroupName>
    <Label>States</Label>
    <Required>false</Required>
    </DataDefinition>
   <DataDefinition name="birthdate" base="base_date">
    <GroupName>Personal</GroupName>
    <Label>Date Of Birth (MM/DD/YY)</Label>
    <Required>false</Required>
   </DataDefinition>
   <DataDefinition name="birthtime" base="base_time">
    <GroupName>Personal</GroupName>
    <Label>Time Of Birth (HH:MM AM/PM)</Label>
    <Required>false</Required>
   </DataDefinition>
   <DataDefinition name="salary">
    <GroupName>Business</GroupName>
    <Label>Salary</Label>
    <Required>false</Required>
   </DataDefinition>
  </Children>
 </DataDefinition>
</DataDefinitions>

<GroupDefinitions> エレメントは、対応する <GroupDefinition> エレメントのもとに、個々のフィールド・グループをセットアップします。

基本定義ファイルからデータ定義を継承する

リッチ・データ定義ファイルでは、他のデータ定義からプロパティーを継承するために、基本属性を使用できます。

継承されたデータ定義は、同じ XML ファイルに格納することも、別のリッチ・データ定義ファイルに格納することもできます。 データ定義プロパティーは個々のプロパティー・レベルで継承され、どのプロパティーも派生されたデータ定義内でオーバーライドすることができます。

次に、標準的なデータ・フィールド (QUANTITY と DATE_ORDERED) 用の定義の例を 2 つ示します。

<DataDefinitionElement name="QUANTITY">
 <Label>Quantity</Label>
 <Required>false</Required>
 <ValidateExpr>Optional integer</ValidateExpr>
</DataDefinitionElement>
<DataDefinitionElement name="DATE_ORDERED" base="base_SAPDate">
 <Label>Date Ordered</Label>
 </DataDefinitionElement>

DATE_ORDERED の定義は、基本属性の値から導き出されます。DATE_ORDERED に使用される base_SAPDate 定義は、次のコードのようになります。

<DataDefinitionElement name="base_SAPDate">
 <DataEntryControl>com.bowstreet.solutions.wfm.builders.CalendarPickerBuilder</DataEntryControl>
 <DataEntryInputs>
  <Inputs>
   <Input name = "Format">MM/dd/yyyy</Input>
  </Inputs>
 </DataEntryInputs>
 <FormatExpr>Format(yyyy-MM-dd$MM/dd/yyyy)</FormatExpr>
 <TranslateExpr>Translate(yyyy-MM-dd$MM/dd/yyyy)</TranslateExpr>
 <ValidateExpr>Optional Date(yyyy-MM-dd)</ValidateExpr>
</DataDefinitionElement>

列またはフィールドの非表示および表示

現在フォームまたはページに表示されている列またはフィールドを非表示にすることができます。

列またはフィールドが現在表示されていない場合は、 列またはフィールドがフォームまたはページに表示されるように調整することもできます。IBM WebSphere Portlet Factory のモデル・エディターの「ページ」パネルと「設計」パネルを使用して、 変更するフォームまたはページを表示します。

  1. 「ページ」パネルで、変更する列またはフィールドを含むフォームまたはページを見つけて選択します。
  2. 「設計」パネルで、変更する列またはフィールドを含むグループを見つけて選択します。

    同じタイプのオブジェクトを複数選択するには、Ctrl を押しながら、対象オブジェクトが含まれる各グループをクリックします。

  3. 選択項目を右クリックし、列またはフィールドを非表示にする場合は「データ・フィールドの設定」 > 「非表示」をクリックし、列またはフィールドを表示する場合は「データ・フィールドの設定」 > 「表示」をクリックします。

    コマンドが表示されるのは、コンテナーが選択されている場合に限られます。 使用可能なコマンドは、選択したオブジェクトの現在の設定に応じて異なります。

このフォームまたはページの関連 Builder がモデルに含まれていない場合は、推奨される Builder がモデルに追加されます。関連 Builder がこのフォームまたはページのモデルに存在する場合は、その Builder 内の関連した入力が、変更を反映して更新されます。

列のソートの変更

列のソートを可能にするかどうかを変更できます。

IBM WebSphere Portlet Factory のモデル・エディターの「ページ」パネルと「設計」パネルを使用して、 変更するフォームまたはページを表示します。

  1. 「ページ」パネルで、変更する列を含むフォームまたはページを見つけて選択します。
  2. 「設計」パネルで、列を含むグループを見つけて選択します。

    同じタイプのオブジェクトを複数選択するには、Ctrl を押しながら、対象オブジェクトが含まれる各グループをクリックします。

  3. 選択項目を右クリックし、列をソート可能にする場合は「データ・フィールドの設定」 > 「ソート」をクリックし、列のソートを解除する場合は「データ・フィールドの設定」 > 「ソートの解除」をクリックします。

    コマンドが表示されるのは、コンテナーが選択されている場合に限られます。 使用可能なコマンドは、選択したオブジェクトの現在の設定に応じて異なります。

このフォームまたはページの関連 Builder がモデルに含まれていない場合は、推奨される Builder がモデルに追加されます。関連 Builder がこのフォームまたはページのモデルに存在する場合は、その Builder 内の関連した入力が、変更を反映して更新されます。

列またはフィールドのマージ

複数のフィールドをマージして 1 つのフィールドとして表示したり、 複数の列をマージして 1 つの列として表示したりできます。

データを複数のフィールドに入力しなければならない状況が発生することはよくあります。しかし、このデータを表示するときに、これらの複数のフィールドを 1 つの列として表示したい場合があります。例えば、個人の住所は、郵便番号、都道府県、市区町村の別個のフィールドで構成されています。Data Field Merge Builder を使用すると、別個のフィールドを詳細ページ上の単一のフィールドとして扱ったり、単一の表示列として扱ったりすることができます。

IBM WebSphere Portlet Factory のモデル・エディターの「ページ」パネルと「設計」パネルを使用して、 変更するフォームまたはページを表示します。

  1. 「ページ」パネルで、変更する列またはフォームを含むフォームまたはページを見つけて選択します。
  2. マージした結果を含める列またはフィールドを選択します。
  3. Ctrl を押しながら、この列またはフィールドにマージする順序でマージ対象の列またはフィールドをクリックします。

    これらの複数のフィールドはすべて同じコンテナー・フィールド内に存在している必要があります。

  4. 選択項目を右クリックし、「フィールドのマージ」 > 「マージ」をクリックします。

    このコンテキストでは、Shift を押しながらのクリックはサポートされません。

  5. 以下のステップのいずれかを実行して、「OK」をクリックします。
    • マージした列の上部に表示するテキストを「列の見出し」に入力します。
    • マージした新しいフィールドを表すために使用するテキストを「フィールドのラベル」に入力します。

この設定を使用して Da