Cosminexus SOAPアプリケーション開発ガイド

[目次][用語][索引][前へ][次へ]

3.1 RPC形態のSOAPアプリケーション開発の流れ

RPC形態のSOAPアプリケーションは,開発支援コマンドでWSDLやJavaクラスなどを生成しながら開発できます。

ここでは,次に示す場合の開発の流れを示します。

開発支援コマンドについては,「9. 開発支援コマンド」を参照してください。

<この節の構成>
(1) SOAPアプリケーションを新規に開発する場合
(2) 既存のJavaクラスを利用してSOAPアプリケーションを開発する場合
(3) 既存のEJBを利用してSOAPアプリケーションを開発する場合
(4) 添付ファイルを使用してSOAPアプリケーションを開発する場合
(5) DIIを使用してSOAPアプリケーションを開発する場合
(6) .NET Frameworkを使用してSOAPアプリケーションのクライアントを開発する場合

(1) SOAPアプリケーションを新規に開発する場合

SOAPアプリケーションを新規に開発する場合の流れを示します。

図3-1 WSDLを使用したSOAPアプリケーションの新規開発

[図データ]

SOAPアプリケーションを新規に開発する場合,Javaインタフェース(リモートインタフェース)からWSDLを生成し,生成したWSDLからサーバおよびクライアントに必要な次のファイルを生成します。

