第15章

プロジェクトの展開

プロジェクトの設計、作成、およびテストを完了したら、次のステップではプロジェクトを実行するアプリケーションサーバに展開します。 Novell exteNd (Professional Edition、Enterprise Editionとも)には、Composerプロジェクトを展開するためのツールがあります。 Professional Editionの場合、exteNd Directorを使って展開します。 一方Enterprise Editionには、これ以外にも、Composerから対応アプリケーションサーバ(Novell exteNd、WebSphere、WebLogic、Tomcat)に、直接プロジェクトを展開する機能があります。Directorのパッケージ化機能は使う必要がありません。

この章では次のような事項を解説します。

アプリケーションサーバの管理その他については、 『Composer Enterprise Serverユーザガイド』を参照してください。 この章では解説していない事項については、この資料を参考にしてください。

注記:   ここではJ2EE展開に関して基本的な知識があるものとして解説します。JAR (Java Archive)、WAR (Web Archive)、およびEAR (Enterprise Application Archive)のパッケージ化、展開記述子などといった事項です。必要に応じて、J2EE展開アーキテクチャに関する文献を参照してください。

 
Top of page

展開の計画

Composerサービスを展開する前に、次の事項を検討する必要があります。

これらの事項は、Composerで作成したサービスの展開手順にも影響します。 サービスのタイプによっては、接続プール、コンテナベースのトランザクション管理、パスワードや公開キー情報のディレクトリ管理などについても検討する必要があります。

 
Top of page

サービストリガについて

サービストリガとは、ある入力に応じてComposerサービスを起動するプロセス(サーブレット、Beanなど)のことです。 入力は、HTTP経由で受け取るか、SMTPを介して電子メールで受け取るか、JMSメッセージの形でキューに届けることができます。 受け付ける要求の種類、経由する伝送路により、さまざまなComposerトリガがあります トリガはComposerで作成するほか、exteNd Directorのコードウィザードで生成することもできます。

Composerは次のようなトリガを扱うことができます。

これらの「イベント駆動」トリガのほか、カスタムJavaクラスからComposerサービスを直接呼び出すこともできます。 Novell exteNd Directorには、必要なコードを生成するウィザードがあります (「Director JSPウィザード」および「Javaクラスウィザード」を参照)。

 
Top of section

トリガと入力データ

他のプロセスとの関係で、トリガには2つの役割があります。 所定のイヴェント(HTTP要求、電子メールの到着など)を監視(listen)して対応する処理を行う、という役割に加え、XMLデータを取得または作成し、入力データとして適切にComposerサービスに渡さなければならないのです。 トリガはそのために、所定の経路からデータを収集し、Composerで扱える形式にパッケージ化する方法を知っている必要があります。 Composer Serverにはさまざまなヘルパクラスがあって、トリガサーブレットで適切にデータをマーシャリングすることができます。ヘルパクラスはComposer Serverのインストール時に組み込まれます (詳しくは付録の「コンバータクラス」にある、JSPタグライブラリのメソッドに関する解説を参照)。

サーブレットは、たとえばHTTP GETまたはHTTP POSTの一部として、データを取得することができます。 ごく簡単なやり方としては、URLの末尾に付加された名前と値の組を、ユーザデータとして扱う方法があります(HTTP GETの場合)。 ただし、これ以外にも、SOAP要求、HTTP POST上のXML(フォームフィールドにXMLを埋め込み、ストリームデータとしてXMLを転送、またはマルチパートMIME形式で添付)など、さまざまな方法があります。 また、電子メールが届くと起動するトリガも定義できます。 この場合、XMLは電子メールに添付される形で届きます。

以下の説明では、Composerで使える基本的なトリガについて習熟しているものとして解説します。 必要に応じ、『Composer Enterprise Serverユーザガイド』の、トリガアーキテクチャに関する解説を参照してください。

 
Top of page

Composerで生成できる展開EARについて

展開に当たっては、プロジェクト内のサービスをすべて、EAR (Enterprise application archive)としてパッケージ化します。 これを「展開EAR」と呼びます。 展開EARは次のような構成になっています。

EARContents

Composerから直接展開する場合は、自動的に次のような処理が次の順序で行われます。

  1. サービスを記述したメタデータ(XML)をはじめ、展開するリソースをプロジェクトJARにパッケージ化します。 このJARファイルを、ステージングディレクトリ(一般にはプロジェクトディレクトリ以下のサブディレクトリ)に格納します。次に挙げるファイルもやはりこのディレクトリに格納することになります。

  2. WARファイルを作成します。 ここには、前記のJARファイルを指すマニフェストと、サービス(およびそのURLバインド)に適用されるトリガサーブレットをすべて記述したweb-xmlファイルの、2つをパッケージ化します。アプリケーションサーバはこの記述に従ってサービスを公開することになります。

  3. JARおよびWARファイルを、展開EARとしてパッケージ化します。

  4. EARをステージングディレクトリからアプリケーションサーバに転送します。

最後の転送処理は、展開先アプリケーションサーバの種類(およびバージョン)によって、具体的な手順が異なります。 EAR(および展開記述子)をアプリケーションサーバに転送するための手順を記述した、バッチファイルを自動生成することもあります。 また、Composer Enterprise Server側が主導する形で、展開EARを転送させる場合もあります。 どちらの場合も、ステップ4でウェブブラウザが起動されます。ユーザID、パスワードその他、展開に必要な情報を入力してください。

EARの展開後、サーバを再起動しなければならない場合もあります(アプリケーションサーバによって異なるので、該当マニュアルを参照してください)。

注記:   展開する前に、アプリケーションサーバとComposer Enterprise Serverを起動しておく必要があります。

 
Top of page

展開の手順

展開EARを作成、展開する手順には、次のように何種類かあります。

ひとつ目は、Composerの設計画面から、あるプロジェクトの展開オブジェクトを自動的にインストールする方法です (Composerのスタンドアローン版、またはexteNd Suite Enterprise Editionのいずれかが必要です。 Professional Editionではこの方法は使えません)。 Composerで作成したWebアプリケーションを展開する、最も手軽な方法です。

2つ目の方法は、exteNd Directorのユーティリティツール画面を使い、展開EARを作成またはカスタマイズ、あるいはその両方を行うというものです。 この方法は、大きな展開ファイルの一部として、ポータルコンポーネントなどほかのJavaオブジェクトとComposerプロジェクトをEARファイルにまとめる必要がある場合に便利です。

3つ目は、JAR、WAR、またはEAR、あるいはこれらすべてを手で(またはサードパーティ製ツールで)作成し、展開も手で行うという方法です。具体的な手順は、アプリケーションサーバの推奨手順に従います。 展開に当たって特別な措置が必要な場合にのみ、この方法を検討してください。

次に最初の2つの方法について詳しく解説します。最初はComposerの設計画面から展開する方法です。

 
Top of page

