第9章

リソース

リソースとは、コンポーネントがタスクを実行するために必要となる可能性のある、再使用可能なxObjectです。 たとえば、ほとんどのXML統合アプリケーションは何らかの「バックエンド」システムと通信し、このためには、通常、IPアドレスまたはJNDIアドレス、ポートの仕様、ドライバの場所、ユーザIDおよびパスワードなどに関わる「接続」を確立することが必要となります。この種の情報は、再使用可能なオブジェクトに保存でき、ランタイム時にコンポーネントによってアクセスされます。これは、リソースxObjectによって実現されます。

ここでいう「リソース」とは、狭義のリソース(JPEGイメージ、JSP、XSLスタイルシートなど)と、これに関するXMLメタデータを併せた概念です。Composer Enterprise Serverその他のランタイムプロセスは、XMLメタデータを参照してリソースの特性を認識します。 展開の際は、プロジェクトのリソース全体を展開アーカイブ(通常はEAR内のJAR)にパッケージ化し、アプリケーションのクラスパス上に置いて参照できるようにします。

Composerで使用可能なコアリソースのタイプは、次のとおりです (アスタリスクの付いたものは、Professional Editionに入っているComposerでは使えません)。

これらのコアタイプに加え、各種のComposer接続製品では、コネクタに固有となる、追加のリソースタイプを使用しています。 たとえば、EDI接続を使用すると、EDIドキュメントメタデータおよびEDI交換メタデータのリソースを指定できます。

注記:   コネクタに固有のリソースタイプを作成する方法については、コネクタのドキュメントで説明しています。次の節では、Composerコアリソースのタイプのみについて説明します。

リソースタイプには、それぞれ独自のアイコンがあり、Composerのメインナビゲーションフレームのカテゴリペインに表示されています。リソースのカテゴリおよび関連アイコンは、次のとおりです。

9ResourceTypesByIcon

 
Top of page

リソースの操作

あるタイプでカスタム作成されたリソースは、カテゴリペインで特定のリソースカテゴリ(コードテーブル、接続など)を選択(ハイライト)するとインスタンスペインに表示されます。各リソースインスタンスは、現在のプロジェクトでさまざまなコンポーネントまたはサービス、あるいはその両方で再使用でき、他のプロジェクトにもインポートできます。

コンポーネントの作成時には、コンポーネントのウィザードにより、コンポーネントで使用するリソースの名前を入力するよう求めるプロンプトが表示されます。つまり、「最初に」そのリソースを作成して、コンポーネントでそのリソースが使用できるようにする必要があります。

すべてのリソースは、同じ基本的な手順を使用して作成されます(次を参照)。

Procedure プロジェクトに新しいリソースを追加する

  1. [ファイル]メニューから、[新規作成]>[xObject]の順に選択します。 [リソース]タブから、リソースのタイプを選択します。次の図を参照してください。

    9ResourceMenus

  2. ウィザードが開き、カスタムリソースの名前、および作成しているリソースのタイプに関する他の情報を求めるプロンプトが表示されます。ウィザードが要求した情報を入力します。

  3. ウィザードの最後の画面で、[OK]をクリックします。該当するリソースカテゴリに新しいリソースが追加され、インスタンスペインにリソースの名前が表示されます。

 
Top of page

リソースの多言語対応機能

Composerには、ファイル名を手掛かりとして、実行時に適切な言語のXMLリソースを選択する機構が組み込まれています。 これは次のように動作します。 XMLリソースとして、MyInvoice_en.xmlおよびMyInvoice_jp.xmlの2種類を用意したとしましょう。 「_en」が付いたファイルはラテン文字、「_jp」が付いたファイルは日本語文字で記述してあるとします (言語指定子はISO-639の2文字コードです)。 実行にあたり、リソースのロードアクションは、設計時に指定された言語設定に従い、適切な言語のXMLリソースを選択します。

この機能を活用するためには、次の規則に従わなければなりません。

Composerリソースアクションなどの設定ダイアローグには、リソースを選択するドロップダウンリストがありますが、そこに[言語]ボタンも付いています。 これを押すと次のようなダイアログが現れます。

15ejBLanguage

いずれかのラジオボタンを選択します。

この選択に応じ、ドロップダウンリストに列挙されるリソースの選択肢がダイナミックに変わります。 [なし]を選択すると、(言語にかかわらず)すべてのリソースが列挙されます。 [環境]または[セッション]を選択した場合、該当するタイプのリソースのファイル名から、言語およびロケールの部分を取り除いたものが列挙されます。. すなわち、実行環境に合わせて選択されることを前提として、言語に関する部分を除去したリソース名が表示されるのです。

 
Top of page

証明書リソースについて

証明書リソースは、デジタル署名情報を保持するために使います。 保存できるデータとしては、x509証明書、これに対応するプライベートキー、およびプライベートキーパスワードがあります。

証明書リソースは次のような場合に使います。

注記:   証明書リソースはComposerリソースでもあるので、プロジェクト内のコンポーネントやサービスで共有できます。

Procedure 証明書リソースを作成する

  1. Composerのナビゲータペインで、([リソース]カテゴリの)[証明書]を右クリックし、コンテキストメニューから[新規]を選択します。ダイアログボックスが表示されます。

    9cert1

  2. リソースの[名前]を入力します。

    注記:   リソース名の指定は必須です。ただし次の文字は使えません。 / : ? " < > . | 大文字と小文字の区別はありません(したがって、「MyObjectName」と「myobjectname」は同じ名前とみなします)。

  3. [次へ]をクリックします。新しいダイアログボックスが表示されます。

    9cert2

  4. [参照]ボタンを押し、ローカルドライブ内またはネットワーク上にある、適切な[クライアント証明書](x509)を指定します。

  5. [参照]ボタンを押し、ローカルドライブ内またはネットワーク上から、対応する[プライベートキー]ファイルを指定します。 このキーは、外向きに送信するダイジェストおよびペイロードの暗号化に使います。 Composerプロジェクトが動作しているプロセス以外に送信または公開することはありません。

  6. (必要に応じて)[プライベートキーパスワード]を入力します。ローカルキーストアからプライベートキーを検索する場合に必要です。

  7. [完了]をクリックします。 ナビゲータ詳細ペインにリソースが追加されます。

 
Top of page

コード テーブルについて

Composerアプリケーションを作成する際には、受け取ったデータを繰り返し変換するための要件に直面することが多々あります。この変換タイプの代表的な例には、分類目的で、州コード(例: アラバマ、イリノイ)を地域に変更したり、これらがシステム間で移動するごとにコードを説明することが含まれます。Composerでは、このタイプの変換を実行できるようにする機能が提供されています。 たとえば、書店では「コード1」で小説のカテゴリを表したり、デパートでは「コードM」を使用して、男性用衣類を表す場合があります。

他の説明は含まずに、出力XMLに「コード1」または「コードM」のみが含まれるようなアプリケーションを設計する場合、あいまいで紛らわしい結果になる可能性があります。このような場合に、コードテーブルが役立ちます。コードテーブルには、一般的に使用されるビジネスコードテーブルが保存され、コードテーブルマップと同時に動作し、出力を受け取る担当者やビジネスプロセスにとってより意味のある出力XMLドキュメントが生成されます。書店の場合、「コード1」を含む入力XMLは、コードテーブルを使用してマップされ、カテゴリが「小説」である出力XMLが生成される場合があります。

 
Top of section

コードテーブルエディタについて

コードテーブルエディタには、メニューオプションとツールバーの両方があります。メニューオプションに加え、コードテーブルエディタには、次のボタンから構成されたツールバーが含まれます。

表9-1

ボタン

説明

9CodeTableSave

保存。 このボタンをクリックすると、開いているコードテーブルに変更が保存されます。

9CodeTableCut

切り取り。 このボタンをクリックすると、選択したデータがコードテーブルエディタから削除され、Windowsのクリップボードにコピーされます。

9CodeTableCopy

コピー。 このボタンをクリックすると、選択したオブジェクトのコピーがWindowsクリックボードに配置されます。

9CodeTablePaste

貼り付け。 このボタンをクリックすると、Windowsのクリップボードのコンテンツがカーソル位置に貼り付けられたり、選択したテキストが置換されたりします。

9CodeTableDelete

削除。 このボタンをクリックすると、データがコードテーブルエディタの現在アクティブな(または選択した)セルから削除されます。

9CodeTableAddRow

行の追加。 このボタンをクリックすると、コードテーブルエディタに新しい空白の行が追加されます。

9CodeTableDeleteRow

行の削除。 このボタンをクリックすると、現在アクティブな(または選択した)行がコードテーブルエディタから削除されます。

Procedure コードテーブルを作成する

  1. [ファイル]メニューから、[新規作成]>[xObject]の順に選択します。 [リソース]タブに切り替え、[コードテーブル]を選択します。新規コードテーブルxObjectの作成ウィザードが開きます。

    9CreateNewCodeTable1

  2. 「名前」を入力します。

  3. オプションとして、[説明]に説明情報を入力します。

  4. [次へ]をクリックします。タイトルバーに空白のコードテーブルの名前が表示された、コードテーブルエディタが表示されます。

    9CodeTableSample

コードテーブルエディタを閉じると、新しいコードテーブルの名前が、Composerウィンドウのリソースのカテゴリで、[コードテーブル]の下に表示されます(次の図を参照)。

Procedure コードテーブルを開く

  1. [ファイル]>[開く]の順に選択します。 [xObjectを開く]ダイアログボックスが表示されます。

    9OpenXObject

  2. [xObjectタイプ]ドロップダウンリストから、[コードテーブル]を選択します。

  3. [xObject]ドロップダウンリストから、開くコードテーブルを選択します。

  4. [OK]をクリックします。コードテーブルエディタで選択したコードテーブルが開きます。

    注記:   オプションとして、Composerウィンドウのカテゴリペインでコードテーブルを選択して、詳細ペインからコードテーブルをダブルクリックすることもできます。

Procedure コードテーブルにデータを追加する

  1. データを追加するコードテーブルを開きます。開いたコードテーブルがコードテーブルエディタに表示されます。

    9CodeTableDisplayCodes

  2. [行の追加]ボタンをクリックします。コードテーブルエディタウィンドウに空白の行が表示されます。

    9Addnewrow

  3. データを追加するセルをクリックします。

  4. 新しいデータを次のように入力します。

  5. 手順3と4を繰り返して、すべてのデータを追加します。

  6. [ファイル]>[保存]の順に選択するか、[保存]ボタンをクリックします。

注記:   データをより迅速に入力する別の方法は、スプレッドシートからデータをコピーして、コードテーブルに貼り付けることです。その場合、3カラムが選択されているか確認してください。最初のカラムには、データが含まれていなければならず、2番目および3番目の例はオプションです。スプレッドシートを開き、この3カラムと必要な数の行をコピーします。コードテーブルを開き、ただちに[貼り付け]ボタンを押します。同じ方法で、Microsoft Word&Reg; ドキュメントの表からデータをコピーすることもできます。

Procedure コードテーブルを編集する

  1. 編集するコードテーブルを開きます。

  2. 編集するデータをハイライトします。

  3. [編集]メニューまたはコードテーブルエディタのツールバーボタンを使用して、選択したデータを切り取り、貼り付け、またはコピーできます。

  4. 編集が完了したら、[保存]ボタンをクリックします。

 
Top of page

コード テーブル マップ について

「コードテーブルマップ」とは、あるコードのセットを別のコードのセットに自動的に変換するために使用するリソースです。これらのマップは、コンポーネント内のXMLサンプル間でデータを変換および交換する際に便利です(ある企業では数値コードを使用してステータスフィールドを保存しており、別の企業ではアルファベットコードを使用してステータスフィールドを保存している場合など)。

