ヘッダーをスキップ

Oracle Application Server Web Services開発者ガイド
10g(10.1.3.1.0)

B31868-01
目次
目次
索引
索引

戻る 次へ

19 Webサービスのパッケージ化およびデプロイ

この章では、Oracle Application Server Web ServicesによってサポートされるWebサービス・ファイルのパッケージ化とデプロイについて説明します。Webサービスは、いくつかの詳細事項を除き、その他のJ2EEアプリケーションと同じ方法でパッケージ化およびデプロイされます。

この章の内容は、次のとおりです。

Webサービス・パッケージ化の概要

Webサービス・ファイルをアセンブルおよびパッケージ化するには、Oracle JDeveloperまたはWebServicesAssemblerを使用します。これらのツールを使用すると、パッケージ化したアプリケーションに正しいファイルおよびデプロイメント・ディスクリプタが含まれます。Oracle JDeveloperウィザードのオプションやWebServicesAssemblerコマンドの引数を使用すると、実行時にWebサービスによって使用されるデプロイメント・ディスクリプタの値を構成できます。各ファイルは、Enterprise Web Services 1.1の仕様に記載されているルールに従って、デプロイ可能なEARファイルにパッケージ化されます。

また、Webサービス・アプリケーションは手動でアセンブルおよびパッケージ化することもできます。この章では、Webサービスのパッケージの構造と内容について説明しますが、手動アセンブリの詳細は説明しません。

デプロイを行うには、コマンドラインまたはAntタスクでadmin_client.jarを使用するか、Oracle JDeveloperまたはApplication Server Controlツールを使用します。

表19-1は、OracleツールのどのツールでWebサービスをパッケージ化またはデプロイできるかを要約したものです。

表19-1    Oracleツールによるパッケージ化およびデプロイのサポート 
 

WebServices-Assembler 

Oracle JDeveloper 

Application Server Control 

admin_client.jar 

Antタスク 

パッケージ化 

○ 

○ 

× 

× 

× 

デプロイ 

× 

○ 

○ 

○ 

○ 

最終ステップとして、デプロイしたWebサービスをUniversal Description, Discovery, and Integration(UDDI)レジストリにパブリッシュできます。


注意

  • UDDIについては、このマニュアルでは説明しません。UDDIの使用の詳細は、次のWebサイトを参照してください。

    http://www.uddi.org/specification.html

  • OracleのUDDI製品であるOracle Application Server UDDIレジストリの詳細は、次のWebサイトを参照してください。

    http://www.oracle.com/technology/tech/webservices/htdocs/uddi/index.html

 

Webサービス・アプリケーションのパッケージの構造

OC4Jにデプロイされるように設計されているWebサービス・ファイルが、コンポーネント・デプロイ・モジュールに追加されます。このコンポーネント・デプロイ・モジュールには、EJB用のJARまたはJavaクラス用のWARファイルがあります。コンポーネント・デプロイ・モジュールは、デプロイ可能なEARに格納されます。EARファイル内のWebサービス・ファイルのパッケージの構造は、Enterprise Web Services 1.1の仕様に定義されているルールに準拠しています。次の各項では、JavaクラスおよびEJBをベースにしたWebサービスのパッケージの構造について説明します。

JavaクラスをベースにしたWebサービスのパッケージ化

JavaクラスをベースにしたWebサービスの場合、EARファイルにはWARファイルが格納されます。デプロイメント・ファイルおよびクラス・ファイルは、WARにおいてWEB-INFディレクトリの下に格納されます。WEB-INFディレクトリには、web.xmlwebservices.xmloracle-webservices.xmlおよびJAX-RPCマッピング・ファイルがあります。また、このディレクトリには、WSDL用のwsdlディレクトリ、クラス・ファイル用のclassesディレクトリおよびJARファイル用のlibディレクトリもあります。

META-INFディレクトリには、拡張機能およびパッケージ関連データを定義するMANIFEST.MFマニフェスト・ファイル、J2EEアプリケーションのコンポーネントを指定するapplication.xmlファイルが含まれます。

例19-1は、JavaクラスをベースにしたWebサービスのパッケージの構造を示します。

例19-1    JavaクラスをベースにしたWebサービスのパッケージの構造

<serviceName>.ear        contains 
      META-INF/
         |--MANIFEST.MF
         |--application.xml

      <serviceName>.war  contains 
          WEB-INF/
             |--web.xml
             |--webservices.xml
             |--oracle-webservices.xml
             |--<mapping file>
             |--wsdl/
                  |--<serviceName>.wsdl
             |--classes/
                  |--class files
             |--lib/
                  |--*jar files

EJBをベースにしたWebサービスのパッケージ化