Composerから直接展開する手順

Enterprise EditionのComposerがあれば、ここから直接プロジェクトを展開できます (Professional Editionにはこの機能がありません。 次の「exteNd Directorからの展開作業」まで読み飛ばしてください)。

Composerの設計環境からプロジェクトを展開する手順を大雑把にまとめると、次のようになります。

  1. サーバプロファイルの作成

  2. 展開オブジェクトの作成

  3. Webサービスのサービストリガおよびリソースを設定

  4. 展開用オブジェクトの準備

  5. サーバにEARを展開

 
Top of section

サーバプロファイル

サーバプロファイルには、展開先サーバおよび当該サーバに特有の情報を定義します。 Composerプロジェクトをアプリケーションサーバに展開する際には必須です (Tomcat、Novell exteNd App Server、WebSphereWebLogicなど、アプリケーションサーバのタイプには依存しません)。

注記:   サーバプロファイルは、プロジェクトごとに用意するリソースではありません。 初期設定ファイルに保存しておけば、DirectorやComposerの、どのプロジェクトでも同じものが使えます。

作成に先立ち、展開先アプリケーションサーバ、exteNd Composer Enterprise Server (および必要な接続製品)が稼動していることを確認してください。

Procedure サーバプロファイルを作成する

  1. Composerの[ツール]メニューから[プロファイル]を選択します。

  2. [プロファイル]ダイアログボックスで[サーバ]タブを選択します。

    15ServerProf1

  3. [新規...]ボタンをクリックして、サーバプロファイルを作成します。 次のようなダイアログが表示されます。

    15ServerProf2

  4. [プロファイル名]を指定します。 この名前は、プロジェクトを展開する際、プロファイルを識別するために使います。

  5. ドロップダウンリストから[サーバタイプ]を選択します。 選択肢として次のようなものがあります。

    [サーバ固有の情報]グループのフィールド構成は、ここで選択したサーバタイプによって変わります。

  6. [サーバ名]の指定は、サーバタイプにかかわらず必須です。 上の例ではlocalhost:80と入力されています。これはローカルにインストールされたexteNd Application Serverを表します。

  7. サーバが認証を要求する場合は、[ユーザ名]および[パスワード]を入力します。

  8. 必要に応じ、[このサーバプロファイルをこのプロジェクトのデフォルトとして使用]チェックボックスをオンにします。

  9. [OK]をクリックすると、新しいサーバプロファイルが作成されます。

注記:   既存のサーバプロファイルを修正したい場合は、[ツール]メニューの[プロファイル]を選択し、[サーバ]タブに切り替えます。 変更したいプロファイルを選択し、[編集]ボタンをクリックします。 同様に、サーバプロファイルを削除したい場合は、[削除]ボタンをクリックします。

 
Top of section

xObjectの展開

サービス、コンポーネント、およびリソースなどといった展開オブジェクトも、Composer xObjectの一種です。 展開に関するメタデータが含まれており、 どのようなサービストリガを作成し、どのようなりソースを展開するかという情報を記述します。

注記:    この節で説明する事項は、Professional Editionには当てはまりません。 xObjectの展開は、Enterprise EditionのComposerでのみ可能です。 Professional Editorを使っている場合は、Director環境で展開生成物を作成、管理してください。 詳しくは「exteNd Directorからの展開作業」を参照してください。

展開オブジェクトも他のxObjectと同様、Composerのナビゲータペインで操作できます。

15DeployNavPane

展開xObjectの作成は、他のxObjectを作成する場合と同様のウィザードで進めることができます。

Procedure 展開オブジェクトを作成する

  1. ナビゲータツリーの[展開]上で右クリックし、[新規]をクリックします (または[ファイル]メニューから[新規]>[xObject]の順に選択し、コンポーネントパネルで[展開]を選択します)。

  2. 新規展開ウィザードの最初の画面が表示されます。

    15Deploy1

  3. 展開オブジェクトの[名前]を指定します。

  4. 必要に応じ、[説明]を入力します。

  5. [次へ]ボタンをクリックして次に進みます。

    15Deploy2

  6. [展開オブジェクトの名前]を指定します(初期状態では、前の画面で入力した名前が入っています)。

  7. [基本URL]として、サービストリガその他のリソース(JSP、イメージなど)を指定するURLのプレフィックスを入力します。

  8. 最後に、ファイルサーバ上の、展開オブジェクトや記述子ファイルを格納する[ステージングディレクトリ]を指定します。

  9. [次へ]ボタンをクリックして次に進みます。

    15Deploy4

  10. [リソースURLプレフィックス]を指定します。これは、プロジェクトの公開リソースにアクセスするために使います。

  11. さらに、J2EE 1.3以降を使っている場合は、不正アクセスを防ぐため、[リソースセキュリティの役割]も指定できます。

    注記:   リソースを使うComposerサービスでは、リソースセキュリティの役割を指定しても無視されます。

  12. [次へ]をクリックして次に進みます。これが展開オブジェクトウィザードの最後の画面になります。

    15Deploy5

  13. この画面では、プロジェクト(およびそのサブプロジェクト)にある、プロジェクト変数の値を上書きできます。実行時にはこの値が参照されることになります。 テーブルには、定義済みのプロジェクト変数とその値が表示されています。

  14. [完了]ボタンをクリックすると、展開オブジェクトが作成され、次のように、展開ツリー形式で作業領域に表示されます。

既存の展開オブジェクトプロパティの編集

作成済みの展開オブジェクトも、他のxObjectと同様に、各画面がタブに分かれた形のウィザード画面で編集できます。展開オブジェクトを右クリックし、[プロパティ]を選択してください。 値は必要に応じ、[プロパティ]ダイアログで変更できます。 画面例を次に示します。

15DeployProps

 
Top of page

展開に関する設定

ここでは展開作業に関する各種の操作方法を解説します。スタンドアローン版またはEnterprise-EditionのComposer設計環境が対象です(Professional Editionは不可)。

注記:   exteNd Suite Professional Editionを使っている場合は、「exteNd Directorからの展開作業」まで読み飛ばしてください。

重要:   作業を進めるためには、適切なサーバプロファイル(「サーバプロファイル」を参照)、およびこのプロジェクトの展開コンテンツをパッケージ化した展開オブジェクト(「xObjectの展開」を参照)が作成済みでなければなりません。 また、SOAPサービスの場合のWSDLリソースなど、サービスの種類によって必要になるリソースについても、あらかじめ作成し、展開オブジェクトに追加しておく必要があります。

 
Top of section

ドラッグ&ドロップ操作によるサービストリガの作成

ここではドロップ&ドラッグによる操作について、手順を追って解説します。 これにより、トリガをサービスに簡単に関連付けることができます。 メニューコマンドを使っても同じことができます (次の節を参照)。

ドラッグ&ドロップの操作は簡単です。