注記:   コードテーブルは、同じコードテーブルにマップできないため、コードテーブルマップを作成する前には、2つの個別のコードテーブルを作成する必要があります(コードテーブルについてを参照)。

Procedure コードテーブルマップを作成する

  1. [ファイル]メニューから、[新規]>[xObject]の順に選択します。 [リソース]タブに切り替え、[コードテーブルマップ]を選択します。 新規コードテーブルマップxObjectの作成ウィザードが開きます。

    9CodeTableMapNew1

  2. 「名前」を入力します。

  3. オプションとして、[説明]に説明情報を入力します。

  4. [次へ]をクリックします。新規コードテーブルマップxObjectの作成ウィザードの2番目のページが表示されます。

    9CodeTableMapNew2

  5. [入力コードテーブル]を選択します (このコードはコンポーネントが受け付けるデータコンテンツを表します)。

  6. [出力コードテーブル]で出力コードテーブルを選択します。 (このコードは、使いたいコード値を表します)。

  7. [処理]で、処理方法を選択します。この機能では、マップしている出力コードテーブルに対応する値を持たない入力コードテーブルからの値を処理する方法をComposerに命令できます。たとえば、コードテーブル1には値が6つあり、コードテーブル2には値が5つしかない場合、追加の値を処理する方法を、Composerに命令する必要があります。次の2つの選択肢があります。

  8. [完了]をクリックします。新規に作成したコードテーブルマップが表示されます。

    9SampleCodeTableMap

コードテーブルマップエディタを閉じると、新規に作成したコードテーブルマップが、インスタンスペインのリソースのカテゴリで、[コードテーブルマップ]の下に表示されます(上の図を参照)。

 
Top of section

コードテーブルのマップ

入力コードテーブルおよび出力コードテーブルを選択したら、値をマップする必要があります。コードテーブルマップには、最初に[Out値]フィールドでデフォルト設定にマップされた[In値]が表示されます。In値は編集できないため、グレー表示になっています。デフォルトのフィールドをクリックしたら、ドロップダウンリストを使用して、In値を[Out値]フィールドのいずれかの値にマップできます。これにより、1つ以上のIn値を同じOut値にマップできます。

Procedure コードテーブルマップを開く

  1. [ファイル]>[開く]の順に選択します。[XObjectを開く]ダイアログボックスが表示されます。

    9OpenXObjectCodeTableMap

  2. [xObjectタイプ]ドロップダウンリストから、[コードテーブルマップ]を選択します。

  3. [xObject]ドロップダウンリストから、開くコードテーブルマップを選択します。

  4. [OK]をクリックします。 選択したコードテーブルマップが開きます。

Procedure コードテーブルマップで値をマップする

  1. 値をマップするコードテーブルマップを開きます。

  2. 最初のレコードで、[Out値]フィールドをクリックします。出力コードテーブルから使用できる値がすべて表示されたドロップダウンリストが表示されます。

    9SampleCodeTableMap2

  3. ドロップダウンリストから希望の値を選択します。

  4. すべてのレコードに対して、手順2と3を繰り返します。

  5. [ファイル]>[保存]の順に選択するか、ツールバーで[保存]ボタンをクリックします。

Procedure コードテーブルマップを編集する

  1. 編集するコードテーブルマップを開きます(上の「コードテーブルマップを開く」を参照)。

  2. 編集する[Out値]セル内をクリックします。

  3. ドロップダウンリストから新しい値を選択します。

  4. [ファイル]、[保存]の順に選択するか、ツールバーで[保存]ボタンをクリックします。

 
Top of section

コードテーブルマップの使用

コードテーブルマップを作成したら、コンポーネントの作成時にこれを使用します。たとえば、XMLマップコンポーネントエディタでは、入力DOMからの要素を、コードテーブルマップを使用して出力DOMにマップするアクションを作成できます。アクションは、次のようになります。

9MapviaCodeTableMap

マップアクションでコードテーブルマップを使用すると、入力データを転送するだけでなく、出力に配置する前に変換することができます。

詳しくはを参照してください。

 
Top of page

接続について

接続リソースは、接続に関する情報をラップした、再利用可能なオブジェクトです。 具体的には、IPアドレス、ポート番号、および(ごく簡単な)認証資格情報などをラップします。 接続リソースには、ドライバ名またはJNDI名、あるいはその両方、LDAP識別名、タイムアウトや再試行に関する設定、コードページ、または特定のデータストリームタイプと接続を設定するために必要となる可能性のあるエンドポイント仕様、あるいはこれらすべてに関する重要な情報も格納できます。

接続リソースは、さまざまなデータソース(データベース接続など)だけではなく、Composerのコアアクションである「URL/ファイルの読み込み」、「URL/ファイルの書き込み」、およびXML交換アクションに対しても必要です。 このようなデータ交換アクションを使えば、XMLドキュメントや非XMLドキュメントを、HTTP、HTTPS、またはFTPを使って転送できます。 FTP認証リソースを使えば、FTPログインを行い、接続のタイムアウトを指定することができます。HTTP接続リソースには、HTTPSセッションの設定に必要なユーザ認証およびセキュリティの情報が格納されます。

ユーザにより提供された接続リソースの情報の一部は、ECMAScript式を使用してランタイム時にダイナミックにバインドできます (後述)。接続リソースのすべてのユーザ情報が、静的である必要はありません。

接続リソースでは、該当するデータストリームまたはエンドポイントに対する詳細なアクセス情報が指定されるため、一般的に、コンポーネントまたはサービスで使用するすべてのタイプのデータソースに対して、1つの接続リソースを作成する必要があります。 たとえば、データベースおよびディレクトリと情報をやり取りするアプリケーションの場合、JDBC接続リソースおよびLDAP接続リソースが、少なくとも1つずつ必要になります (データストアまたはシステムごとに1つずつリソースが必要なわけではありません。接続パラメータはECMAScriptでダイナミックに変更できるからです。次の節も参照)。

同じ接続リソースを、複数のコンポーネントで繰り返し利用できることに注意してください。 これは「リソース」本来の性質です。

 
Top of section

定数駆動型および式駆動型の接続について

接続パラメータ値の指定方法には2とおりあります。 すなわち、定数で指定する方法と、式で指定する方法です。

「定数」で指定する場合は、接続ごとにリテラル値で指定します。 式ベースのパラメータでは、ランタイム時に接続が使用されるたびに異なる値となりえる、ECMAScriptの式を使用して値を設定できます。 この方法では、ビジネスロジックを使う、あるいはバッキングストア(LDAPディレクトリなど)を参照するなどして、柔軟に接続パラメータを決めることができます。

HTTP接続における式駆動型のパラメータの非常に単純な使用の1つは、ユーザIDとパスワードをPROJECT変数(例: PROJECT.XPATH("USERCONFIG/MyDeployUser"))として定義することです。このようにすると、プロジェクトを展開する際に、展開ウィザードでPROJECT変数を最終展開環境に適切な値に更新できます。正反対に、アプリケーションサーバでJavaビジネスオブジェクトをクエリするカスタムスクリプトを利用して、使用するユーザIDとパスワードを決定することもできます。

もっと高度な使い方として、LDAPクエリを発行してディレクトリを検索し、ユーザの資格情報を取得する方法もあります。 この方式について詳しくはLDAPによる接続パラメータの取得を参照してください。

式駆動型接続の設定

接続リソースのパラメータ(ユーザーIDやパスワードばかりでなく、IPアドレスやポート番号も含む)は、式で指定することができます。 その手順を以下に概説します。

Procedure 定数駆動型から式駆動型にパラメータを切り替える

  1. 変更するパラメータフィールドでマウスを右クリックします。

  2. コンテキストメニューから[式]を選択します。 フィールドの右側にフライアウトメニューが現れます。 そこには[ECMA式]ボタンと[LDAP式]ボタンがあります。 接続パラメータをディレクトリから検索する場合は、[LDAP式]ボタンを選択します。 そうでない場合は、[ECMA式]が選択されたままにしておきます。

    注記:   [LDAP式]ボタンの使い方について詳しくはLDAPによる接続パラメータの取得を参照してください。

    9connectionexpression

  3. [ECMA式]ボタンをクリックします。 式エディタが表示されます。

    9ExpressionBuilder

  4. 式エディタを使って、実行時にパラメータ値を求めるためのECMAScript式を作成します (ほとんどのノードは、ダブルクリックするだけでECMAScriptのコードが自動生成されるようになっています)。 上の例では、プロジェクト変数「adminID」を参照し、UserIDの値として接続に使うように設定しています。

  5. [OK]をクリックして、接続リソースダイアログに戻ります。

  6. 以上の手順を、式で指定したい各パラメータについて繰り返します。

 
Top of section

LDAPによる接続パラメータの取得

ユーザ名やパスワードを、Novell eDirectoryなどのディレクトリで管理してることも珍しくありません。 アクセス制御が必要なアプリケーションでは特に、ユーザ情報を実行時に取得する機能が重要です。 そのためにComposerに用意されているのが、LDAPとの連携機能です。 どのようなバックエンドシステムに接続しているかにかかわらず、ディレクトリから実行時に接続パラメータの一部または全部を検索し、接続リソースを設定できます(接続の性質に合わせて、特別なビジネスロジックが必要になるかも知れません)。

LDAPクエリを発行して接続パラメータを取得するためには、まずLDAP接続リソースを作成しなければなりません(プロジェクトに作成済みである場合を除く)。 このリソースには、どのディレクトリを使うか、どのポートでやり取りし、どのベース識別名を使うか、などといった情報が格納されています。Composerでは、これを使って、検索先ディレクトリとの接続(安全な接続かそうでないかにかかわらず)を確立します (LDAP接続リソースについて詳しくは『LDAP Connect User\xd5 s Guide』を参照してください)。

LDAP接続リソースがあれば、どのような接続リソースでも、LDAPにより接続パラメータを取得、設定できます。その手順を以下に示します。

Procedure ディレクトリを検索して接続パラメータを設定する

  1. [新規接続リソースの作成]ダイアログで、検索方法に関するパラメータを指定するフィールド内を右クリックします。 コンテキストメニューが表示されます。

  2. メニューから[式]を選択します。 当該テキストフィールドの右側に、フライアウトメニュー(小さな三角形)が現れます。

    9ExpressionFlyout

  3. フライアウトメニューをクリックし、[LDAP式]を選択します。 メニューの隣にあるボタンが、[LDAP式エディタ]ボタンに変わります。

  4. [LDAP式エディタ]ボタンをクリックします。 [LDAP式エディタ]ウィンドウが表示されます。

    注記:   この時点でLDAP接続リソースをプロジェクトにひとつも作成していなければ、エラーダイアログが表示されます。

    9LDAPSelectAttribute

  5. ダイアログの一番上のフィールドで、[LDAP接続]を選択します (ドロップダウンメニューには、プロジェクトに作成済みのLDAP接続リソース名が列挙されています)。

  6. [識別名]に、データを検索しようとするユーザまたはエンティティのLDAP識別名を入力します。 LDAPの正しい構文がわからない場合は、DNエディタ(あるいはLDAPブラウザ)で入力してください。

    9LDAPBrowser

  7. [オブジェクトクラス]にまだ値が入っていなければ、検索に適したオブジェクトのタイプを選択します。

    注記:   通常は、先に識別名を入力した時点で、該当するオブジェクト名が入っているはずです。 その場合は何もする必要がありません。

  8. [属性]プルダウンメニューから、検索したいデータが記述されている属性名を選択します (選択肢として、前の手順で選択したオブジェクトクラスに定義されている属性が、すべて列挙されています)。

  9. [OK]をクリックして、[接続リソース]設定ダイアログに戻ります。 接続パラメータとして使う、正しい書式のECMAScript式が生成されています。 この式には、Composerの拡張メソッドであるgetLDAPAttr( )が使われています。 接続パラメータは、実行時に、LDAPを検索してダイナミックに決められます。 設計時に動作を確認したい場合は、接続設定用のダイアログで[テスト]ボタンをクリックするか、実際に接続を行うコンポーネントをアニメーションモードで実行してみてください。

 