SOAPアプリケーションを新規に開発する場合の手順を示します。括弧内の数字は,開発例の参照先を示します。

  1. Javaインタフェース(リモートインタフェース)を作成する(4.1.2
    SOAPアプリケーションのWSDLを作成するために,Javaインタフェース,およびユーザ定義のデータ型クラスを作成します。
  2. WSDLを生成する(4.1.3
    作成したJavaインタフェースおよびユーザ定義のデータ型クラスから,SOAPアプリケーションのWSDLを生成します。
  3. スケルトンおよびサービスデプロイ定義を生成する(4.1.4
    生成されたWSDLからサーバ側に必要なソースコードであるスケルトンを生成します。同時に,生成したソースコードをSOAPアプリケーションとして利用するためのサービスデプロイ定義を生成します。
  4. サーバ側の処理を実装する(4.1.5
    スケルトン生成時に生成された実装クラスに,SOAPサービスの実装を記述します。
  5. スタブを生成する(4.1.7
    WSDLからクライアント側に必要なソースコードであるスタブを生成します。
  6. クライアント側の処理を実装する(4.1.8
    SOAPサービスを利用するクライアント側の処理を実装します。

(2) 既存のJavaクラスを利用してSOAPアプリケーションを開発する場合

既存のJavaクラスを利用してSOAPアプリケーションを開発する場合の流れを示します。

図3-2 既存のJavaクラスを利用したSOAPアプリケーションの開発

[図データ]

既存のJavaクラスからWSDLおよびサービスデプロイ定義を生成します。生成したWSDLからクライアントで使用するJavaクラス(スタブ)を生成します。

既存のJavaクラスを利用してSOAPアプリケーションを開発する場合の手順を示します。括弧内の数字は,開発例の参照先を示します。

  1. サービスデプロイ定義を生成する(4.2.2
    既存のJavaクラスをSOAPアプリケーションとして利用するためのサービスデプロイ定義を生成します。
  2. WSDLを生成する(4.2.4
    既存のJavaクラスをSOAPサービスとして公開するためのWSDLを生成します。
  3. スタブを生成する(4.2.5
    生成されたWSDLからクライアント側に必要なソースコードであるスタブを生成します。
  4. クライアント側の処理を実装する(4.2.6
    SOAPサービスを利用するクライアント側の処理を実装します。

(3) 既存のEJBを利用してSOAPアプリケーションを開発する場合

既存のEJBを利用してSOAPアプリケーションを開発する場合の流れを示します。

図3-3 既存のEJBを利用したSOAPアプリケーションの開発

[図データ]

既存のEJBからWSDLおよびサービスデプロイ定義を生成します。生成したWSDLからクライアントで使用するJavaクラス(スタブ)を生成します。

既存のEJBを利用してSOAPアプリケーションを開発する場合の手順を示します。括弧内の数字は,開発例の参照先を示します。

  1. EJB呼び出し環境を設定する(4.3.2
    J2EEアプリケーションのRMI-IIOPインタフェースおよびRMI-IIOPスタブを取得します。
  2. サービスデプロイ定義を生成する(4.3.3
    Enterprise Beanクラスとホームインタフェースから,既存のJavaクラスをSOAPアプリケーションとして利用するためのサービスデプロイ定義を生成します。
  3. WSDLを生成する(4.3.5
    既存のEJBをSOAPサービスとして公開するためのWSDLを生成します。
  4. スタブを生成する(4.3.6
    生成されたWSDLからクライアント側に必要なソースコードであるスタブを生成します。
  5. クライアント側の処理を実装する(4.3.7
    SOAPサービスを利用するクライアント側の処理を実装します。

(4) 添付ファイルを使用してSOAPアプリケーションを開発する場合

添付ファイルを使用したSOAPアプリケーションを開発する場合の流れを示します。

図3-4 添付ファイルを使用したSOAPアプリケーションの開発

[図データ]

添付ファイルを使用したSOAPアプリケーションを開発する場合,Javaインタフェース(リモートインタフェース)からWSDLを生成し,生成したWSDLからサーバおよびクライアントに必要な次のファイルを生成します。

添付ファイルを使用したSOAPアプリケーションを開発する場合の手順を示します。括弧内の数字は,開発例の参照先を示します。

  1. Javaインタフェース(リモートインタフェース)を作成する(4.4.2
    SOAPアプリケーションのWSDLを作成するために,Javaインタフェース,およびユーザ定義のデータ型クラスを作成します。
  2. WSDLを生成する(4.4.3
    作成したJavaインタフェースおよびユーザ定義のデータ型クラスから,SOAPアプリケーションのWSDLを生成します。
  3. スケルトンおよびサービスデプロイ定義を生成する(4.4.4
    生成されたWSDLからサーバ側に必要なソースコードであるスケルトンを生成します。同時に,生成したソースコードをSOAPアプリケーションとして利用するためのサービスデプロイ定義を生成します。
  4. サーバ側の処理を実装する(4.4.5
    スケルトン生成時に生成された実装クラスに,SOAPサービスの実装を記述します。
  5. スタブを生成する(4.4.7
    WSDLからクライアント側に必要なソースコードであるスタブを生成します。
  6. クライアント側の処理を実装する(4.4.8
    SOAPサービスを利用するクライアント側の処理を実装します。

(5) DIIを使用してSOAPアプリケーションを開発する場合

DIIを使用したSOAPアプリケーションを開発する場合の流れを示します。

図3-5 DIIを使用したSOAPアプリケーションの開発

[図データ]

JavaインタフェースからWSDLを生成し,生成したWSDLからサーバで使用するJavaクラス(スケルトン)およびサービスデプロイ定義を生成します。DIIを使用する場合,スタブは使用しません。SOAPサービスの呼び出しに必要な情報をWSDLファイルから取得します。

DIIを使用したSOAPアプリケーションを開発する場合の手順を示します。括弧内の数字は,開発例の参照先を示します。

  1. Javaインタフェース(リモートインタフェース)を作成する(4.1.2
    SOAPアプリケーションのWSDLを作成するために,Javaインタフェース,およびユーザ定義のデータ型クラスを作成します。
  2. WSDLを生成する(4.1.3
    作成したJavaインタフェースから,SOAPアプリケーションのWSDLを生成します。
  3. スケルトンを生成する(4.1.4
    生成されたWSDLからサーバ側に必要なソースコードであるスケルトンを生成します。
  4. サーバ側の処理を実装する(4.1.5
    スケルトンの生成と同時に生成された実装クラスに,SOAPサービスの実装を記述します。
  5. DIIのクライアント側の処理を実装する(3.8.2
    SOAPサービスを利用するクライアント側の処理を実装します。

(6) .NET Frameworkを使用してSOAPアプリケーションのクライアントを開発する場合

.NET Frameworkを使用してSOAPアプリケーションを開発する場合の流れは,新規に開発する場合,既存のJavaクラスを利用する場合,および既存のEJBを利用する場合と同じです。

ただし,クライアント側に必要なソースコード(スタブ)を生成するときに,.NET Framework SDKが提供するwsdlコマンドを使用する必要があります。