EJBをベースにしたWebサービスのパッケージの構造は、Javaクラスの場合と似ていますが、EARファイルにマニフェストおよびJARファイルのためのMETA-INFディレクトリが含まれる点が異なります。JARファイル内には、EJB用のデプロイメント・ファイルおよびクラス・ファイルが含まれる別のMETA-INFディレクトリがあります。JAR内のMETA-INFディレクトリには、ejb-jar.xmlwebservices.xmloracle-webservices.xmlおよびJAX-RPCマッピング・ファイルがあります。また、このディレクトリには、WSDLおよびクラス・ファイルのためのwsdlディレクトリもあります。例19-2は、EJBをベースにしたWebサービスのパッケージの構造を示します。

例19-2    EJBをベースにしたWebサービスのパッケージの構造

<serviceName>.ear  contains
        META-INF/
           |--MANIFEST.MF
           |--application.xml

        <serviceName>.jar contains
              class files
              META-INF/
                  |--ejb-jar.xml
                  |--webservices.xml
                  |--oracle-webservices.xml
                  |--<mapping file>
                  |--wsdl/
                       |--<serviceName>.wsdl

パッケージ化されるファイルの説明

次のリストは、デプロイ用にパッケージ化されるファイルの説明です。

デプロイメント・ディスクリプタ・ファイル間の関係

この項では、webservices.xmlと、ejb-jar.xmloracle-webservices.xmlおよびweb.xmlファイルの関係について説明します。

webservices.xmlとejb-jar.xmlの関係

図19-1は、EJBをベースにしたWebサービス用のejb-jar.xmlの内容とwebservices.xmlの内容の関係を示します。webservices.xml<ejb-link>要素の値は、ejb-jar.xml<ejb-name>の値と同じです。このマッピングにより、Webサービスとして公開されるEJB、つまり、HTTP(SOAP over HTTP)を介して公開されるEJBが識別されます。webservices.xml<service-endpoint-interface>要素の値は、ejb-jar.xml<service-endpoint>の値と同じです。これは、EJBに関する追加の一意制約として機能します。

図19-1    webservices.xmlとejb-jar.xmlの関係


画像の説明

webservices.xmlとoracle-webservices.xmlの関係

図19-2は、J2EE標準のwebservices.xmlデプロイメント・ディスクリプタの内容とoracle-webservices.xml固有のデプロイメント・ディスクリプタの関係を示します。この関係により、ファイル間でのメタデータのマッピングが可能になります。webservices.xml<port-component-name>要素の値は、oracle-webservices.xml<port-component name="...">name属性と同じ値です。webservices.xml<webservice-description-name>要素の値は、oracle-webservices.xml<webservice-description name="...">name属性と同じ値です。

図19-2    webservices.xmlとoracle-webservices.xmlの関係


画像の説明

webservices.xmlとweb.xmlの関係

図19-3は、webservices.xmlの内容とweb.xmlの内容の関係を示しています。この関係により、Webサービスとして公開されるサーブレットが識別されます。webservices.xml<servlet-link>要素の値は、web.xml<servlet-name>と同じ値です。これにより、Webサービス実装をサーブレットとして公開する、つまり、HTTP(SOAP over HTTP)を介して公開することが可能になります。これは一般化されている方法であるため、JAX-RPCおよびEnterprise Web Services 1.1の仕様を実装するJ2EEコンテナ間でのアプリケーション・パッケージの移植を可能にします。これらの標準に準拠するアプリケーションは、Enterprise Web Services 1.1の仕様に準拠する任意のコンテナにデプロイし、任意のWebサービス・クライアントを使用して起動できます。

図19-3    webservices.xmlとweb.xmlの関係


画像の説明

パッケージ化用のツールのサポート

この項では、OracleAS Web Servicesに用意されている、Webサービス・ファイルをパッケージ化するためのツールのサポートについて説明します。パッケージ化は、WebServicesAssemblerまたはOracle JDeveloperによって行えます。

WebServicesAssemblerによるパッケージ化のサポート

この項では、WebServicesAssemblerによるパッケージ化のサポートについて説明します。Webサービスをアセンブルするための各コマンドは、Webサービスをデプロイ可能なEARにパッケージ化するのにも使用できます。ファイルのアセンブル時には、これらのコマンドの多くで、デプロイメント・ディスクリプタの作成も行われます。デプロイメント・ディスクリプタには、コンポーネントをデプロイするために必要な宣言データや、コンポーネントをアプリケーションに構成する方法を記述したアセンブリ方法が含まれます。

パッケージ化を実行するWebServicesAssemblerのコマンド

WebServicesAssemblerには、Webサービスに必要なすべてのファイルをアセンブルするためのコマンドがいくつか用意されています。

WebServicesAssemblerでは、すべての関連デプロイメント・ディスクリプタの生成が処理され、アプリケーションによって必要とされる固有の構成がOracle固有のデプロイ・ファイルにマップされます。また、WebServicesAssemblerは、関連するすべてのファイルをアプリケーション・サーバーにデプロイできるようにパッケージ化します。