15DeployPanes

 
Top of section

メニューコマンドによるサービストリガの作成

サービストリガを作成するには、まず、ナビゲータペイン上でオブジェクトを右クリックします。 ただし、ここで注意が必要です。 サービストリガを作成するためには、次の2つの条件を満たしていなければなりません。

この条件が満たされていれば、このオブジェクトを使って作成できるサービストリガが、サブメニューに表示されるはずです。

注記:   サービスをSOAP HTTPとして展開するためには、WSDLリソースと関連付けられている(メニューに表示されている)必要があります。

15SoapTrigger

メニュー上のいずれかの項目をクリックすると、(ドラッグ操作の場合と同様、)展開ツリーペイン上に該当するエントリが作成されます。さらに、展開プロパティペインに、対応するプロパティシートが現れます。

サービストリガは、(Composerのメインメニューバーにある)[コンポーネント]メニューの[サービストリガの作成]以下でも作成できます(下の図を参照)。

15CompMenuSvcTrig

このサブメニューからトリガの種類を選択すると、次のような小さなダイアログが現れます。

15newTriggerDialog

トリガに対応付けるサービスを、プルダウンメニューから選び、 [OK]ボタンをクリックします。

注記:   サービストリガのうちJMSおよびSAPは、対応する接続製品がインストールされていなければ選択できません。

 
Top of page

電子メールトリガの定義

あるメールボックスに電子メールが届くとComposerサービスが起動されるよう設定することができます。 電子メールはペイロードとして扱われるので、関数アクションを使ってたとえばInput.getXML()の戻り値をSystem.outに出力すれば、次のように、電子メールメッセージ全体がXML形式でシステムコンソールに表示されます。

  <?xml version="1.0" encoding="UTF-8"?>
  <Message>
    <X-Auth-OK>joeblow@smtp-send.myrealbox.com</X-Auth-OK>
    <Return-Path>&lt;jblow@myrealbox.com&gt;</Return-Path>
    <Received>from JBLOW-DT1 jblow@smtp-send.myrealbox.com [12.23.52.5]
          by smtp-send.myrealbox.com with NetMail SMTP Agent $Revision:   3.42  $
  on Novell NetWare;
          Mon, 29 Sep 2003 13:09:23 -0600</Received>
    <Message-ID>&lt;13140405.1064862444476.JavaMail.JBlow@JBLOW-DT1&gt;
  </Message-ID>
    <Date>Mon, 29 Sep 2003 15:07:24 -0400 (EDT)</Date>
    <From>joeblow@myrealbox.com</From>
    <To>joeblow@myrealbox.com</To>
    <Subject>Trigger Test Mail</Subject>
    <Mime-Version>1.0</Mime-Version>
    <Content-Type>text/plain; charset=ASCII</Content-Type>
    <Content-Transfer-Encoding>7bit</Content-Transfer-Encoding>
    <Body charset="ASCII" encoding="7bit" subtype="plain" type="text">This is a test message
  </Body>
  </Message>

電子メールトリガを作成するには次の情報が必要です。

アカウント名およびパスワードは、「Mail Simple認証」接続リソースの形式で記述しておく必要があります (作成手順については、「Mail Simple認証接続リソース」の、接続リソースに関する説明を参照)。 まだ作成していない場合は、次に進む前にここで作成しておいてください。

さらに、メールボックスを確認する頻度、所定のサイズ以上の電子メールは無視するかどうかも決めておく必要があります。

電子メールの到着を検知、処理すると、メールボックスからは削除されてしまうことに注意してください。 (サイズ制限などの理由で)処理されなかった電子メールメッセージはそのまま残ります。

Procedure 電子メールトリガをサービスに関連付ける

  1. ナビゲーションカテゴリペインの[サービス]の中の[Webサービス]をクリックします。

  2. インスタンスペインで展開するサービスをクリックして強調表示します。

  3. サービスを展開ツリーの「電子メール」ノード(「サービストリガ」の下)にドラッグします。 マウスボタンを離すと、次のようなプロパティシートが表示されます。

    15emailTrigger

  4. [プロトコル]メニューからIMAPまたはPOP3を選択します。

  5. [メールボックス]にメールボックス名(一般にはINBOX)を入力します。

  6. [ポーリング間隔]に、メールボックスを確認する頻度(時間間隔)を、秒単位で指定します。

    注記:   電子メールが届いてサービスが起動された場合、そのサービスの処理が終了するまでは、メールボックスの確認を行いません。 したがって、たとえば確認頻度を10秒と設定した場合、サービスの処理に2秒かかるとすれば、電子メールが検出されてから次にメールボックスを確認するまでに、12秒程度かかることになります。

  7. [メッセージサイズ]に、キロバイト単位の数値を入力します。これより大きな電子メールメッセージは無視することになります。 これより小さな電子メールはすべて処理の対象になります。 サービスが起動され、これにメールが渡され、処理の中でメールボックスから削除されます。 指定サイズ以上の電子メールは無視されます。

  8. 展開オブジェクトを[保存]します。

 
Top of page

EJBベースのトリガの定義

EJBトリガをサービスに関連付ける手順は簡単です。 既に説明した、サーブレットやJSPの場合とほとんど同様です。

Procedure EJBをサービスに関連付ける

  1. ナビゲーションカテゴリペインの[サービス]カテゴリにある[Webサービス]をクリックします。

  2. インスタンスペインから展開したいサービスをみつけ、クリックして強調表示にします。

  3. サービスを展開ツリーの「EJB」または「サーブレット付きのEJB」ノード(「サービストリガ」の下)にドラッグします。 サービスを「サーブレット付きのEJB」カテゴリノードにドロップすると、次のようなプロパティシートが表示されます。

    15EJBServlet

  4. [JNDIパス]を入力します。これを元にオブジェクトが検索されることになります。

  5. (Enterprise Editionの場合のみ) [トランザクション属性]ドロップダウンリストから、該当するJTAトランザクションを選択します。次のオプションを選択できます。

  6. [出力タイプ]として、XML、PI経由のHTML、XHTMLのいずれかを選択します。

  7. サービスの出力を変換するためにスタイルシートリソースを使う場合は、[スタイルシートリソース]プルダウンメニューから選択します。

    注記:   これを指定するのは一般に、[出力タイプ]としてXHTMLを選択した場合です。

  8. 複数の言語に対応したスタイルシートがあり、どの言語を使うか指定する場合は、[言語]ボタンをクリックします。ダイアログボックスが表示されます。

    15ejBLanguage

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

    注記:   このダイアログの詳細および想定する使い方については、「リソースの多言語対応機能」を参照してください。

  9. J2EE 1.3以降用のアプリケーションであれば、[セキュリティ役割]を指定できます。

    注記:   これはアクセス制御のためにJ2EEで定義された機構です。 このレイヤの実装はアプリケーションサーバ依存です。 Composerには実装されていません。 J2EEのセキュリティ役割という概念については、Sunのウェブサイトまたはアプリケーションサーバの資料、あるいはその両方を参照してください。

  10. J2EE 1.3以降用のアプリケーションであれば、[役割として実行]も指定できます。

  11. 必要な場合は[Servlet URL]を指定します。

    注記:   サーブレットを伴わない普通のEJBであれば、指定が必要なのは[JNDIパス]、[トランザクション属性]、および[セキュリティ役割]だけです。

  12. 展開オブジェクトを[保存]します。

 
