![]() |
iPlanet Trustbase Transaction Manager 2.2.1 開発者ガイド |
第 9 章 Ping の例
この章では、Identrus メッセージングの仕様で定義されている Ping DTD を使用して、前の章で説明した開発サイクルについて手順を追って説明します。サービスを配置する場合には、まず次の手順に従って、サービスを開発します。
システム内に送り出すメッセージの構文構造を指定する DTD 定義を作成します。
Classgen com.iplanet.trustbase.app.classgen.ClassGen を使って、DTD 定義から java クラスを生成します。
Identrus API を使って、サービスの Java コードを書きます。Identrus API は、メッセージ、証明書、鍵、およびデジタル署名の Identrus による処理および確認を支援するためのものです。
JDK の JAR ツールを使って、最終的な iPlanet Trustbase Transaction Manager サービスの jar ファイルを構築します。
後述の手順に従って、関連する構成オプションを選択して iPlanet Trustbase Transaction Manager 内にサービスを配置します。
iPlanet Trustbase Transaction Manager にサービスを配置したら、サービスを実行することができます。
この例では、Identrus メッセージジングの仕様で定義されている「Ping DTD」を使用します。このため、ping.dtd にある DTD 定義を作成します。ping.dtd の構造と定義については、IT-TCMPD (Identrus TC Messaging Specification) を参照してください。
これらは、次に示す iPlanet Trustbase Transaction Manager に付属の dtd ファイルにリンクされます。
XMLDSIG.dtd
corenetworkinfrastucture.dtd
Foundation.dtd
注
すべての dtd ファイルは <インストールディレクトリ>/
Trustbase/TTM/current/apidocs にあります。
次の手順に従って、ClassGen ツールの実行の準備をします。
ディレクトリを ../Trustbase/TTM/Scripts に変更します。
クラスパスを、ClassGen ツールを実行できるように設定します。このためには、標準のシェルで setcp スクリプト (../setcp) をソースします。
ping という名前の新規のサブディレクトリを作成し、このディレクトリに移動します。
この新規ディレクトリに、ping.dtd と、3 つのコア Identrus DTD をコピーします。DTD ファイルの名前が適切であることを確認します。ファイル名では大文字と小文字が区別され、DTD ファイル内で完全に同じ名前が使用されていることが必要です。<!ENTITY ....> タグの最後の属性では、DTD に含まれるローカルファイルの名前が定義されます。
ClassGen ツールにどのオプションを渡すかを決定します。表 9-1 に、この例で使用する各オプションを示します。 表 9-1 Classgen オプション
Ping DTD の ClassGen オプション
スタブ Identrus サービスのソースコードを、出力ディレクトリに作成。ファイルを com.iplanet.trustbase.sample にパッケージ
これにより、次のコマンドが生成されます。
画面に多くの警告が表示される (これらの警告は、DTD で ping.dtd から参照されている特定の要素に対し、クラスが生成されていないという内容のもの。しかし、これらのクラスは、iPlanet Trustbase Transaction Manager のクラスパスにすでに存在するため、再度生成する必要はない)
現在のディレクトリに ping.jar というファイルが作成される (このjar ファイルには、コンパイルされた ping DTD のメッセージクラスが含まれる)
src というサブディレクトリが作成される (このサブディレクトリには、生成されたすべてのクラスファイルのソースコードが入れられる)
現在のディレクトリに PingService.java というファイルが作成される (これはスタブ Identrus サービス。次のステップでメッセージ処理コードによって更新することが必要) これで JAR ファイルとスタブサービスが生成され、サービス開発の次のステップに進むことができます。
API
Java コードを作成する前に、iPlanet Trustbase Transaction Manager に付属する Identrus メッセージ処理用のコア API の一部について理解する必要があります。
com.iplanet.trustbase.identrus
これは、Identrus メッセージ仕様にアクセスすることを可能にするパッケージです。
com.iplanet.trustbase.identrus.message
これは、Identrus メッセージ処理に必要なルーチンを提供するパッケージです。
com.iplanet.trustbase.identrus.security
これは、証明書と鍵を処理するパッケージです。
com.iplanet.trustbase.util.tree
これは、ツリーを検索するパッケージです。
com.iplanet.trustbase.xml.dsig
これは、XML デジタル署名を生成および確認するパッケージです。メッセージの署名が必須のレベル 1 署名だけである場合は、このパッケージは必要ありません。必須の署名は、iPlanet Trustbase Transaction Manager によって自動的に確認および生成されます。
uk.co.jcp.tbase.config
これは、構成オブジェクトとのインターフェイスとして機能するパッケージです。
PingService ソースコード
PingService.java (生成されたサービススタブ) は、抽象 IdentrusService の実装です。ここでは TTM プラットフォームで受信したメッセージが ProcessIdentrusMessage メソッドのパラメータになります。
メッセージの必須署名の確認と、原初ログへの記録は、メッセージが
ProcessIdentrusMessage メソッドに渡される前に行われます。
ProcessIdentrusMessage、受信したリクエストに対する応答メッセージを作成するメソッドです。付属の Identrus API を使えば、ソースコードの記述は簡単です。
この簡単なサービスを作成したら、コンパイルして、サービス JAR に構築できます。
Identrus サービス JAR の作成
サービスを iPlanet Trustbase Transaction Manager に配置する前の最後のステップは、統合 JAR ファイルの作成です。この JAR ファイルには、すべての生成されたクラスと、手作業で開発した PingService クラスを入れます。
iPlanet Trustbase Transaction Manager サービス jar を構築する手順は次のとおりです。
標準的な JDK の jar ツールを使用して、生成した jar ファイルをディレクトリに解凍します。
mkdir DumpDirectory
cd DumpDirectory
jar -xvf ../ping.jar
cd ..
「DumpDirectory」に、メッセージの処理に必要なすべてのクラスをコピーします。これらのクラスすべてで、適切なパッケージ構造が維持されていることを確認します。特に、サービススタブクラスは、クラス生成ツールによって作成されたので、パッケージし直すことはできないことに注意してください。
標準的な JDK の jar ツールを使って、アーカイブを再度作成します。
jar -cvf ping.jar -C DumpDirectory DumpDirectory/*
iPlanet Trustbase Transaction Manager での ping.jar の配置
ping.jar を ..../Trustbase/TTM/current/deploy ディレクトリに入れます。
iPlanet Trustbase Transaction Manager に「Administrator」としてログオンします。
iPlanet Trustbase Transaction Manager に PingService を配置します。「サービス」-「配置」を選択します。
Ping.jar はビルダによって自動的に deploy ディレクトリに配置されているため、iPlanet Trustbase Transaction Manager によって関連するすべての情報が取得され、次の図に示す「サービス配置」ページの「使用可能なサービス」セクションに表示されます。 図 9-1 iPlanet Trustbase Transaction Manager での PingService の配置
![]()
サービスは、ビルダツールで jar ファイルを構築する際に、自動的に登録されます。次の図に示すように、構成コンソールから「サービス」−「レジストリ構成」を選択すると、PingService が表示されます。 図 9-2 サービスレジストリ構成
![]()
サービスを認可する必要がある場合は、「認可」-「サービスの追加」を選択します。次に示すように、サービスには役割を割り当てる必要があります。 図 9-3 サービスへの役割の割り当て
![]()
前へ 目次 索引 DocHome 次へ
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.
最終更新日 2001 年 3 月 14 日