Top of section

HTTP基本認証の接続リソースを作成する手順

Composerはさまざまな接続リソースに対応しています。Composerコア製品はLDAP、JDBC、FTP認証、HTTP(認証の種類に応じて3とおり)、およびSMTPにそれぞれ対応しています。さらに、別途接続製品を用意すれば、3270、5250、Telnet、HP3000、CICS RPC、JMS、SAP、Tandem、Data General、およびUnisys端末接続にも対応できます。 接続リソースを作成する基本的な手順はどのようなタイプでもほとんど同じなので、典型的な例として、HTTP基本認証リソースの作成手順を以下に示します。

注記:   個々のバックエンドシステム、デバイス、またはプロトコルの接続リソースを作成する詳しい手順については、該当する接続製品のユーザガイドを参照してください。 また、メールサーバ用の接続リソースを作成する手順については、SMTP簡易認証によるメール送信も参照してください。

Procedure HTTP基本認証 接続リソースを作成する

  1. [ファイル]メニューから、[新規作成]>[xObject]の順に選択します。 [リソース]タブに切り替え、[接続]を選択します。新規接続xObjectの作成ウィザードが表示されます。

    9CreateNewConnection1

  2. 「名前」を入力します。

  3. オプションとして、[説明]に説明テキストを入力します。

  4. [次へ]をクリックします。新規接続xObjectの作成ウィザードの2番目のページが表示されます。

  5. ドロップダウンリストから「HTTP基本認証」を選択します。この認証は、HTTP接続を使用するXML交換と同時に使用されます。

    Createconnecthttp

  6. 「ユーザID」と「パスワード」を入力します。これらは、接続の確立中に実際には送信されず、単にここで定義されます(パスワードは暗号化されます)。ユーザは、ECMAScript式からユーザIDおよびパスワード変数にアクセスして、画面内の値として、ユーザIDとパスワードをマップできるようになります。このため、パスワードが誰かに表示されることはありません。

  7. [参照]ボタンをクリックし、このサービス接続で使用する証明書ファイルを選択して、「クライアント証明書」を選択します。

  8. [参照]ボタンをクリックし、セキュリティ用のクライアントキーファイルを選択して、「クライアントプライベートキー」を選択します。

  9. 「プライベートキー」の「パスワード」を入力します。プライベートキーは、クライアントプライベートキーの所有者のための異なるレベルのセキュリティです。

  10. 「接続タイムアウト」の値を秒単位で入力します。

  11. 適切なコンポーネントウィザードにこの接続をデフォルト接続として表示する場合は、[デフォルト]チェックボックスをオンにします。

  12. [完了]をクリックします。 これで接続が作成されました。

注記:   接続リソースの詳細については、各Connectガイドの「はじめに」の節を参照してください。

 
Top of section

Mail Simple認証接続リソース

電子メールのアカウント情報は、Mail Simple認証接続リソースに格納できます。 メールの送信アクション(詳しくはSMTP簡易認証によるメール送信を参照)を使うサービスやコンポーネントでは、Mail Simple認証接続リソースを使ってアカウント情報を取得するようにすれば便利です。

Procedure Mail Simple認証接続リソースを作成する

  1. ナビゲーション(エクスプローラ)フレームで、[リソース]カテゴリの[接続]を右クリックし、次のように、コンテキストメニューから[新規]を選択します。

    7SendMailSMPTResource

  2. 次のようなウィザードペインが現れます。接続リソース名を[名前]に指定し、必要に応じて説明文も入力してください。

    7SMPTConnection1

  3. [次へ]をクリックします。 ウィザードの2番目のパネル(これが最後)が表示されます。

    7SMPTConnection2

  4. [接続タイプ]プルダウンメニューから、[SMTP簡易認証によるメール送信]を選択します。

  5. [SMTPサーバ]に、使いたいメールサーバ名またはIPアドレスを入力します。

  6. [ユーザID]に、使いたいメールアカウントのユーザ名を入力します。

  7. [パスワード]に、当該ユーザアカウントのパスワードを入力します。

  8. [完了]をクリックします。

 
Top of page

Copybookリソースについて

COBOL CICSメインフレームにアクセスする、あるいはJMSシステムを使う場合、データレイアウトを定義するために、Copybookソースファイルが必要になることがあります。 同様に、FTP、EDIデータ交換などのファイル操作を行うComposerプロジェクトでも、COBOL Copybookが必要になることがあります。exteNd Composerに用意されているCopybookリソースを使えば、XMLデータを ByteArray に変換し、CICS RPCまたはJMSコンポーネントへの入力とすることができます。 逆に、変換アクションを使って、このようなコンポーネントから出力されたByteArrayをXML形式に変換することもできます。196ページの「CopybookからXMLへの変換アクション」を参照してください。

Procedure Copybookリソースを作成する

  1. [ファイル]メニューから、[新規]>[xObject]の順に選択します。 リソースタブに切り替え、[Copybook]を選択します。 新規Copybookの作成ウィザードが表示されます。

    注記:   あるいは、ナビゲータペインの[リソース]ツリーにある[Copybook]を選択し、[新規]をクリックしても構いません。

    9CopybookWiz1

  2. 「名前」を入力します。 必要ならば説明文を追加します。

  3. [次へ]をクリックします。 Copybookパラメータを指定する画面に切り替わります。

    9CopybookWiz2

  4. [参照]ボタンを押し、COBOL Copybookファイルを検索します。

  5. [コードページ]フィールドは、ドロップダウンメニューからコードページを選択します。コードページは、オペレーティングシステムの文字データ標準に依存します(たとえば、CP037はEBCDIC用、8859_1はASCII用)。

  6. [マシンタイプ]フィールドは、ドロップダウンメニューから、ユーザのCICS Region/Server (MVS、OS2、NT、AIX)のプラットフォームを選択します。

  7. [浮動小数点形式]フィールドは、ドロップダウンメニューから、選択したシステムタイプに対応する名前、 IBMまたはIEEEを選択します。

  8. [エンディアン]フィールドは、ドロップダウンメニューから整数の最大/最小重みバイトの順序を選択します(メモリ内で最大重みバイトが最小重みバイトの前にくる場合はBIG、それ以外の場合はLITTLEを選択します)。

  9. [完了]ボタンをクリックすると、リソースのリストにCopybookが追加され、コンポーネントエディタが開きます。 次の図は、Copybookリソースを開いた様子を示します。

    9CopybookResource

注記:   Copybookリソースは、XMLからCopybookへの変換アクションやCopybookからXMLへの変換アクションを使う場合、あらかじめ作成しておかなければなりません。

 
Top of page

カスタムスクリプトリソースについて

カスタムスクリプトリソースとは、ECMAScriptプログラミング言語で作成されたユーザ開発関数のライブラリです。関数をコンポーネント全体や他の関数内で使用できるようにすることができます。カスタムスクリプトを使用すると、次の操作を実行する関数を開発できます。

注記:   カスタム関数を作成するには、ECMAScript言語を十分に理解しておく必要があります。次の節では、スクリプト作成のチュートリアルではなく、一般的なガイドラインのみを示します。Composerでのスクリプト作成の詳細については、次の章を参照してください。

 
Top of section

カスタム関数の整理および使用

関数を異なるライブラリに整理したい場合があります。 たとえば、アプリケーションに必要なmath関数、string関数、またはdatabase関数が複数あるとします。類似した関数を分類する(つまり、同じライブラリにすべてのstring関数を作成する)と、カスタムスクリプトエディタを使用して、同じライブラリ内ですべての関数によって使用可能なグローバル変数を宣言することもできます。

関数を作成、検証する際に、Composerでは、コンポーネントアクション内のすべての式エディタでこれらの関数が使用できるようにします。

たとえば、10個の関数を含み、「String」と呼ばれるカスタム関数ライブラリを作成した場合、他の標準的な関数とともに、カスタムスクリプトというラベルで式エディタに表示されます。

Procedure カスタムスクリプトを作成する

  1. [ファイル]メニューから、[新規]>[xObject]の順に選択します。 [リソース]タブに切り替え、[カスタムスクリプト]を選択します。 [新規カスタムスクリプトxObjectの作成]ダイアログが表示されます。

    9CustomScriptNew1

  2. 「名前」を入力します。

  3. オプションとして、[説明]に説明情報を入力できます。

  4. [次へ]をクリックします。カスタムスクリプトエディタが開き、新しく作成されたカスタムスクリプト名がタイトルバーに表示されます。

    9CustomScriptwindow

 
Top of section

カスタム スクリプトエディタウィンドウについて

カスタムスクリプトエディタウィンドウは、複数のペインに分かれています。ペインのビューを切り替えて、必要なコンテンツを含めることができます。

複数の関数を追加した後のエディタは、次の図のとおりです。

 
Top of section

関数の作成および検証

関数を入力して最初から作成します。関数を作成する際にはExpression Builderを使用することもできます。 詳細については、式エディタを使用した関数の作成を参照してください。

Procedure 関数を作成および検証する

  1. 関数の作成領域に、functionという単語を入力します。

  2. 同じ行で、functionという単語の後に関数名を入力します。

  3. 同じ行で、関数パラメータをカンマで区切って入力し、括弧で囲みます。

  4. 左丸括弧を入力して、<Enter>キーを押します。

  5. 関数ステートメント(複数可)を入力します。

  6. 右丸括弧を入力して、<Enter>を押します。

  7. 希望する場合は、コメントを関数に追加します。

関数は、次の例のようになります。

9CreateFunction

Procedure 関数の構文を検証する

関数が有効である場合、Composerにより、検証された関数リストに関数名が追加されます。関数にエラーが含まれる場合は、Composerにより、詳細なエラーメッセージが表示されます。

Procedure 関数をテストする

  1. テスト領域に有効なパラメータを完全に備えた関数名を入力します。

  2. <Enter>を押します。

関数をテストする前には、前の節で説明した構文の検証が渡される必要があります。

 
Top of section

関数の説明をツールヒントとして追加する方法

関数を検証して、検証済み関数のリストに追加したら、関数の説明を記述できます。説明は、Composer全体でExpression Builderに関数が表示されている場合に、マウスを関数名に合わせると「ツールヒント」として表示されます。

Procedure 説明を追加する

  1. 関数を作成および検証します。

  2. [説明]テキストボックスで、関数のテキストでデフォルトの式を上書きします(次の図を参照)。

    9functiondescription

  3. 希望する場合は、[関数はパブリックです]チェックボックスをオンにします。このチェックボックスがオンの場合、次の2つの処理が実行できます。

 
Top of section

スクリプトエディタ内でのDOMツリーの表示

作成したカスタムスクリプト関数の多くで、XMLドキュメント内で特定のXPathの場所にあるデータを参照したり、データと直接動作させなければならない場合があります。 この操作を簡単に行えるよう、カスタムスクリプトエディタでは、エディタ内で(ツリービュー、テキストビュー、またはスタイル形式のビューの3つの使用可能なビューのうちいずれかで)XMLドキュメントを 表示できます。これにより、関数定義の本文にXML要素をドラッグアンドドロップできるため、XPathの参照をさらに簡単に指定できます。