Top of section

ファイルベースのトリガの定義

ファイルトリガを使えば、ローカルハードディスク上の所定のパスに新規ファイルが追加されたのを検出し、サービスを起動するという設定ができます。 作業の流れに合わせ、ドキュメントの処理が必要になった都度、自動的に処理されるようにしたい場合に有用です。

ファイルトリガを使用すると、サーバ上のプロセスがローカルハードディスク上のあるフォルダ(またはそのサブディレクトリ)を定期的に監視し、新しいファイルが追加されていないかどうか調べます (時間間隔は自由に設定できます)。 追加されているのを検出すると、Composerサービスを起動し、ファイルを1つずつ渡して処理を任せます。 細かく言うと、ファイルを検出するごとに、次のイベントが発生します。

ファイル処理オプション

ファイルトリガがサービスにデータを渡す方法は、次の3とおりから選択できます。

XML形式のコンテンツ

監視対象ディレクトリに追加されたファイルを、整形式XMLであると想定して処理します。

XMLの埋め込みコンテンツ

追加されるファイルがXML形式とは限らない場合に適しています (たとえば、 EDIファイル)。 ファイルの中身をそのままCDATAセクションに埋め込みます。したがって、サービスの入力ドキュメントは次のようになります。

  <?xml version="1.0" encoding="UTF-8"?>
  <ルート>
     <![CDATA[ 入力ファイルの中身 ]]>
  </Root>

初期状態では、ルート要素の名前はRootとなっています。 後述のように、これは変更できます。

注記:   バイナリファイルの中身をCDATAとして埋め込むと、XMLでは不正な文字が含まれる可能性があるので、適当ではありません。 したがって、バイナリファイルを処理する場合、またはXMLとして不正な文字が含まれうるファイルを処理する場合は、[XMLの埋め込みコンテンツ]は使用しないでください。 その場合は[ファイル参照]を指定して、コンポーネント内では、[Base64エンコード]を有効にした「URL/ファイルの読み込み」アクションでファイルを読み込むようにします (Base64エンコードを使わず、データをそのまま読み込んで処理する場合は、ファイルI/O操作を行うカスタムJavaクラスを用意してください)。

ファイル参照

入力は次のようになります。

  <?xml version="1.0" encoding="UTF-8"?>
  <Root>..\dest\2003.09.30_09.10.15\myIncomingFile.dat</Root>

初期状態では、ルート要素の名前はRootとなっています。 これは変更できます。

注記:   パス名はすべて、アプリケーションサーバの\binを基準とした相対パスです。 ただし、この動作も変更できます。

Procedure ファイルベースのトリガを作成する

  1. ナビゲーションカテゴリペインの[サービス]の中の[Webサービス]をクリックします。

  2. インスタンスペインから展開したいサービスをクリックして強調表示にします。

  3. サービスを展開ツリーの「ファイル」ノード(「サービストリガ」の下)にドラッグします。 マウスボタンを離すと、次のようなプロパティシートが表示されます。

    15fileTrigger

  4. [ソースディレクトリ]に、(ローカルディスク上の)監視対象ディレクトリを指すURIを入力します。 相対URIでも完全修飾URIでも構いません。相対URIであれば、アプリケーションサーバのインストールディレクトリ以下にある\binが基準となります。絶対URIならば、たとえばd:\tempというように指定します。

    注記:   ソースディレクトリをサービスの展開前に作成しておく必要はありません。

  5. [入力タイプ]ドロップダウンメニューから、ファイルの中身をどのように処理するかを選択します (「ファイル処理オプション」の説明を参照)。

  6. [エンコード]を選択します。 初期状態ではUTF-8になっています。

  7. [XMLの埋め込みコンテンツ]または[ファイル参照]を指定した場合は、入力ドキュメントのルートノード名を入力します。 初期状態ではRootとなっています。 XMLとして適切ならば、どのような要素名にしても構いません。

  8. [ポーリング間隔]に、ソースディレクトリにファイルが追加されていないか確認する時間間隔を、秒単位で指定します。

    注記:   サービスの実行中はこの確認を行いません。 処理が終了次第、時間の計測を再開します。

  9. 上述のように、追加されたファイルのコピーを作って処理することになりますが、そのコピー先ディレクトリを[Destination Directory]に入力します (処理対象ファイルごとに、タイムスタンプを元にした名前のフォルダがこの下に作られます)。

  10. 展開オブジェクトを[保存]します。

テスト環境に関する注意点

ファイルトリガを使うサービスのファイルI/O処理部分は、通常のデバッグ方法ではテストできません。トリガによるポーリングやファイル処理、および出力の機能は、サーバ上でしか動作しないからです。 ファイルトリガを使うサービスをテストするには、サーバに展開する必要があります。

もちろん「アクションモデル」で記述した部分は、サービスのビジネスロジックを実装した一般のコンポーネントと同じようにテスト、デバッグできます。 実際の入力データを使ってアクションモデルを動かしてみるためには、実稼働環境でComposerが作成するのと同様のXMLドキュメントを、仮に作っておく必要があるかも知れません (詳しくは「ファイル処理オプション」のXML例を参照)。 サンプルドキュメントを使ってアクションモデルをデバッグし、その後、サービスを展開してテストしてください。

 
Top of section

JSPベースのトリガの定義

サービスのフロントエンド部分をJSPで作成する場合、JSPからサービスへのバインドを、次のようにして設定します。 なお、当該Java Server Page用のJSPリソースは、事前に作成しておかなければなりません (具体的な手順は、リソースに関する章の「JSPリソースについて」を参照してください)。

Procedure JSPをサービスに関連付ける

  1. ナビゲーションカテゴリペインの[リソース]以下で、[Java Server Pages]をクリックします。

  2. インスタンスペインで、トリガとして使おうとするJSPをクリックして強調表示にします。

  3. JSPリソースを展開プロファイルツリーの「JSP」ノード(「サービストリガ」の下)にドラッグします。

15DeployJSP

  1. JSPリソースが、トリガツリー内、JSPノードの下に追加されます。また、JSPプロパティシートが、右側のエディタペインに現れます(図を参照)。

  2. 必要に応じ、[セキュリティ役割]に名前を入力します。

    注記:   [セキュリティ役割]はJ2EE 1.3でのみ有効です。

  3. 展開する基本URLを指定します。

  4. 展開オブジェクトを[保存]します。

 