これらのコマンドには、生成されたファイルを様々な方法でパッケージ化または保存するための引数があります。ear引数を使用すると、ファイルがデプロイ可能なEARファイルとして保存されます。war引数を使用すると、ファイルはWARファイルとして保存されます。また、ファイルは、WARの内容が含まれるディレクトリに、アーカイブせずに保存されます。

関連項目

 

デプロイメント・ディスクリプタの管理

多くのWebServicesAssemblerコマンドでは、Webサービスのアセンブル時にデプロイメント・ディスクリプタが作成されます。WebServicesAssemblerではデプロイは実行されませんが、WebServicesAssemblerコマンドの引数を使用すると、デプロイメント・ディスクリプタの値を設定できます。

デプロイメント・ディスクリプタを作成するコマンド

いくつかのWebServicesAssemblerコマンドでは、出力の一部としてapplication.xmlweb.xmlwebservices.xmlおよびoracle-webservices.xmlデプロイメント・ディスクリプタが生成されます。これらのファイルを生成するコマンドは、次のとおりです。

デプロイメント・ディスクリプタの内容に影響する引数

この項では、デプロイメント・ディスクリプタ・ファイルのリスト、およびその内容に影響を与える可能性のあるWebServicesAssemblerの引数を示します。

application.xml:

oracle-webservices.xml:

serviceName-java-wsdl-mapping.xml:

このファイル名で、serviceNameは、serviceName引数で指定されているWebサービスの名前を示します。

web.xml:

webservices.xml:

Oracle JDeveloperによるパッケージ化のサポート

Oracle JDeveloperには、Webサービス・アプリケーションをデプロイ用にパッケージ化するためのウィザードが用意されています。Oracle JDeveloperによるサポートの詳細は、Oracle JDeveloperオンライン・ヘルプの次のトピックを参照してください。

Webサービス・デプロイの概要

デプロイとは、アプリケーションが実行されるサーバーにアプリケーション・ファイルを転送するプロセスのことです。WebモジュールおよびEJBのデプロイの詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の次の章を参照してください。

Webサービスは、Oracle JDeveloperまたはApplication Server Controlを使用してデプロイできます。また、Webサービスのデプロイには、Antタスクを使用することや、コマンドラインでadmin_client.jarを使用することもできます。

関連項目

これらのツールによるデプロイの詳細は、「デプロイ用のツールのサポート」を参照してください。 

デプロイ用のツールのサポート

この項では、OracleAS Web Servicesに用意されているデプロイ用ツールのサポートについて説明します。デプロイの実行には、コマンドライン、Oracle JDeveloperおよびApplication Server Controlが使用できます。

デプロイ用のコマンドラインのサポート

OC4Jに用意されているadmin_client.jarコマンドライン・ユーティリティを使用して、EARファイルにパッケージ化されたWebサービスをデプロイできます。アプリケーションのデプロイ・プロセスをスクリプトで記述する場合は、このユーティリティを使用できます。ただし、WARファイルにパッケージ化されたWebモジュールなど、スタンドアロンのモジュールは、admin_client.jarではサポートされていません。

関連資料

このツールを使用したアプリケーションのデプロイの詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の「admin_client.jarによるアプリケーションのデプロイ」を参照してください。 

admin_client.jarを使用したデプロイメントのサンプル

Webサービス用のファイルが含まれるEARファイルは、他のJ2EEアプリケーションと同じ方法でデプロイできます。次は、デプロイメント・コマンドのサンプルです。

java -jar <oc4jHome>/j2ee/home/admin_client.jar deployer:oc4j:<oc4jHost>:<oc4jOrmiPort> 
<adminId> <adminPassword>
            -deploy 
            -file dist/hello.ear 
            -deploymentName hello 
            -bindWebApp default-web-site

次のリストは、このコード例のパラメータの説明です。

デプロイ用のAntタスクのサポート

OracleAS Web Servicesには、OC4Jインスタンスに対するJ2EEアプリケーションのデプロイおよびアンデプロイ用として一連のAntタスクが用意されています。Antタスクの詳細や、タスクをアプリケーションのビルド・プロセスに組み込むためのガイドラインについては、『Oracle Containers for J2EEデプロイメント・ガイド』の「OC4J Antタスクによるデプロイ」を参照してください。この章の内容は、次のとおりです。

Oracle JDeveloperによるデプロイのサポート

次のリストは、Webサービスのデプロイに役に立つOracle JDeveloperのオンライン・ヘルプ内のトピックです。これらのトピックの詳細は、Oracle JDeveloperのオンライン・ヘルプを参照してください。

Application Server Controlによるデプロイのサポート

次のリストは、Webサービスのデプロイに役に立つApplication Server Controlのオンライン・ヘルプ内のトピックです。これらのトピックの詳細は、Application Server Controlのオンライン・ヘルプを参照してください。

制限事項

「Webサービスのパッケージ化およびデプロイ」を参照してください。

追加情報

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


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引