Procedure XMLドキュメントを専用のペインで表示する

  1. カスタムスクリプトを開き、スクリプトエディタ環境であることを確認してください。

  2. Composerのメインメニューで、[ファイル]>[XMLサンプルのロード]の順に選択します(次の図を参照)。

    9LoadSample1

    このコマンドを選択すると、[XMLサンプルのロード]ダイアログボックスが表示されます。

    9LoadSample2

  3. [パート]というラベルの付いたプルダウンメニューで、ファイルに関連付けるDOM(入力DOMまたは出力DOM)を選択します。

  4. [参照]ボタンを使用して、ファイルのナビゲーションダイアログボックスを表示します。ロードするXMLファイルに移動して、ナビゲータを閉じます。 URLを指定してファイルを読み込むこともできます。「http://」、「https://」、あるいは「ftp://」という文字列を、ファイル名の前に置いて明示してください。

  5. [OK]をクリックして、[XMLサンプルのロード]ダイアログボックスを閉じます。選択したファイルが専用のペインに表示されます。

  6. ファイルを使用、選択するXMLドキュメントのディレクトリに移動します。入力マップペインと出力マップペインが表示されます。

    注記:   XMLテンプレートからXMLドキュメントを使用する場合、プロジェクトの「XMLCategories」ディレクトリで該当する「Imports」ディレクトリ (例: /Tutorial/XMLCategories/OfficeSupply/Imports)に移動します。

 
Top of section

Java クラスとカスタムスクリプトとの統合

Javaメソッドを起動する、またはカスタムJavaクラスのインスタンスを生成する必要があるカスタムスクリプトを作成している場合、カスタムスクリプトエディタウィンドウのビューを展開して、クラスナビゲータに必要な情報を表示できます。 Javaクラスブラウザは、CLASSPATHで示されるパス内(およびプロジェクトに追加されているJARリソース)を走査し、クラス、メソッド、プロパティを一覧表示します。 これにより、Javaコンストラクタ、メソッド、およびプロパティを関数定義の本文、または関数をテストするテスト(コンソール)領域にドラッグアンドドロップできるため、これらの項目をさらに簡単に指定、使用できます。

Procedure Javaクラスを使用する

  1. カスタムスクリプトエディタのメニューバーから[表示]>[Javaクラスコンテキストの表示]の順に選択します。

    9ShowJavaClassCommand

    このコマンドを選択したら、メインエディタにJavaクラスパネルが表示されます。

    9ShowJavaClass

  2. Javaクラスパネルで、次の操作を実行します。

    9BrowseJavaClass

  3. コンテキストツリーから、使用するクラスを検索します (コンテキストノードの左側にある小さなプラス記号(+)をクリックすると、ノードが展開されます)。

  4. 使用するクラスを選択して、[OK]をクリックすると、ダイアログボックスが閉じます。エディタのクラスリスト領域に、クラスが表示されます。

  5. (クラスをダブルクリックするか、横にあるプラス記号をクリックして)クラスを展開し、コンストラクタ、メソッド、およびプロパティを表示します。次の図を参照してください。

    9JavaClasses

  6. (オプション)個々のメソッドまたはプロパティを、エディタペインまたはコンソールにドラッグアンドドロップして、該当するプロパティを使用します。

希望する場合は、Composer CLASSPATHに独自のクラスを追加するか、ComposerのCLASSPATHを拡張して独自のクラスを含めることで、[クラスブラウザ]に独自のクラスを追加できます。

注記:   カスタムJavaクラスを使用している場合は、アプリケーションの展開時にアプリケーションサーバにクラスをインストールする(またはEAR/WARファイルに含める)ようにしてください。 その場合には、exteNd Directorを使用できます。 詳しくは、Directorのマニュアルを参照してください。

 
Top of section

ECMAScriptでのJavaクラスの操作

JavaのDecimalFormatクラスを使用する、RoundToDecimalPos()と呼ばれるスクリプト関数を作成する方法は、次の例のとおりです。この例では、関数で、切り上げ/切り捨てする数値、および切り上げ/切り捨てする箇所の数という2つのパラメータを受け入れます。

Procedure Javaを使用するスクリプト関数を作成する

  1. Javaクラスパネルが表示された状態で、関数ペインに関数シグネチャを入力します(次を参照)。

    9JavaExample01

  2. [クラス名]コントロールで、参照ボタンを選択します。 [クラスブラウザ]ダイアログが表示されます。

    9JavaExample02

  3. [Java]>[テキスト]>[DecimalFormat]の順に移動します(前の図を参照)。

  4. [OK]をクリックします。 カスタムスクリプトウィンドウの[クラス名]フィールドが自動的に入力されます。

    9JavaExample03

  5. (オプション)[変数名]フィールドに名前を入力します。

  6. 希望する「コンストラクタ」を関数ペインにドラッグアンドドロップします。コンストラクタのパラメータを入力します。

  7. 希望する場合は、ECMAScript関数を編集します。関数の一例は、次のとおりです。

    9JavaExample04

 
Top of section

式エディタを使用した関数の作成

関数を最初から作成する代わりに、式エディタを使用して関数を作成することができます。 この機能を使用する場合の利点は、式エディタでは、マウス操作だけで使用できる選択リストを使用することで、DOMメソッド、Composer拡張、組み込みECMAScriptメソッド、およびDOMノードターゲットがほとんどすべて明らかになります。 選択リストを使用して式を作成すると、操作が簡単で便利なだけではなく、入力ミスをする恐れが少なくなります。 また、すべての使用可能なメソッドに対する構文の呼び出しは、選択ツリーで各リーフノードのロールオーバツールヒントに表示されるため、役に立つ参照にもなります。

カスタムスクリプトエディタには、選択したビューに基づき、[式エディタ]内で2つの異なるビューが表示されます。基本的なビューには、独自の関数を作成するために使用できるECMAScriptオブジェクトと演算子のリストが表示されます(次を参照)。

9ExpressionEditorJava

カスタムスクリプトエディタで、[表示]>[XMLドキュメントの表示]の順に選択すると、[式エディタ]が開き、DOMで要素を選択するための追加の選択リストが表示されます(次を参照)。

9ExpressionEditorXML

Procedure 式エディタを使用する

  1. メインメニューバーで、[ツール]、[式エディタ]の順に選択します。 [式エディタ]が表示されます。

    9ExpressionEditorJava

  2. [変数]ペイン、[関数/メソッド]ペイン、または[演算子]ペインでツリーを展開し、要素をダブルクリックして関数を作成します。 要素をダブルクリックすると、一番下の[式]ペインに表示されます。

または、マウスの右ボタンを使用して、関数の編集ペインまたはテスト領域のいずれかにExpression Builderを表示することもできます。

注記:   ECMAScriptの詳細については、このガイドの次の章exteNd Composerでのカスタム スクリプト作成およびXPathロジックを参照してください。

 
Top of page

フォームリソースについて

Composerのフォームリソースを使えば、プロジェクトにXMLベースのフォーム(XForm)を作成できます。

注記:   Novell exteNd Professional Editionに含まれるComposerでは、フォームリソースは扱えません。 以下の説明はEnterprise Editionの場合にのみ成り立ちます。

フォームウィザードを使えば、表示される手順どおりに操作するだけで、初期インスタンスデータを作成できます。

Procedure XFormを作成する

  1. Composerの[ファイル]メニューから、[新規作成]>[xObject]の順に選択し、次いで[リソース]タブから[XForm]を選択します (あるいはカテゴリペインでXMLスキーマリソースを右クリックし、[新規作成]を選択します)。 フォームリソースウィザードの最初のペインが表示されます。

    9XformWiz1

  2. XFormを参照するための[名前]を指定し、必要ならば説明も追加した後、[次へ]ボタンをクリックして次の画面に進みます。

    9XformWiz2

  3. [インスタンスデータソースタイプ]を選択します。 選択肢としては次のようなものがあります。

  4. [スキーマ]を選択した場合は、インスタンスデータ用に使う[スキーマルート]も指定します。

  5. [XMLサンプル]を選択した場合は、[プロジェクトリソース]ドロップダウンリストから、プロジェクトに作成済みのテンプレートに対応する、XMLソースの場所を選択します。 1つ目のボックスにはテンプレートカテゴリ、2つ目にはテンプレート名、3つ目にはサンプル名を指定します。

    [参照]ボタンを押してローカルファイルを選択する、あるいは、XForm用のXMLソースがある場所の完全修飾URLを入力する方法もあります。

  6. [WSDL]を選択した場合は、インスタンスデータと関連付ける[サービス]および[操作]も指定します。

    次いで、[プロジェクトリソース]ラジオボタンの下にあるドロップダウンメニューから、WSDLリソースを選択します。 [参照]ボタンを押してローカルファイルを選択する、あるいは、XForm用のWSDLソースがある場所の完全修飾URLを入力する方法もあります。

  7. [完了]ボタンをクリックすると、フォームリソースが作成され、フォームエディタに表示されます。

 
Top of page

イメージリソースについて

イメージファイルをComposerプロジェクトにパッケージ化できれば便利な場合があります。 たとえばプロジェクト中に、GIF、JPEG、あるいはPNGファイルを参照するJSPがある場合、JSPと同じJARファイルまたはWARファイルに、このイメージファイルも含めてパッケージ化した方が便利です。 そうしておけば、JSPでは検索URL(後述)を使ってイメージを参照できます。

注記:   Novell exteNd Professional Editionに含まれるComposerでは、イメージリソースは扱えません。 以下の説明はEnterprise Editionの場合にのみ成り立ちます。

イメージリソースを最初に作成した時点で、プロジェクトフォルダに\imageというサブディレクトリが作成され、さらにその下に「src」フォルダができます。 イメージリソースは次の2つのファイルから成ります。

このうちXMLファイルは、\imageサブディレクトリ以下に作成されます。 一方イメージファイルは、\srcサブディレクトリ以下にコピーされます。

したがって、たとえばMyProjectというプロジェクトに、Sample.jpgというイメージファイルを元にしてイメージリソースを作成した場合、ディレクトリ構造は次のようになります。

9ImageResource1

\imageフォルダ以下には、Sample.jpg.xmlというファイルもあります。これはSample.jpgリソースに対応するxObjectラッパ(メタデータ)を表します。

 
Top of section

イメージリソースの名前付け(および名前変更)

イメージリソースを作成した時点では、元になったイメージファイル名と同じリソース名になっています。 ただし、必要ならば後で改名しても構いません(手順は他のリソースの場合と同様です)。 すなわち、Composerメインビューのオブジェクトペインで、当該リソースを右クリックし、コンテキストメニューから[名前変更]を選択します。 次いで、新しい名前を入力します (リソース名を変更すると、xObjectばかりでなくイメージファイル自身の名前も変わります)。

注記:   他のリソースを名称変更する場合と同様、当該リソースが開かれた状態である場合、あらかじめ閉じておく必要があります。

 
Top of section

JARにおけるコンテキスト

展開に当たって、イメージリソースはJARファイルに(プロジェクト内の他のxObjectとともに)パッケージ化され、展開EAR内に置かれます。 各物理イメージには、次のようなデフォルトの展開コンテキストが設定されます。

[プロジェクトコンテキスト]/image/src

したがって、JARのルートレベルに置かれたJSPでは、/image/src/imagenameという相対URLでイメージを参照できます。 たとえば、次のとおりです。

  <img src=”MyProject/image/src/Sample.jpg”/>

 
Top of section

イメージリソースを作成する手順

イメージリソースの作成手順は他のリソースxObjectとほとんど同じですが、オブジェクト名が自動的に設定される点が異なります。