Top of section

サーブレットベースのサービストリガの定義

多くの場合、サービスを起動するサーブレットは、所定のURLに届いた要求を処理するようになっています (サーブレットはJSPから起動される場合とそうでない場合があります。 ここで解説するサーブレットは、JSPから起動されるものではありません。 JSPをあるサービスにバインドしたい場合は、「JSPベースのトリガの定義」を参照してください)。 サーブレットがデータを受け取る方法には、HTTP GETまたはHTTP POSTの2種類があります。HTTP POSTの場合、XMLデータはフォーム上のあるフィールドに入っているか、マルチパートMIME形式で受け取るか、またはコンテンツストリームの一部として受け取ることになります。

Procedure サービスにサーブレットベースのトリガを定義する

  1. ナビゲーションカテゴリペインの[サービス]以下で、[Webサービス]をクリックします。 インスタンスペインに、作成済みのサービス名が表示されます。

15DeployPanes

  1. インスタンスペインから展開したいサービスをみつけ、クリックして強調表示にします。

  2. サービスを展開ツリーの「サーブレット」ノード(「サービストリガ」の下)にドラッグします。

  3. 「サービス」ノードが「サーブレット」の下に追加され、エディタペインにはサーブレットプロパティシートが現れます。

    15servletpanel

  4. [URL]に展開URLを指定します。 これはサービスのURLの末尾部分になります。 最終的なURLは、たとえば次のようになります。

    http://localhost:80/[MyDataBase]/[MyDeploymentEAR]/myurl

    ここで[MyDataBase]は、アプリケーションサーバ上の展開先データベースを表します(Novell exteNdアプリケーションサーバのみ)。[MyDeploymentEAR]はComposerプロジェクト名(Professional Edition)または展開xObject名(Enterprise Edition)です。myurlは[URL]として指定した値です。

  5. [サーブレットタイプ]ドロップダウンリストから、サービスへの入力として使うデータソースを選択します。 選択肢として次のようなものがあります。

  6. [出力タイプ]ドロップダウンリストから、サービスの応答データのMIMEタイプを選択します。 選択肢として次のようなものがあります。

  7. 必要に応じて、[セキュリティ役割]を入力します。

    注記:   [セキュリティ役割]はJ2EE 1.3でのみ有効です。

  8. [役割として実行]に、サービスをどの役割で実行するかを入力します。

  9. 展開オブジェクトを[保存]します。

 
Top of section

SOAPトリガの定義

SOAPトリガをWebサービスに関連付ける手順も、他のトリガの場合と同様です。

注記:   次の説明は、SOAP、WSDLおよびXML署名の概念に習熟しているものと想定しています。 先に進む前に、必要に応じてWebサイトhttp://www.w3.orgまたはその他の情報源、あるいはその両方を参照してください。

Procedure SOAPトリガをサービスに関連付ける

  1. ナビゲーションカテゴリペインの[サービス]の中の[Webサービス]をクリックします。

  2. インスタンスペインで展開するサービスをクリックして強調表示にします。

  3. サービスを展開プロファイルツリーの「SOAP HTTP」ノード(「サービストリガ」の下)にドラッグします。 プロパティシートペインが次のように変わります。

    15SOAPHTTP

  4. プロパティシートで、サービスの[URL]を指定します。 これはURLの末尾部分です(完全なURLではありません)。

    注記:   このURLに対してHTTP GETを発行すると、このサービスのWSDLが返されます。 このURLに対して実際にSOAP要求を送れば、サービスが起動されます。

    重要:   展開後、この値はサービスのWSDLの<service>要素に反映されます。 子要素<port>および<soap:address>にも反映されます。 <service>要素は、ここで指定したURLを使うようダイナミックに更新されます。

  5. [WSDLリソース]が表示されていなければ、適切な値を選択します。

  6. [バインド]が表示されていなければ、適切な値を選択します (WSDLによっては、複数のバインドが定義されていることがあります。この場合、先に指定したURLに適用するバインドを選択できます。 通常はデフォルト値のままで構いません)。

  7. このサービスが行う[操作]を指定します。

  8. 必要に応じ、[セキュリティ役割]を指定します(J2EE 1.3以降)。

  9. 必要に応じ、[証明書リソース]を選択します。このドロップダウンリストには、プロジェクトに関連付けられている証明書リソースが列挙されています。 XML署名スキームを使って、外向きの応答に署名する場合にのみ必要です (証明書リソースの使い方については「証明書リソースについて」を参照)。

  10. デジタル署名されたSOAP要求しか受け付けないことにする場合は、[XML署名の検証]チェックボックスをオンにします。

    注記:   このチェックボックスをオンにすると、要求のSOAPヘッダに、XML署名標準に準拠したデジタル署名が必要になります。 署名がなければSOAP障害が発生します。

  11. 展開オブジェクトを[保存]します。

 
Top of section

時間ベースのサービストリガの定義

タイマトリガは、イベントとは無関係に、定期的にComposerサービスを起動したい場合に使います。 用途はさまざまです。 たとえば、次のような用途があります。

スケジュールに基づいた処理と定期的に繰り返す処理

Composerのタイマトリガには、起動時刻の指定方法によって、 2つの種類があります。 ひとつは「スケジュール」にもとづく方式で、 カレンダー上の日付を指定します。 これを「カレンダーベースの反復」、あるいは単に「反復」と呼びます。 Composerではいろいろな「反復」パターンを設定できます。 所定の日時に1回だけ処理を行う(0回の「反復」)ことも、日時をいくつも指定しておく(一定間隔でなくても可)こともできます。 ここで大切なのは、ある特定の日に処理が始まり、それが0回以上反復されるよう、「スケジュール」を決めることができるということです。

2つ目は、一定の間隔で、所定の回数だけ繰り返す、という形のタイマトリガです。 カレンダー上の日付とは無関係に、「Y秒間隔でX回処理を繰り返す」という形で起動するトリガです。 したがって、[count]と[interval]をパラメータとして指定します。

この2つを組み合わせれば、起動スケジュールをきめ細かく設定できます。 たとえば次のように使います。

Composerでは、日次、週次、月次の起動設定が可能です。 週次の場合、さらに細かく、毎日曜日、火曜から土曜、月水金、などといった指定もできます。 また、月次の場合、初日、末日、特定の日、という指定が可能です。

Procedure タイマベースのトリガを作成する

  1. ナビゲーションカテゴリペインの[サービス]の中の[Webサービス]をクリックします。

  2. インスタンスペインから展開したいサービスをみつけ、クリックして強調表示にします。

  3. サービスを展開ツリーの「タイマ」ノード(「サービストリガ」の下)にドラッグします。 マウスボタンを離すと、次のようなプロパティシートが表示されます。

    15TimerTrigger

  4. 所定の日に起動されるよう設定したい場合は、[カレンダー]ボタンをクリックします。 次のようなダイアログが現れます。

    15selectDate

    ダイアログ上のボタン類を使って、サービスを最初に起動する日時を選択します。 [OK]をクリックして、ダイアログボックスを閉じます。 この日時は、プロパティーシートの[日付と時刻]フィールドに表示されます。

  5. 反復プロセスにする場合は[反復]ボタンをクリックします (何も指定していない場合は、「非繰り返し」という表示になっています)。

    注記:   [反復]ボタンを押せるのは、[日付と時刻]が指定されている時に限ります。 押せない状態であれば前のステップに戻ってください。

    [反復]ボタンをクリックすると、次のようなダイアログが現れます。

    15recurrenceParams

  6. [反復]ラジオボタンをクリックします。 ダイアログ上の、他のボタン類が選択できるようになります。

  7. [毎日]、[週]、または[月]のいずれかを選択します。 それに応じ、ほかのボタン類も有効になります。

  8. [時間](ダイアログの下方)に、24時制で、サービスを起動する時刻を指定します。 必要に応じ、[時間の選択]ボタンを押して、時刻選択ダイアログを開きます。上下の矢印で時および分を指定することができます。

  9. [終了日]に、サービスを起動する最終日を「YYYY-MM-DD」という形式で入力します。 必要に応じ、[日付の選択]ボタンを押して、日付選択ダイアログを開きます。マウス操作で日付を指定することができます。

  10. [OK]ボタンをクリックしてタイマトリガのプロパティシートに戻ります。

  11. [実行回数]に、サービスを何回繰り返して起動するかを指定します。

  12. [実行間隔]に、起動する時間間隔を指定します (Composerは、サービスの処理が終了した時点でタイマを0に戻し、次に起動するまでの時間を計り始めます)。 秒単位ならば「s」、時間単位ならば「h」、日単位ならば「d」という文字を数値の後に付けてください。 たとえば「8h」と書けば「8時間」の意味になります。 単位を明示しなければ秒単位と看做されます。

  13. 展開オブジェクトを[保存]します。

[反復]、「実行間隔]、[実行回数]の組み合わせによっては、あまり意味がない設定もあります(たとえば、日次、25時間ごと、10回、という指定)。 ただし、特に警告等が現れることはありません。 指定されたとおりに計時し、時刻が到来すればサービスを起動する、というだけのことです。 期待どおりの動作になるかどうかもわかりません。 パラメータの妥当性は自分で確認してください。

 
Top of page

他のプロジェクトのリソースを展開用に指定

オブジェクト詳細ペインに並んでいるリソースオブジェクトは、展開の対象に追加することができます。その手順は簡単で、展開オブジェクトツリーペイン上の、該当するツリーノードにドラッグするだけです。 すると当該カテゴリに新しい子が追加されます。 ただし、カテゴリとして適切なノード上にしかドロップできません。 それ以外の箇所にマウスカーソルがある間は、円に斜線を引いた「進入禁止」カーソルになります。

ドラッグ&ドロップ方式で操作すると、手軽に展開のための作業ができます。 たとえば イメージリソースを展開する場合、そのリソースをオブジェクト詳細ペインから、展開ツリーペインの「イメージ」ノード上にドラッグします。 リソースに関連付けられているプロパティはないので、展開プロパティペインは空のままです。 URLは、リソースタイプ、および展開オブジェクトの作成時に定義された基本URLを元に、自動的にデフォルト値が決まります。

条件を満たせば、インスタンスペインでリソースを右クリックすると、オブジェクトを展開するためのコンテキストメニューが現れます。 そのためには次の2つの条件を満たす必要があります。

これらの条件が満たされている場合に限り、右クリックするとコンテキストメニューが現れます。その一番下に[発行]コマンドがあります。

15DeployResourceMenu

 
Top of page

プロジェクトをサーバに展開

必要なサービスやリソースをすべて展開xObjectに追加し、トリガとの関連付けも完了すれば、いよいよアプリケーションサーバへの展開作業に取り掛かります。

Procedure プロジェクトを展開する

  1. Composerの[ファイル]メニューから、[プロジェクトの展開]を選択します。

  2. すると、展開オブジェクトとサーバプロファイルを関連付けるためのダイアログが現れます。

15Deployit

  1. ドロップダウンリストから[展開オブジェクト]を選択します。

  2. ドロップダウンリストから[プロファイル名]を選択します。ここにはサーバプロファイルが列挙されています。

  3. [展開]ボタンをクリックすると、プロジェクトの展開が始まります。

  4. 展開の進捗状況を表すプログレスバーが表示されます。

    15DeployProgress

  5. プログレスバーが100%に達すると、ブラウザが起動され、次のような画面になります (この例は、Novellアプリケーションサーバに展開すると想定したものです。 他のアプリケーションサーバの場合、画面構成が多少異なります)。

    15DeployConsole1

  6. アプリケーションサーバにアクセスするためのユーザ名とパスワードを指定し、[次へ]ボタンをクリックします。 次の画面に切り替わります。

    15DeployConsole2

  7. Novell 5.xアプリケーションサーバに展開する場合、プロジェクトEARを展開するための、データベース名を問い合わせる画面になります。 デフォルト値はSilverMasterです。

  8. [次へ]ボタンをクリックします。 3番目の画面に切り替わります。これが最後の画面です。

    15DeployConsole3

  9. 展開アーカイブ名(ページ上部に斜体で表示されているファイル名)をコピーし、テキストフィールドに貼り付けます ([参照]ボタンを使って、展開したいアーカイブをファイルシステム上で検索しても構いません)。 これはステージングエリアに作成された展開EARです(ステージングエリアについては「展開オブジェクトを作成する」を参照)。

  10. [完了]ボタンをクリックします。 展開処理の結果が表示されます。

    15DeployConsole4

    このページを見ると、プロジェクトが正常に展開されたかどうかを確認できます。 エラーが生じた場合は、通常、問題の解決に役立つよう、完全なスタックトレースが表示されます (上記の過程で、次の画面に進む間にかなりの遅延が生じると、タイムアウトにより接続が切れてしまうことがあります。 このような場合は展開作業を最初からやり直してください)。

 
Top of page

exteNd Directorからの展開作業

プロジェクトをパッケージ化して展開EARアーカイブを作成する作業は、Composer側の組み込み機能を使うほか、exteNd Directorで行うこともできます。

注記:   Professional EditionのexteNdはComposerの展開xObjectに対応していません。したがって、Professional Editionで作成したComposerアプリケーションの展開は、以下に説明する方法で進めるしかないことになります。 Enterprise Editionの場合は、次に説明するようにDirectorで展開する方法ばかりでなく、既述のようにComposerから直接展開する方法も使えます。