Procedure イメージリソースを作成する

  1. Composerのナビゲーションフレームで、「リソース」以下にある「イメージ」という部分を右クリックし、コンテキストメニュー(下の図を参照)から[新規]を選択します。あるいは、[ファイル]メニューから[新規]>[xObject]の順に選択しても同様です。 [リソース]タブから[イメージ]を選択し、[OK]ボタンを押します。

    9ImageResource2

  2. すると現れるダイアログで、[既存の外部ファイルから作成する]ラジオボタンを選択します。次の図を参照してください。

    9ImageResource3

  3. ファイルの場所がわかっている場合は、テキストフィールドに直接入力しても構いません。ファイルシステムアドレス、あるいは、「http://」または「ftp://」で始まる完全修飾URLで指定します。 わかっていない場合は[参照]ボタンをクリックし、イメージファイルを検索します。

    注記:   イメージ形式として、GIF、JPEG、およびPNGに対応しています。

    ヒント:   [参照]ボタンで呼び出したファイル選択ダイアログでは、<Control>キーや <Shift>キーを押しながら操作することにより、複数のイメージをまとめて選択し、 Composerに取り込むことができます。 各イメージファイルの名前がそのままリソース名 になります。

  4. [完了]ボタンをクリックします。 ダイアログが消え、新しいイメージリソースがComposerナビゲータフレームのインスタンスペインに表示されます。

 
Top of section

既存のイメージリソースのインポート

他のプロジェクトで作成した、既存のイメージリソースをインポートして使うことができます。 その手順を以下に示します。

Procedure 他のプロジェクトからイメージリソースをインポートする

  1. [リソース]カテゴリ(図は前節を参照)の[イメージ]を右クリックし、コンテキストメニューから[インポート]を選択します。 次のダイアログボックスが表示されます。

    9ImageResource4

  2. [参照]ボタンを押すと、ファイル選択ダイアログが表示されます。 ネットワーク上あるいはローカルファイルシステム上を検索し、インポートしたいイメージリソースを選択します。[開く]ボタンをクリックすると、元のダイアログに戻ります。 URLを指定してファイルを読み込むこともできます。「http://」、「https://」、あるいは「ftp」という文字列を、ファイル名の前に置いて明示してください。

    注記:   イメージリソースはXMLファイルでもあります。 常にComposerプロジェクトの「\image」フォルダにあります。

  3. リソース名がダイアログの[名前]フィールドに表示されています。 必要ならばここで名前を変更してください (後で変更することもできます)。

  4. [OK]をクリックします。 Composerナビゲーションフレームのインスタンスペインに、リソースが追加されます。

 
Top of section

イメージリソースの表示

プロジェクトに作成またはインポートしたイメージリソースは、インスタンスペインで当該リソースをダブルクリックすれば表示できます。選択して右クリックし、[開く]を選択しても同様です。 イメージは、Composerデスクトップ内の、独立したタブ付きウィンドウに表示されます。

9ImageResource6

表示の大きさ(拡大率)はいろいろな方法で変更できます。 イメージ上を右クリックするとコンテキストメニューが現れます。

9ImageResource5

ここに各種のズームコマンドが揃っているほか、マウスまたはキーボード、あるいはその両方を使っても拡大率を調整できます。

拡大:数字キーボードの<+>キーを押すか、イメージ上を左クリックします。

縮小:数字キーボードの<->キーを押すか、<Control>キーを押しながら、イメージ上を左クリックします。

等倍表示: <=>キーを押すか、<Shift>キーを押しながら、イメージ上を左クリックします。

 
Top of page

JARリソースについて

注記:   Novell exteNd Professional Editionに含まれるComposerでは、JARリソースは扱えません。 以下の説明はEnterprise Editionの場合にのみ成り立ちます。

JARリソースを使えば、Composerプロジェクトに、カスタムユーティリティクラスやビジネスオブジェクトを追加できます。 カスタムスクリプトやカスタムコンポーネントをプロジェクトに作成すれば、必要なところで対応するクラスを使えるようになります。 カスタムスクリプトエディタのクラスブラウザには、JARリソースにアクセスし、ドラッグ&ドロップ操作で、Javaオブジェクトをカスタムスクリプトに取り込む機能があります。 また、コンポーネント内で関数コールを使う形でも、インポートされたクラスタイプのオブジェクトをインスタンス生成し、クラスメソッドを起動することができます。

注記:   他のComposerプロジェクトをサブプロジェクトとして追加したい場合は、JARリソースのしくみを使わないでください。 代わりに、[ツール]>[プロジェクト設定]>[サブプロジェクト]の順に選択し、他のコンポーネントプロジェクトをインポートします。

JARリソースを最初に作成する時点で、プロジェクトフォルダに\JAR というサブディレクトリが作成され、JAR ディレクトリの下にimportフォルダができます。 JARリソースは次の2つのファイルから成ります。

このうちXMLファイルは、\JARサブディレクトリ以下に作成されます。 一方JARファイルは、\importサブディレクトリ以下にコピーされます。

したがって、たとえばTutorialStudentというプロジェクトに、mycontacts.jarというJARファイルを元にしてJARリソースを作成した場合、ディレクトリ構造は次のようになります。

9JARDirStructure

\jarフォルダ以下には、mycontacts.xmlというファイルもあります。これはmycontacts.jarリソースに対応するxObjectラッパ(メタデータ)を表します。

 
Top of section

JARリソースの名前付け(および改名)

JARリソースを作成した時点では、元になったJARファイル名と同じリソース名になっています。 ただし、必要ならば後で改名しても構いません。 オブジェクトペインで当該リソースを右クリックし、 コンテキストメニューから[名前変更]を選択します。 次いで、新しい名前を入力します。 リソース名を変更すると、xObjectばかりでなくJARファイル自身の名前も変わります。

注記:   JARファイルリソースはあらかじめ閉じておく必要があります。

 
Top of section

Composerプロジェクトにおけるコンテキスト

JARリソース内のクラスは、クラスパッケージのコンテキストで参照する必要があります。 クラスがJARのルートであれば、コンテキストの指定は不要です。 次の例には、JARオブジェクトクラスが2つあります。1つ目のmyFirstStringProcessorObjは、JARのルートでクラスを参照しています。 2つめのmySecondStringProcessorObjは、「com.Novell」というコンテキストで参照されています。いずれの場合も、コンテキストの前に「Packages」というキーワードを付けている点に注意してください。 2つのクラスに同じ名前のメソッドが定義されている場合、衝突を避けるため、コンテキストを与えてクラスをパッケージ化する必要があります。

9JARResourceReference

次の例には、com.Novellというコンテキストで、myStringProcessorクラスに属するオブジェクトをインスタンス生成するための関数式が記述されています。

9JarClassInstantiate

 
Top of section

ComposerプロジェクトJARにおけるコンテキスト

展開に当たって、JARリソースはWARファイルに(プロジェクト内のJARとともに)パッケージ化され、展開EAR内に置かれます。 各物理JARには、次のようなデフォルトの展開コンテキストが設定されます。

/JAR/import

 
Top of section

JARリソースを作成する手順

Procedure JARリソースを作成する

  1. Composerのナビゲーションフレームで、[リソース]カテゴリの[JAR]を右クリックし、コンテキストメニュー(下の図を参照)から[新規]を選択します。あるいは、[ファイル]メニューから[新規作成]>[xObject]の順に選択しても同様です。 [新規xObject]ダイアログ(下の図を参照)で[リソース]タブに切り替え、[JAR]を選択します。

    9ResourceXObjDlg

  2. 次に現れるダイアログでは、[既存の外部ファイルから作成する]ラジオボタンがあらかじめ選択されています。 次の図を参照してください。

    9CreateNewJarResource

  3. ファイルの場所がわかっている場合は、テキストフィールドに直接入力しても構いません。ファイルシステムアドレス、あるいは、「http://」または「ftp://」で始まる完全修飾URLで指定します。 わかっていない場合は[参照]ボタンをクリックし、JARファイルを検索します。

    ヒント:   [参照]ボタンで呼び出したファイル選択ダイアログでは、<Control>キーや <Shift>キーを押しながら操作することにより、複数のJARファイルをまとめて選択し、 Composerに取り込むことができます。 各JARファイルの名前がそのままリソース名にな ります。

  4. [完了]ボタンをクリックします。 ダイアログが消え、新しいJARリソースがComposerナビゲータフレームのインスタンスペインに表示されます。

 
Top of section

JARリソースをインポートする手順

Procedure JARリソースをインポートする

  1. JARリソースカテゴリ上で右クリックし、コンテキストメニューから[インポート]を選択します。あるいは[ファイル]>[xObjectのインポート]の順に選択しても同様です。 [インポート]ダイアログが表示されます。

    9ImportJarResouceDlg

  2. [タイプ]ドロップダウンリストから[JAR]を選択します。

  3. [参照]ボタンを押すと、ファイル選択ダイアログが表示されます。 ネットワーク上あるいはローカルファイルシステム上を検索し、インポートしたいJARリソースを選択します。[開く]ボタンをクリックすると、元のダイアログに戻ります。 URLを指定してファイルを読み込むこともできます。「http://」、「https://」、あるいは「ftp」という文字列を、ファイル名の前に置いて明示してください。

  4. リソース名がダイアログの[名前]フィールドに表示されています。 必要ならばここで名前を変更してください (後で変更することもできます)。

[OK]をクリックします。 Composerナビゲーションフレームのインスタンスペインに、リソースが追加されます。

 
Top of page

JSPリソースについて

注記:   Novell exteNd Professional Editionに含まれるComposerでは、JSPリソースは扱えません (ただし、Composerで扱えるJSPを、Directorで作成することは可能です。 詳しくは展開に関する章のDirector JSPウィザードを参照してください)。 以下の説明はEnterprise Editionの場合にのみ成り立ちます。

JSP (Java Server Page)は、Composerで直接作成(し、JSPリソースとしてプロジェクトに保存)するほか、ローカルドライブあるいはURIからインポートする、あるいは他のComposerプロジェクトから作成済みのJSPリソースをインポートすることも可能です。 JSPリソースができてしまえば、プロジェクトの展開JARにパッケージ化し、展開できます。

Composerの組み込みJSPエディタには、JSPの編集や作成ばかりでなく、JSPベースのトリガを生成し、(Composerのカスタムタグライブラリを使って、) Composerサービスで利用できるという、有用な機能があります。 これについては後述します。

Procedure 既存のファイルを元にJSPリソースを作成する

  1. Composerのナビゲーションフレームで、[リソース]カテゴリの[JSP]を右クリックし、コンテキストメニュー(下の図を参照)から[新規]を選択します。あるいは、[ファイル]メニューから[新規]>[xObject]の順に選択しても同様です。 [リソース]タブから[イメージ]を選択し、[OK]ボタンを押します。

    9JSP1

  2. すると現れるダイアログで、[既存の外部ファイルから作成する]ラジオボタンを選択します。次の図を参照してください。

    9JSP2

  3. このリソースに使いたいJSPファイルの場所がわかっている場合は、[インポートするファイル/URL]に直接入力します。 そうでない場合は[参照]ボタンを押し、ファイル選択ダイアログで指定します。

  4. [完了]をクリックします。 インスタンスペインに新しいリソースが追加され、次のように、ComposerのJSPエディタに当該JSPが開かれます。

9JSP3

 
Top of section

JSPベースのサービストリガの作成

Composerを使って、プロジェクト内の既存のサービスにトリガをかけるJSPコードを、自動生成することができます。 以下、その手順を示します。