大雑把な流れだけ示すと、展開の基本的な手順はごく単純です。 Directorを立ち上げ、EARベースまたはDirectorのプロジェクトを作成またはオープンし、そのサブプロジェクトとしてComposerの.spfファイルを追加します。 次に、Directorの[ファイル]メニューから[新規]>[Webサービス]>[Composer Webサービス]の順に選択して、Webサービス(SOAP)、通常のサーブレット、EJB、Javaクラス、またはJSP用のウィザードを呼び出し、展開情報を作成します。 プロジェクト内のサービスすべてについて展開情報を作成した後、DirectorのJ2EE EAR/WARパッケージ化および展開ウィザードを使って、実際の展開作業を始めます。

Directorにはコード生成機能もあり、JavaコードからComposerサービスを直接起動する、さまざまなスケルトンファイルを生成できます (詳しくは後述)。 このごく単純なソースコードを元に、必要に応じて上書きや拡張を行うことにより、目的に合ったサービストリガを比較的容易に作成可能です。

注記:   ほかにもDirectorには、J2EE展開をはじめさまざまな機能があります。詳しくはNovell exteNd Directorの関連資料を参照してください。

 
Top of section

Composer Webサービスウィザード: SOAPサービスの展開

DirectorプロジェクトにComposerの(サブ)プロジェクトが含まれていれば、Directorウィザードを使ってサービスの展開パラメータを指定し、SOAPサーブレットで起動されるようにすることができます。 その手順を次に示します。

Procedure ComposerサービスをSOAPサービスとして展開するよう準備する

重要:   次の作業を進めるためには、EAR、WAR、またはEJB-JARプロジェクトをDirectorで開いておく必要があります。 また、そのサービスのWSDLも必要です (WSDLの自動生成については、リソースに関する章の「既存のサービスからWSDLリソースを生成する、またはXMLエディタでWSDLリソースを作成する」を参照してください)。

  1. Directorで<Control>-<N>キーを押すか、[ファイル]メニューから[新規]>[ファイル]の順に選択します。 [新規ファイル]ダイアログが表示されます。

    15ComposerWS

    [Webサービス]タブを選択します。

  2. [Webサービス]タブで、[Composer Webサービス]を選択して[OK]をクリックします。 Composer Webサービスウィザードの最初の画面が現れます。

    15soAPDeployDirector

  3. プルダウンメニューからWebサービスの[サービストリガタイプ]を選択します。

  4. プルダウンメニューから[ターゲットプロジェクト]を選択します。

  5. [次へ]ボタンをクリックします。 次の画面に切り替わります。

    15soAPDeployDirector2

  6. プルダウンメニューでComposerの[プロジェクト]および[サービス]を選択します。

  7. プルダウンメニューで、このサービスについて記述する[WSDL]リソースを選択します。

  8. [次へ]ボタンをクリックします。 次の画面に切り替わります。

    15soAPDeployDirector3

  9. サービスの場所を表す[URLパス]を指定します (最初から入力されていることもあります)。

  10. [サービス名]を選択します。

  11. [ポート]を選択します。

  12. WSDLに列挙されている中から、[操作]を選択します (最初から選択されていることもあります)。

  13. 必要ならば[証明書リソース]を選択します。

  14. 必要ならば[ 要求のXML署名の検証]チェックボックスをオンにします。こうすると、(XML署名の標準に従い)デジタル署名されたSOAP要求しか受け付けないようになります。

  15. [完了]ボタンをクリックします。 ここまでの作業内容をまとめた、要約ダイアログが表示されます。

 
Top of section

Composer Webサービスウィザード: JSPとサーブレットトリガ

DirectorプロジェクトにComposerの(サブ)プロジェクトが含まれていれば、Directorウィザードを使ってサービスの展開パラメータを指定し、サーブレットまたはJSPで起動されるようにすることができます。 その手順を次に示します。

Procedure Composer WebサービスにトリガをかけるサーブレットまたはJSPを作成する

重要:   次のステップを進めるためには、EAR、WAR、またはEJB-JARプロジェクトをDirectorで開いておく必要があります。

  1. Directorで<Control>-<N>キーを押すか、[ファイル]メニューから[新規]>[ファイル]の順に選択します。 [新規ファイル]ダイアログが表示されます。

    15ComposerWS

    [Webサービス]タブを選択します。

  2. [Webサービス]タブで、[Composer Webサービス]を選択して[OK]をクリックします。 Composer Webサービスウィザードの最初の画面が現れます。

    15ComposerWS2

  3. プルダウンメニューで[サービスターゲットタイプ]を選択します。 プロジェクトのタイプおよび内容により、実際に表示される選択肢は異なります。Professional EditionかEnterprise Editionかによっても違います。

    15TriggerTypesinDirector

    以下は、「サーブレット/Java Server Page」を選択した場合の説明です。

  4. プルダウンメニューで[ターゲットプロジェクト]を選択します。

  5. [次へ]ボタンをクリックします。 次の画面に切り替わります。

    15ComposerWS3

  6. プルダウンメニューでComposerの[プロジェクト]および[サービス]を選択します。

  7. [次へ]ボタンをクリックします。 次の画面に切り替わります。

    15ComposerWS4

  8. [トリガオプション]グループの[タイプ]プルダウンメニューからトリガのタイプを選択し、さらにその[名前]も入力します。

  9. [入力タイプ]プルダウンメニューから、サービスが受け付けるXML入力ドキュメントのタイプを選択します。

  10. [出力タイプ]プルダウンメニューから、サーブレットの出力フォーマットとして、 XMLまたはHTMLのいずれかを選択します。

  11. [URLパス]フィールドに、サーブレットのURL名をあらわす文字列を入力します。 たとえば次のようなURLで送られた要求を処理するサーブレットならば、「abcdef」と入力することになります。

    http://myserver:80/mydatabase/myear/abcdef

  12. 上記の[入力タイプ]として[パラメータ(URL/フォーム)]を選択した場合、[入力ドキュメントのトリガ]グループに次の2つのフィールドが現れます。

  13. [完了]ボタンをクリックします。 ここまでの作業内容をまとめた、要約ダイアログが表示されます。

    15ComposerWS5

  14. [OK]ボタンをクリックして、この要約ダイアログを閉じます。

 
Top of page

DirectorウィザードによるComposerコード生成

Directorには、各種のカスタムサービストリガコードを作成するための、支援用ウィザードがあります。 JSP、サーブレット、カスタムJavaクラスのコードを生成しておけば、これを使ってComposerサービスを直接実行できるようになります。

 
Top of section

Directorサーブレットウィザード

Composerサービスにトリガをかけるための、サーブレットソースコードを生成できます。Directorの[ファイル]メニューから[新規]を選択して、サーブレットウィザードを起動します。 前述のウィザードとは少し違い、Directorプロジェクトをあらかじめ開いておく必要はありません。 したがって、たとえばソースコードファイルを単に生成するだけで、使うのは後でよいのであれば、EARまたはWARプロジェクトを開くことなく、以下のような手順で生成できます。