Procedure サービストリガコードを含むJSPリソースを作成する

  1. Composerのナビゲーションフレームで、[リソース]カテゴリの[JSP]を右クリックし、コンテキストメニュー(前節の図を参照)から[新規]を選択します。あるいは、[ファイル]メニューから[新規]>[xObject]の順に選択しても同様です。[リソース]タブから[JSP]を選択し、[OK]ボタンを押します。

  2. すると現れるダイアログで、[Composerサービスを実行するためのJSPの作成]ラジオボタンを選択します。 ラジオボタンをクリックした時点で、ダイアログは次の図のように変わります。

    9JSP4

  3. [名前]にJSPの名前を入力します。

  4. (必要に応じ) [説明]にこのリソースの説明文を入力します。

  5. [次へ]ボタンをクリックします。 新しいウィザードパネルが表示されます。

    9JSP5

  6. [Composerサービスを実行する]チェックボックスをオンにすると、あるサービスにトリガをかけるカスタムタグコードが自動生成されます (オフのままであれば、JSPは空のままです。 JSPを自分で記述する場合は、この時点で[完了]をクリックします)。 チェックボックスをオンにすると、その下のドロップダウンメニューが、選択できる状態になります。

  7. [サービス]ドロップダウンメニューから、サービスを選択します。 このリストには、プロジェクト内のサービス名が列挙されています。

  8. [サービストリガタイプ]からいずれかを選択します。

  9. [完了]をクリックします。 サービスを起動するコードを含む新しいJSPが、次の図のように、エディタペインに表示されます。

9JSP6

 
Top of page

WSDL リソースについて

WSDL (Web Services Description Language)とは、Webサービスを記述するためのXMLボキャブラリです。WSDLを使用すると、ビジネスがオンラインでやりとりするために十分詳細なレベルで、インタフェース、プロトコルのバインド、およびWebベースのサービスに関するさまざまなタイプの情報を、(標準の方法で)記述することができます。完全な標準については、http://www.w3.org/TR/wsdlを参照してください。

WSDLリソースを作成または取得するには3つの方法があります。

Procedure 既存のサービスからWSDLリソースを生成する、またはXMLエディタでWSDLリソースを作成する

  1. [ファイル]メニューから、[新規]>[xObject]の順に選択します。 [リソース]タブに切り替え、[WSDL]を選択します。

    カテゴリペインで「WSDLリソース」アイコンを右クリックし、[新規]を選択します (これにより、WSDLリソースが既存のサービスと関連付けられます)。

    ナビゲータのインスタンスペインでWSDLリソースを右クリックし、[WSDLの作成]を選択します (やはりWSDLリソースが既存のサービスと関連付けられます)。

    いずれの場合も、WSDLリソースウィザードの最初のペインが現れます。

    9CreateNewWSDL

  2. 既存のファイルからWSDLを作成するか、あるいは新しくComposerサービスを記述するかを、ラジオボタンで選択します。

    9WSDL01

  3. リソースの「名前」を入力します。 (これにより、WSDLの「/service」要素の名前属性も表示されます)。

  4. オプションとして、説明情報を入力します。

  5. [次へ]をクリックします。新しいペインが表示されます。

    9WSDL02

  6. プロジェクトでの既存のWebサービスに基づきWSDLを作成する場合は、[Webサービスの関連付け]チェックボックスをオンにします。

    注記:   自動作成ではなく、XMLエディタ環境で独自にWSDLを記述する場合は、[Webサービスの関連付け]チェックボックスはオフのままで[完了]ボタンをクリックします。 するとダイアログは消えます。Composerのコンテンツペインを右クリックし、コンテキストメニューから[表示]>[テキスト形式]の順に選択した後、WSDLを入力してください。

  7. [サービス]プルダウンメニューからサービスを選択します。

  8. Composerで、WSDLでのSOAPバインド情報を自動的に作成する場合は、[ SOAPバインドの生成]チェックボックスをオンにします。[ドキュメント]および[RPC]というラベルの付いたラジオボタンから、使用するバインドスタイルを選択します。

  9. WSDLの/service/port/address要素のlocation属性に表示するURIを入力します。

  10. [完了]をクリックします。新しく作成したWSDLが、ComposerのコンテンツウィンドウでDOMツリーとして表示されます。 DOMを右クリックして、[表示]>[テキスト形式]の順に選択して、WSDLドキュメントのテキストビューを表示します。このWSDLドキュメントは、必要に応じて後で手動で編集できます。次の図を参照してください。

    9WSDLContextMenu

Procedure レジストリブラウザを使用して外部サービスからWSDLを取得する

  1. Composerのナビゲーションフレームで[レジストリ]タブをクリックします。

  2. 416レジストリ参照で説明されているとおり、([組織]または[サービス]のいずれかを)検索します。

  3. [サービス]ペインに詳細情報を表示できるサービスを選択します。

  4. 426レジストリからのWSDLの取得で説明されているとおり、そのサービスのWSDLを取得します。 取得したWSDLのツリービューが、コンポーネントエディタのコンテンツペインに自動的に表示されます (ほかの形式で表示したい場合は、コンテンツペイン内で右クリックし、コンテキストメニューの[表示]で切り替えてください)。

  5. Composerの[ファイル]メニューから、[名前を付けて保存]を選択します。リソースの名前を入力し、[OK]をクリックします。

  6. 検索されたWSDLをベースとした新しいWSDLリソースが、Composerナビゲーションフレームのインスタンスペインに表示されます (WSDLはこの時点でディスクにも保存されます)。

 
Top of section

WSDLのスタイル形式のビューの取得

デフォルトでは、WSDLリソースをはじめて開くと、ドキュメントは構文に色が付けられたテキスト編集ビューで表示されます。ドキュメントにXSLスタイルシートを適用して作成した、WSDLドキュメントのスタイル形式のビューを表示することもできます。

Procedure WSDLドキュメントのスタイル形式のビューを表示する

  1. WSDLリソースを開きます。

  2. WSDLエディタペインで右クリックして、コンテキストメニューから[表示]>[スタイル形式]の順に選択します。しばらくすると、スタイル形式のビューに切り替わります。

    9WSDLSummaryStyledView

    ここでは、要約スタイルシートがドキュメントに適用されています。希望する場合は、代わりにカスタムスタイルシートを適用できます(次の手順を参照)。

Procedure スタイル形式のビューのカスタムスタイルシートを選択する

  1. スタイル形式のフォームにWSDLドキュメントがすでに表示された状態で、ペイン内を右クリックします。コンテキストメニューが表示されます。 [スタイルシートの選択]をクリックします。

    9WSDLStyleMenu

    次のダイアログボックスが表示されます。

    9WSDLCustomStyle

  2. スタイル形式のビューの基礎として、既存の標準スタイルシート([詳細]または[概要])のいずれかを選択する場合は、[システム]ラジオボタンをオンにします。

  3. それ以外の場合は、[カスタム]ラジオボタンをオンにして、選択したスタイルシートへのパスを入力します(または、[参照]ボタンを使用して、標準のファイルのナビゲーションダイアログボックスを表示します)。 パスがURL形式であれば、「http://」、「https://」、あるいは「ftp://」という文字列を明示してください。

  4. スタイル形式のビューで選択したスタイルシートをデフォルトとして適用する場合は、[デフォルトに設定]チェックボックスをオンにします。この設定は、Composerセッション全体で適用されます。

 
Top of section

WSDLドキュメントへの 要素の追加

ComposerにはWSDLの自動生成機能がありますが、WSDL要素を手で編集(または作成)しなければならない場合もあります。 ComposerのWSDLエディタ(XMLエディタのWSDL対応版)を使えば、一般的なテキストエディタ同じように、テキストの挿入や切り取り、貼り付けの操作ができます。標準のWSDLドキュメント要素を簡単にすばやく作成できるよう設計された特別なコンテキスト機能を利用することもできます。

WSDLドキュメントには少なくとも次の4つの標準要素タイプがあります(直接保持する場合とインポートする場合があります)。 すなわち、「message」、「portType」、「binding」、および「service」です。 これらの要素は、カスケーディング参照を使用して相互に構成されているため、ダイアログボックスを使用しないでWSDLファイルを作成する際には、「message」セクションを最初に作成してから、「portType」セクション、「binding」セクションの順に作成し、最後に「service」セクションを作成することをお勧めします。WSDLエディタでは、ダイアログボックスベースでこれら4つのタイプを個々に作成できます。

メッセージ要素の追加

WSDLでは、メッセージとは交換されるデータの抽象的な、型定義です。ランタイム時には、実際のメッセージはDOMとして表されます。

Procedure 新しいメッセージ要素を作成する

  1. WSDLリソースが開いていない場合は、WSDLリソースを開きます。

  2. WSDLドキュメントがテキストビューモードになっていることを確認してください。 (ドキュメント内を右クリックし、[表示]>[テキスト形式]の順に選択します)。

  3. テキストビューペイン内でマウスを右クリックします。コンテキストメニューが表示されます。

    9WSDLContextMenuMessage

  4. [WSDL要素の挿入]>[メッセージ]の順に選択します。 . .[新規メッセージの挿入]ダイアログが表示されます。

    9WSDLInsertMessage

  5. [追加]ボタンをクリックして、[パート]テーブルに空白の行を追加します。

  6. [名前]テキストフィールドに、メイン<message>要素のname属性の値を入力します。

  7. [マニュアル]フィールドに、定義要素に関連付ける読みやすいコメントまたは記述言語を入力します(オプション)。

  8. [パート]で、[名前]カラムに、メッセージセクションの最初の<part>要素に対するname属性を入力します。

  9. プルダウンメニューから[入力中]の値に[要素]または[タイプ]を選択します。

  10. [値]で、このパートのelement値を入力します。

  11. [追加]ボタンをクリックして、このメッセージへの別のパートエントリを追加します。

  12. エントリを削除するには、最初にエントリをクリックして該当する行を選択してから、[削除]ボタンをクリックしてそのエントリを削除します。

  13. [OK]をクリックします。ダイアログボックスが閉じ、ドキュメントに新しいセクションが追加されます。

      <message name="GetLastTradePriceOutput">
      	      <part name="body" element="xsd1:TradePriceResult"/>
      </message>
    

ポートタイプ要素の追加

WSDLポートタイプは、サービスおよびサービスで使用される通信モード(一方向、要求-応答など)によってサポートされた操作の抽象的な定義です。

Procedure WSDLドキュメントに新しいポートタイプを追加する

  1. エディタのテキストビューペインにマウスを合わせ、マウスを右クリックします。コンテキストメニューが表示されます。

  2. [挿入]>[ポートタイプ]の順に選択します。 . .[新規ポートタイプの挿入]ダイアログが表示されます。

    9WSDLInsertPortType

  3. [追加]ボタンをクリックして、[パート]テーブルに空白の行を追加します。

  4. [名前]フィールドに、作成している<portType>要素のname属性の値を入力します。

  5. [マニュアル]フィールドに、定義要素に関連付ける読みやすいコメントまたは記述言語を入力します(オプション)。

  6. [操作]で、この操作の「名前」を入力します。

  7. [タイプ]カラムで、プルダウンメニューから[一方向]、[Request-Response]、[送信請求-応答]、または[通知]を適宜選択します。

  8. [フォーマット]で、入力メッセージおよび出力メッセージを入力するか、操作の編集ダイアログボックスを使用して適切なメッセージを作成します。 操作の編集ダイアログボックスを開くには、行の最後で[設定...]ボタンをクリックします。 . .新しいダイアログボックスが開きます。 新しいダイアログボックスが表示されます。

    9WSDLEditOperation

  9. 操作の編集ダイアログボックスには、複数のコントロールグループがあります。該当する操作(要求-応答、依頼-応答など)に適切なコントロールのみが、有効になります。たとえば、前の手順6で[タイプ]カラムから[通知]を選択した場合、出力コントロールグループのみが有効になります。有効になった各グループでは、操作に適切な[名前]および[メッセージ]が、[入力]および[出力]に対して必要となります。ただし、[障害]グループは、必須ではなくオプションです。

  10. [OK]をクリックして、操作の編集ダイアログボックスを閉じます。

  11. [追加]をクリックして、現在のポートタイプセクションにさらに操作を追加します。

  12. 操作を削除するには、削除する操作を選択してから、[削除]ボタンをクリックします。

  13. [OK]をクリックして、新しいポートタイプの挿入ダイアログボックスを閉じます。WSDLドキュメントに新しいセクションが追加されます。

      <portType name="StockQuotePortType">
          <operation name="GetTradePrice">
              <input name="input" message="tns:GetLastTradePriceInput"/>
              <output name="output" message="tns:GetLastTradePriceOutput"/>
          </operation>
      </portType>
    

バインド要素の追加

バインドでは、特定のポートタイプによって定義された操作とメッセージに対する具体的なプロトコルおよびデータ形式の仕様が指定されます。

Procedure WSDLドキュメントに新しいバインドを追加する

  1. エディタのテキストビューペインにマウスを合わせ、マウスを右クリックします。コンテキストメニューが表示されます。

  2. [挿入]>[バインド...]の順に選択して、 . .新しいバインドの挿入ダイアログボックスを表示します。

    9WSDLInsertBinding

  3. [名前]フィールドに、作成している<binding>要素のname属性の値を入力します。

  4. [マニュアル]フィールドに、定義要素に関連付ける読みやすいコメントまたは記述言語を入力します(オプション)。

  5. [ポートタイプ]の横にあるプルダウンメニューを使用して、このバインドに対する適切なポートタイプを選択します。プルダウンメニューには、このドキュメントに対してこれまでに作成した(該当する場合)ポートタイプの名前が含まれます(前のポートタイプ要素の追加を参照)。

  6. WSDLドキュメントでSOAPバインドを指定する場合、[SOAPバインド]チェックボックスをオンにしてから、[スタイル]のプルダウンメニューで[RPC]または[ドキュメント]を選択して、[トランスポート]に値を入力します(または、デフォルト値を受け入れます)。

  7. HTTPバインドを使用する場合は、[HTTPバインド]チェックボックスをオンにして、[バーブ]に適切な動詞([GET]または[POST])を入力します。

  8. [OK]をクリックして、ダイアログボックスを閉じます。WSDLドキュメントに新しいバインドセクションが追加されます。

      <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
          <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
          <operation name="GetLastTradePrice">
              <soap:operation soapAction="http://example.com/GetLastTradePrice"/>
              <input>
                  <soap:body use="literal" namespace="http://example.com/stockquote.xsd
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
              </input>
              <output>
                  <soap:body use="literal" namespace="http://example.com/stockquote.xsd"
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
              </output>
          </operation>
      </binding>
    

サービス要素の追加

サービス要素では、該当するサービスのエントリポイントアドレス(複数可)を命名します。これらのアドレスは、URIの形式で、「ポート」を構成します。

Procedure WSDLドキュメントに新しいサービスを追加する

  1. エディタのテキストビューペインにマウスを合わせ、マウスを右クリックします。コンテキストメニューが表示されます。

  2. [挿入]>[サービス...]の順に選択して、 . .新しいサービスの挿入ダイアログボックスを表示します。

  3. [追加]ボタンをクリックして、サービステーブルに空白の行を追加します。

    9WSDLInsertService

  4. [名前]フィールドに、作成している<service>要素のname属性の値を入力します。

  5. [マニュアル]フィールドに、このサービス要素に関連付ける読みやすいコメントまたは記述言語を入力します(オプション)。

  6. [ポート]セクションの[名前]で、この<port>要素の名前を入力します。

  7. [バインド]カラムで、プルダウンメニューから既存のバインドを選択します。[バインド]セクションには、このドキュメントに対してすでに作成されている(該当する場合)使用可能なバインドが反映されます。

  8. [アドレスタイプ]カラムで、プルダウンメニューを使用して[なし]、[SOAP]、または[HTTP]を適宜指定します。

  9. [位置]で、サービスが開始するURIを入力します。

  10. [追加]をクリックして、サービスにさらに行(追加のポートエントリ)を追加します。

  11. エントリを削除するには、エントリを選択してから、[削除]ボタンをクリックします。

  12. [OK]をクリックして、ダイアログボックスを閉じます。WSDLドキュメントに新しいサービスエントリが追加されます。

      <service name="StockQuoteService"> 
          <port name="StockQuotePort" binding="tns:StockQuoteBinding">         <soap:address location="http://example.com/stockquote"/> 
          </port> 
      </service> 
    

 
Top of section

WSDLエディタの先読み(コード補完)機能

WSDLエディタには、<記号(つまり要素タグの開始)を入力すると有効になる「スマート先読み入力」機能が組み込まれています。コンテキストメニューが自動的に表示され、ファイルで指定したスキーマ、およびドキュメントの場所に基づき、使用できるタグ名の選択肢が表示されます。

たとえば、手動でWSDLドキュメントを作成しており、ドキュメントの上部に近づいた場合、「<」を入力するとカーソルの場所にメニューが開き、次の選択肢が表示されます。

9WSDLTypeAhead

このメニューの要素名は、WSDLでの有効なタグ名に対応していることにご注意ください。 メニュー項目を選択するには、単純にダブルクリックします。

メニューの選択肢は、状況依存型です。つまり、要素ツリー内の深い階層で、<記号を入力した場合、先読み入力メニューに表示される選択肢は、入力しているXPathコンテキストで有効となる値に制限されます。 たとえば、WSDLファイルの任意の場所にある<documentation>ノード内で、「<」を入力した場合、この時点で作成できる唯一有効なタグは、終了タグとなるため、</documentation>という選択肢が1つだけ表示された先読み入力メニューが開きます (WSDLスキーマでは、documentation要素内に子要素を置くことはできません)。

もちろん、常に先読み入力メニューは無視して、状況に応じて任意の項目を入力することはできます。たとえば、コメントは入力できます。

注記:   先読み入力のヒントは、ドキュメントに適用されるスキーマに基づきます。 明らかに、ドキュメントでネームスペースまたはスキーマが指定されない場合、エディタで有効なタグの選択肢を「認識」する方法はなく、先読み入力メニューは表示されません。

 
Top of section

WSDLドキュメントの検証

WSDLドキュメントが開いており、コンテンツがエディタに表示されている場合、テキスト形式表示に切り替え、WSDLドキュメントウィンドウの左上隅にある小さな緑色のチェックマークのアイコンをクリックして、WSDLドキュメントを検証できます。ドキュメントが正常に検証されると、ダイアログボックスが表示されます(次を参照)。

9DocIsValid

それ以外の場合は、エラーが表示され、ドキュメントの不正なステートメントを特定する情報が示されます。

注記:   ドキュメントの検証が正常に行われた場合でも、慎重にWSDLを確認する必要があります。W3C WSDL仕様では、WSDLドキュメントのすべてのレベルで拡張要素が許可されています。 そのため、ダイアログボックスを使用せずにドキュメントを作成したり、他のソースから大幅に切り取り、貼り付けを行った場合、ドキュメントは有効としてテストされますが、必ずしも希望に添わない場合があります。

 
Top of page

WSIL リソースについて

WSIL (Web Services Inspection Language)とは、Webサービスの検出支援機能、および検出に関連する情報の公開に関する仕様です。 以前の標準規格であるUDDI (Universal Description, Discovery and Integration)よりも軽量で、可搬性の高い仕様を目指して設計されました。守備範囲もUDDIより広くなっています。 標準化団体のひとつ(W3CおよびOASIS)に提出されたばかりの段階ですが、徐々に普及が進んでいます。 WSILの仕様についてはhttp://www-106.ibm.com/developerworks/webservices/library/ws-wsilspec.htmlを参照してください。

WSILもWSDLと同じように、XMLで記述されます。 ただしその目的は、サービスの記述ではなく情報の公開です。 すなわち、Webサービスを容易に検出できるよう支援するしくみということです。

WSILリソースを生成するには2つの方法があります。 1つ目は既存の外部ファイルからWSILを取得する方法です。 2つ目は、ComposerのWSILウィザードおよびXMLエディタを使ってWSILドキュメントを作成する方法です。 ウィザードで生成されるのは、空の<service>要素および<description>要素から成るスタブファイルです。これを元に、値を埋めてWSILドキュメントを作成することになります。

Procedure 既存のファイルを元にWSIL リソースを生成する

  1. [ファイル]メニューから、[新規]>[xObject]の順に選択します。 [リソース]タブに切り替え、[WSIL]を選択します。

    カテゴリペインで「WSILリソース」アイコンを右クリックし、[新規]を選択します

    いずれの場合も、WSILリソースウィザードの最初のペインが現れます。

    9WSILResource

  2. 既存の外部ファイルを元にWSILリソースを作成する場合は、その完全修飾URLを入力するか、[参照]ボタンをクリックし、ローカルハードディスク上またはネットワーク上のファイルを指定します。

  3. [完了]ボタンをクリックすると、XMLコンテンツエディタに、WSILファイルが開きます(下の図を参照)。

Procedure WSILリソースを手で記述する

  1. [ファイル]メニューから、[新規]>[xObject]の順に選択します。 [リソース]タブに切り替え、[WSIL]を選択します。

    カテゴリペインで「WSILリソース」アイコンを右クリックし、[新規]を選択します

  2. [Composerエディタを使用して作成する]を選択します。

    9WSILResourceName

  3. リソースの「名前」を入力します。

  4. オプションとして、説明情報を入力します。

  5. [完了]をクリックします。 コンテンツエディタ画面が開きます。ここでWSILを記述してください。

次の図は、XMLコンテンツエディタペインにWSILリソースが開かれている様子を示します。

9WSILeditor

WSDLドキュメントと同様、コンテンツエディタ内を右クリックして[表示]> [テキスト形式]の順に選択すると、WSILドキュメントがテキスト形式で表示されます。ノード名を含め、この画面で自由に編集できます。 同様に、[表示]> [スタイル形式]の順に選択すると、WSILをスタイル形式のビューで表示できます。 補完機能や検証機能(既述)は、WSILドキュメントの編集でも使えます。

 
Top of page

XMLリソースについて

Composerでは、個々のXMLファイルを「リソース」(xObject)として扱うことができます。 あるファイルをXMLリソースとして指定すると、プロジェクト階層の\xml_resourceというフォルダに、そのファイルがコピーされます。 このファイルは展開JARに(上記のコンテキストで)パッケージ化されます。したがって、たとえばJSPの中から、href属性に相対URLを指定することにより参照できます。 XMLリソースドキュメントを、コンポーネントのアクションモデルからアクセスすることも少なくありません。リソースアクション(先の章で既述、詳しくは後述)を使って、ドキュメントをInputまたはTempメッセージパート(DOM)に取り込みます。

 
Top of section

XMLテンプレートとXMLリソースの違い

XMLリソースは、XMLテンプレートドキュメントは違うものです。 XMLテンプレートは、単なる設計の補助(ヒント)に過ぎません。あるタイプのドキュメントの「スクラッチコピー」として使います。また、これをベースとしてスキーマを記述することもあります。 テンプレートドキュメント内のインスタンスデータは、設計時にのみ使います。実稼動時には不可視になります。 テンプレートドキュメントが実稼動時に、データソースとして使われることはありません。