Procedure Composerサービスにトリガをかけるサーブレットコードを作成する

  1. Directorで<Control>-<N>キーを押すか、[ファイル]メニューから[新規]>[ファイル]の順に選択します。 [新規ファイル]ダイアログが表示されます。

  2. [一般]タブを選択します。

  3. [サーブレット]を選択して[OK]ボタンをクリックします。ダイアログボックスが表示されます。

    15servletWiz1

  4. [クラス名]を入力します。

  5. [コンテンツタイプ]プルダウンメニューから、サーブレットの出力コンテンツタイプを選択します。

  6. [テンプレート]プルダウンメニューから[Composerサーブレットテンプレート]を選択します。

  7. [次へ]をクリックします。新しい画面が表示されます。

    15servletWiz2

  8. 現在開かれているプロジェクトにサーブレットを追加するのであれば、図のように、[開いているWARプロジェクトに追加する]ラジオボタンを選択します (プロジェクトを開いていない場合、このボタンは淡色表示になっています)。 作成したファイルをディスクに保存するだけでよければ、2番目の[プロジェクトなし -- ファイルをディスクに書き込む]ラジオボタンを選択します。

  9. 必要に応じ、ダイアログの下部にある[ベースディレクトリ]、[パッケージ]、および[ファイルディレクトリ]を指定します。

  10. [次へ]をクリックします。 次の画面に切り替わります。

    15servletWiz3

  11. サーブレットメソッドをオーバーライドする場合は、該当するチェックボックスをオンにします。

  12. [次へ]をクリックします。 次の画面に切り替わります。

    15servletWiz4

  13. (必要な場合) サーブレットクラスに実装するインタフェースがあれば、[追加]ボタンをクリックして指定します。

  14. [次へ]をクリックします。

    15servletWiz5

  15. [完了]をクリックします。 生成されたサーブレットコードが、コードエディタに表示されます。

このようにプロジェクトを開かない状態でサーブレットコードを生成した場合、このサーブレットを使うWebアプリケーションに合わせて、自分でweb.xmlファイルを記述する必要があることに注意してください (WARプロジェクトを開いた状態でウィザードを起動した場合は自動生成されます)。

 
Top of section

Director JSPウィザード

DirectorのJSPウィザードを使うと、タグライブラリを呼び出す形でComposerサービスを起動する、Java Server Pageを作成できます。 その手順を以下に示します。

Procedure ComposerサービスにトリガをかけるJSPを作成する

  1. Directorで<Control>-<N>キーを押すか、[ファイル]メニューから[新規]>[ファイル]の順に選択します。 [新規ファイル]ダイアログが表示されます。

  2. [一般]タブを選択します。

  3. [JSP]を選択して[OK]ボタンをクリックします。ダイアログボックスが表示されます。

    15JSPWiz1

  4. [JSP名]にページ名を指定します。

  5. 必要に応じ、[ページタイトル]を指定します。

  6. 出力の[コンテンツタイプ]を選択します。

  7. [テンプレート]プルダウンメニューから、生成するJSPの雛型となるテンプレートを選択します。

  8. [次へ]をクリックします。新しい画面が表示されます。

    15servletWiz2

  9. サーブレットのプロジェクト、ディレクトリ、パッケージに関する情報を指定します。

  10. [次へ](または[完了])をクリックしてウィザードを終了します。 生成されたJSPコードは、コードエディタに表示されます。

  11. これを目的に応じて編集します。

 
Top of section

Javaクラスウィザード

状況によっては、HTTPベースのサーブレットやJSPセッションではなく、Javaクラスから直接Composerサービスを起動しなければならない、あるいはその方が便利であることもあります。 Novell exteNd Directorには、Composerサービスを直接呼び出すメソッドを持つ、Javaスタブクラスを自動生成するためのウィザードがあります。

Composerサービスをプログラムから呼び出すJavaクラスを、Directorのウィザードで作成する手順を次に説明します。

Procedure Composerサービスを起動するJavaクラスを作成する

  1. Composerプロジェクト、またはサブプロジェクトとしてComposerを含むDirectorプロジェクトを開きます。

  2. Directorで<Control>-<N>キーを押すか、[ファイル]メニューから[新規]>[ファイル]の順に選択します。 [新規ファイル]ダイアログが表示されます。

  3. [一般]タブを選択します。

  4. [Java]を選択して[OK]ボタンをクリックします。ダイアログボックスが表示されます。

    15JavaClassWiz

  5. 生成するクラスの[クラス名]を指定します。

  6. 他のクラスを継承する場合は、[ベースクラス]にベースクラス名を入力します。継承しない場合は空のままで構いません。

  7. [クラス]ラジオボタンは、初期状態どおり選択されたままにしておきます。

  8. 図のように、[テンプレート]から[Composer Javaクラステンプレート]を選択します。

  9. 必要に応じ、チェックボックスで、クラスの可視性、デフォルトコンストラクタの有無、main()メソッドの有無などを指定します。

  10. [次へ]をクリックします。 次のウィザード画面に切り替わります。クラスに実装するインタフェース名を 指定します。

  11. [次へ]をクリックします。 次のウィザード画面に切り替わります。インポートするクラスやパッケージ名を 指定します。

  12. [次へ]をクリックします。 このクラスに関連付けるプロジェクト、ディレクトリ、パッケージなどに関する情報を指定します。

  13. [完了]をクリックします。 生成されたソースコードがエディタに表示されます。

Directorにより生成されるコードはごく単純なものです。 サービスに関する情報(サービス名など)を埋め込むべき箇所はコメントで示されています。 このコードによりGXSServiceComponentBeanのインスタンスを生成し、このインスタンスを使ってサービスを起動します。

注記:   GXSServiceComponentBeanおよびその他のComposerランタイムフレームワーククラスについて詳しくは、AppServer/Composer/api_xsディレクトリにある、関連Javadocおよびソースコードアーカイブを参照してください。

 
Top of section

Directorからの展開

ComposerのEARおよびWARファイルは、Directorからも、[プロジェクト]メニューの[アーカイブの展開]で展開することができます。 詳しくは、Directorのマニュアルを参照してください。

 
Top of page

より詳しい資料について

 
Top of section

Composer Enterprise Serverに関する資料

サポートされているアプリケーションサーバ環境での展開に関する特徴は、製品のバージョンおよびベンダにより多少異なります。 Composerプロジェクトを個々のサーバに展開する手順については、 別冊『Composer Enterprise Server User\xd5 s Guide for the Novell exteNd Application Server』を参照してください。WebSphereおよびWebLogicサーバに関しては、別にマニュアルがあります。 展開の際に問題となる、次のような事項についても上記のマニュアルを参照してください。



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