一方XMLリソースは、静的な(実行時に変化しない)各種のインスタンスデータを記述するデータストアとして、実稼動時にも使います。 具体的には、法定事項(著作権、免責、保証など)の記述、コンポーネントの実行中に通知を送る相手先のユーザ名やアドレス、階層構造になった検索テーブル(あるいは、コードテーブルリソースでは複雑すぎて扱えないが、RDBMSで管理するほどではなく、かえってオーバーヘッドがかかってしまうようなデータ)、あるいは複数のサービスで必要な共通データなどがあります。

データセットがそれほど大きなものでなければ、関係データベースよりもXMLリソースとして管理した方が、性能の点で優っていることもあります。

この意味でXMLリソースは、軽量の構造化データストア、すなわち、静的(読み込み専用)データを階層構造にして管理する、使いやすい「入れ物」と考えるとよいでしょう。

Procedure XMLリソースを作成する

  1. Composerのナビゲーションフレームで、[リソース]カテゴリの[XML]を右クリックし、コンテキストメニュー(下の図を参照)から[新規]を選択します。あるいは、[ファイル]メニューから[新規]>[xObject]の順に選択しても同様です。[リソース]タブから[XML]を選択し、[OK]ボタンを押します。

    9XMLResource1

  2. 次のようなダイアログが現れます。2つのラジオボタンのうちいずれかを選んでください。

    9XMLResource2

    9XMLResource3

    ここでリソースの[名前](および、必要ならば説明文)を入力します。

  3. [完了]をクリックしてダイアログボックスを終了します。 新しいXMLリソースがComposerナビゲーションフレームのインスタンスペインに追加され、ファイル自身はエディタペインにツリー構造で表示されます。

 
Top of section

XMLリソースのインポート

他のタイプのリソース(イメージ、JSP、およびJARなど)と違い、XMLリソースのxObjectメタデータは、独立したファイルにはなっていません。 したがって、「インポート」できるXMLリソースは、他のComposerプロジェクトのxObjectに限りません。 XMLファイルを直接インポートすることも可能です(プロジェクトフォルダ階層の、\xml_resourceというフォルダにインポートされます)。 言い替えると、リソースおよび対応するデータファイルは、同じものです。 そのため、以下に示す手順は前節までの説明と多少異なりますが、最終的には同じ結果になります。

Procedure XMLリソースをインポートする

  1. (他のリソースの場合と同様に、ナビゲータペインで、)[リソース]カテゴリの[XML]を右クリックし、コンテキストメニューから[インポート]を選択します。

  2. [インポート]ダイアログが表示されます (ダイアログの説明および画面例は、この章の他のプロジェクトからイメージリソースをインポートするを参照)。 インポートするXMLファイルのファイル名またはURIを入力するか、または[参照]ボタンを押し、ファイルを検索します。

  3. [完了]をクリックします。 インポートされたXMLファイルが、ナビゲーションフレームのインスタンスペインに追加されます。ただし、自動的にエディタペインに開かれることはありません (編集したい場合は、XMLリソースインスタンスペインで該当するファイル名の箇所をダブルクリックするか、または右クリックし、コンテキストメニューから[開く]を選択します)。

 
Top of section

コンポーネントでXMLリソースにアクセスする手順

XMLリソースをパート(DOM)に、実行時にロードするには、Composerリソースアクションタイプを使います。 ドキュメントおよびそのデータは、他のドキュメントと同様、XPathまたはECMAScriptでアクセスします。 ノードを他のパートにマップする、ある要素から選択的にデータを取得する、あるいはドキュメント全体を出力にマップする、といった操作が可能です。 もちろん、XMLリソースドキュメントは、(読み込み専用の)静的リソースであることを忘れないでください。 XPathまたはECMAScriptを指定してXMLリソースを修正または上書きすれば、実際に変更されたように見えますが、当該コンポーネントインスタンスの処理が終了すると元に戻ってしまいます。 つまり、変更は一時的なものに過ぎず、次にコンポーネントやサービスを起動する時まで保存しておくことはできないのです。

Procedure XMLリソースドキュメントをパートにロードする

  1. アクションモデル上、XMLリソースをロードしたい箇所を右クリックします。 コンテキストメニューから、[新規アクション]>[データ交換]>[Composerリソース]の順に選択します。次の図を参照してください。

    8ComposerResourceAction1

  2. すると現れるダイアログで、[リソース]プルダウンメニューからXMLを選択します(次の図を参照してください)。

    8ComposerResourceAction2

  3. [リソース名]プルダウンメニューから、コンポーネントにインポートしようとする(既存の) XMLリソースを選択します (現行プロジェクトに存在するXMLリソース名がすべて列挙されています)。

  4. [ターゲット]グループで、[XPath]または[式]のいずれかのラジオボタンを選択します。 インポート先XMLリソースDOMを指定します。

    注記:   XMLリソースドキュメントは、既存のDOMの、どのノードにでも割り当てることができます。 一時パートに割り当てたい場合は、あらかじめ一時パートを作成しておく必要があります。まだならば、[ファイル]メニューから[プロパティ]>[メッセージ]の順に選択し、コンポーネントに一時パートを追加します。

  5. (必要な場合) アクションの動作をすぐに確認したい場合は、[適用]ボタンをクリックします。 XMLリソースが、指定したターゲットDOMの、所定の箇所に追加されるはずです。

  6. [OK]をクリックして、ダイアログボックスを閉じます。 新しいComposerリソースアクションが、アクションモデルに追加されます。この時点以降、XMLリソースドキュメントのノードから(あるいはノードに)マップできるようになります。

 
Top of page

XSDリソースについて

XMLスキーマ定義ファイル(XSD)は、さまざまなコンポーネント、サービス、およびComposerプロジェクトによって再使用でき、またXMLスキーマ定義ファイルを使用するすべてのプロジェクトやコンポーネントに一度に再度インポートせずに編集、変更できるよう、専用のリソースタイプで指定されます。

XSDリソースを作成し、プロジェクトで使う手順は2とおりあります。

両方の場合について順番に説明します。

 
Top of section

Composerのスキーマジェネレータを使う方法

既存のXMLサンプルドキュメントを元に、スキーマ(XSDリソースおよび対応する.xsdファイル)を自動生成することができます。 その手順を以下に示します。

Procedure 既存のXMLドキュメントを元にスキーマ(XSD)リソースを生成する

  1. XMLドキュメントを既存のXMLテンプレートに追加するか、またはXMLサンプルドキュメントを元に、新しくXMLテンプレートを作成します。

  2. サンプルドキュメントを含むXMLテンプレートを開きます (Composerのエクスプローラフレームで、テンプレートインスタンス名の箇所を右クリックし、コンテキストメニューから[開く...]を選択します)。

  3. サンプルドキュメントが、ドキュメントウィンドウにツリー形式で表示されているはずです (テキスト形式であれば、エディタペインを右クリックし、コンテキストメニューから[表示]>[ツリー形式]の順に選択します)。

  4. ツリー形式のドキュメント内で右クリックして、コンテキストメニューを開きます。

    9SchemaGenerator

  5. メニューから[スキーマの作成]を選択します。 ダイアログボックスが表示されます。

    9CreateScehma

  6. 新しいスキーマリソースの[名前]を入力します。

  7. [OK]をクリックします。 インスタンスペインのXSDリソースカテゴリ以下に、新しいリソースが追加されています。

注記:   このスキーマを基準にサンプルを検証する際は、適切なネームスペースプリフィクスを追加するなど、サンプルドキュメントを編集する必要があるかも知れません。

 
Top of section

XSDリソースウィザードの使い方

既存の.xsdファイルを元にXSDリソースを生成する手順を以下に示します。

Procedure 既存の.xsdファイルを元に、リソースウィザードを使ってスキーマ(XSD)リソースを追加する

  1. Composerの[ファイル]メニューから、[新規]>[xObject]の順に選択し、次いで[リソース]タブから[XMLスキーマ]を選択します (あるいはカテゴリペインでXMLスキーマリソースを右クリックし、[新規]を選択します)。XMLスキーマリソースウィザードの最初のペインが表示されます。

    9Schema01

  2. 外部ファイルを元にスキーマを作成する場合は、[既存の外部ファイルから作成する]チェックボックスをオンにし、インポートするファイル名またはURLを入力します。 [参照]ボタンを押し、ディスク上またはネットワーク上のファイルを検索しても構いません。

  3. Composerエディタでスキーマを作成する場合は、[Composerエディタを使用して作成する]チェックボックスをオンにします。

  4. [完了]をクリックします。 既存ファイルをインポートした場合は、Composerのコンポーネントエディタが開きます。 スキーマ定義を手で入力する場合は、Composerのコンテンツウィンドウで作成します。

  5. いずれの場合も、XMLスキーマリソースが、インスタンスペインに追加されます。

  6. オプションとして、コンテンツペインを右クリックし[表示形式]>[テキスト]の順に選択して、XMLエディタに移動します。

 
Top of page

XSL リソースについて

XSLリソースを使えば、XSLスタイルシートをプロジェクトの展開JARにパッケージ化することができます。 XSLスタイルシートを他のドキュメントから相対URLで参照する、あるいはXSLリソースをダイナミックにDOMにロードすることができます。詳しくはコンポーネントでXMLリソースにアクセスする手順を参照してください。

 
Top of section

XSLリソースの作成

Procedure XSLリソースを作成する

  1. Composerのナビゲーションフレームで、[リソース]カテゴリの[XSL]を右クリックし、コンテキストメニュー(下の図を参照)から[新規]を選択します。あるいは、[ファイル]メニューから[新規]>[xObject]の順に選択しても同様です。[リソース]タブから[XML]を選択し、[OK]ボタンを押します。

    9XSL1

  2. すると次のようなダイアログが現れます。2つのラジオボタンのうちいずれかを選んでください。

    9XSL2

    9XSL3

    ここでリソースの[名前](および、必要ならば説明文)を入力します。

  3. [完了]をクリックしてダイアログボックスを終了します。 新しいXSLリソースがComposerナビゲーションフレームのインスタンスペインに追加され、ファイル自身はエディタペインにテキスト表示されます。

 
Top of section

XSLリソースのインポート

他のタイプのリソース(イメージ、JSP、およびJARなど)と違い、XSLリソースのxObjectメタデータは、独立したファイルにはなっていません。 したがって、「インポート」できるXSLリソースは、他のComposerプロジェクトのxObjectに限りません。 XSLファイルを直接インポートすることも可能です(プロジェクトフォルダ階層の、\xslというフォルダにインポートされます)。 言い替えると、リソースおよび対応するデータファイルは、実は同じものなのです。 そのため、以下に示す手順は前節までの説明と多少異なりますが、最終的には同じ結果になります。

Procedure XSLリソースをインポートする

  1. (他のリソースの場合と同様に、ナビゲータペインで、)[リソース]カテゴリの[XSL]を右クリックし、コンテキストメニューから[インポート]を選択します。

  2. [インポート]ダイアログが表示されます。 (ダイアログの説明および画面例は、この章の他のプロジェクトからイメージリソースをインポートするを参照)。 インポートするXSLファイルのファイル名またはURIを入力するか、または[参照]ボタンを押し、ファイルを検索します。

  3. [完了]をクリックします。 インポートされたXSLファイルが、ナビゲーションフレームのインスタンスペインに追加されます。ただし、自動的にエディタペインに開かれることはありません。 (編集したい場合は、XSLリソースインスタンスペインで該当するファイル名の箇所をダブルクリックするか、または右クリックし、コンテキストメニューから[開く]を選択します)。



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...