ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド
12c リリース1(12.1.1)
B65942-01
  目次へ移動
目次

前
 
次
 

1 JAX-WS Webサービスの概要

この章では、Java API for XML-based Web services(JAX-WS)を使用するWebLogic Webサービスの開発方法の概要を説明します。JAX-WSは、Java Webサービスのコーディング、構築、デプロイメントに使用する標準ベースのAPIです。

この章の内容は以下のとおりです。

JAX-WS Webサービス開発の概要

WebLogic WebサービスはJSR 109: Implementing Enterprise Web Services仕様(http://www.jcp.org/en/jsr/detail?id=109)に従って実装されています。この仕様では、JavaでWebサービスを実装するための標準のJava EE実行時アーキテクチャを定義しています。また、標準Java EE Webサービスのパッケージ化形式、デプロイメント・モデル、実行時サービスについても記述されており、そのすべてをWebLogic Webサービスで実装しています。

この節の内容は以下のとおりです。

プログラミング・モデル - メタデータ・アノテーション

JSR 109: Implementing Enterprise Web Services仕様(http://www.jcp.org/en/jsr/detail?id=109)では、Java EE Webサービスは次のいずれかのコンポーネントによって実装するものと定められています。

  • Webコンテナ内で動作するJavaクラス

  • EJBコンテナ内で動作するステートレスまたはシングルトン・セッションEJB

JavaクラスまたはEJBのコードは、Webサービスのビジネス・ロジックを実装します。生のJavaクラスまたはEJBを直接コーディングするかわりに、JWSアノテーション・プログラミング・モデルを使用することをお薦めします。それによって、WebLogic Webサービスのプログラミングがより簡単になります。

このプログラミング・モデルでは、JDK 6.0メタデータ・アノテーション機能を利用しています。アノテーション付きのJavaファイルを作成し、Antタスクを使用してそのファイルをJavaクラスにコンパイルし、関連するアーティファクトをすべて生成します。アノテーション付きのJava Webサービス(JWS)ファイルは、Webサービスの中核部分です。このファイルにはWebサービスの動作を決定するJavaコードが含まれています。JWSファイルは、アノテーションを使用してWebサービスの形式や特性を指定した、通常のJavaクラス・ファイルです。JWSファイルで使用できるJWSアノテーションには、Web Services Metadata for the Java Platform仕様(http://www.jcp.org/en/jsr/detail?id=181)で定義された標準のアノテーションと、その他の標準またはWebLogic固有のアノテーションがあり、作成するWebサービスのタイプに応じて使い分けます。

基本的なWebLogic Webサービスをコーディングしたら、追加の高度な機能をプログラミングおよび構成できます。たとえば、SOAPメッセージのデジタル署名や暗号化を指定できます(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wssのWS-Security仕様で規定)。このようなWebLogic Webサービスの高度な機能は、WS-Policyファイルを使用して構成します。WS-PolicyファイルはWS-Policy仕様に準拠するXMLファイルです。セキュリティや信頼性のあるメッセージングの構成を記述するための、セキュリティに固有のXML要素やWebサービスの信頼性のあるメッセージングに固有のXML要素が含まれています。

開発モデル - ボトムアップとトップダウン

Webサービスの開発には、ボトムアップとトップダウンという2つのアプローチがあります。以降の節でそれぞれのアプローチについて説明します。

ボトムアップ・アプローチ: Javaから開始

ボトムアップ・アプローチでは、JWSファイルを最初から開発します。JWSファイルを作成したら、jwsc WebLogic WebサービスのAntタスクを使用して、JWSファイルをコンパイルします。http://www.jcp.org/en/jsr/detail?id=109「JSR 109: Implementing Enterprise Web Services」仕様を参照してください。

jwsc Antタスクでは、JWSファイルは常にプレーンJavaクラスにコンパイルされます。ステートレスまたはシングルトン・セッションEJBが実装されるのは、JWSファイルにステートレスまたはシングルトン・セッションEJBを実装している場合のみです。jwsc Antタスクは、Webサービスの補助的なアーティファクトもすべて生成し、アーカイブ・ファイルにすべてをパッケージ化して、WebLogic Serverにデプロイできるエンタープライズ・アプリケーションを作成します。

jwsc Antタスクのデフォルトでは、Webサービスはすべての標準WARアーティファクトとともに標準のWebアプリケーションWARファイルにパッケージ化されます。ただし、このWARファイルには、それがWebサービスでもあることを示す追加のアーティファクトが含まれています。追加のアーティファクトには、デプロイメント記述子ファイル、Webサービスのパブリック規約を記述したWSDLファイルなどがあります。jwscを複数のJWSファイルに対して実行する場合は、jwscが複数のWebサービスを1つのWARファイルにパッケージ化するか、Webサービスごとに別々のWARファイルにパッケージ化するかを選択できます。どちらを選択した場合でも、jwscによって1つのエンタープライズ・アプリケーションが生成されます。

JWSファイルにステートレスまたはシングルトン・セッションEJBを実装した場合、jwsc Antタスクは、ejb-jar.xmlおよびweblogic-ejb.jar.xmlデプロイメント記述子ファイルなどの通常のアーティファクトをすべて含めて、Webサービスを標準のEJB JARにパッケージ化します。EJB JARファイルには、前述のような、Webサービスであることを示すWebサービスに固有の追加のアーティファクトも含まれています。同様に、複数のJWSファイルを1つのEJB JARファイルにパッケージ化するか、複数のEJB JARファイルにパッケージ化するかを選択できます。

または、build.xmlファイルのjwsc Antタスクを更新して、module子要素のejbWsInWar属性を有効にすることにより、セッションEJBがWebアプリケーションのWARファイルとしてパッケージ化されるように指定できます。詳細は、『Oracle WebLogic Server WebLogic Webサービス・リファレンス』の「jwsc」を参照してください。

ボトムアップ・アプローチの詳細は、「Javaから開始するWebLogic Webサービスの開発: 主な手順」を参照してください。

トップダウン・アプローチ: WSDLから開始

トップダウン・アプローチでは、WSDLファイルからWebサービスを作成します。wsdlc Antタスクを使用して、WSDLファイルで記述されたWebサービスの部分的な実装を生成することができます。JWSサービス・エンドポイント・インタフェース(SEI)、途中まで作成済みのJWSクラス・ファイル、XMLスキーマ・データ型を表すJavaBeanなどが、wsdlc Antタスクによって出力ディレクトリ内に生成されます。

wsdlc Antタスクを実行(通常は1回だけ実行)したら、メソッドをビジネス要件どおりに実行するためにそのメソッドにJavaコードを追加するなどして、生成されたJWS実装ファイルを更新します。wsdlc Antタスクは、WSDLファイルを基にWebサービスの形式を認識していますが、そのWebサービスをどのように実行するかについては認識していないので、最初は生成されたJWS実装ファイルにビジネス・ロジックは含まれていません。

wsdlc AntタスクはJWS SEIとデータ・バインディング・アーティファクトを一緒にJARファイルにパッケージ化します。このJARファイルを後でjwsc Antタスクに指定します。このJARファイルを更新する必要はありません。更新するファイルはJWS実装クラスのみです。

トップダウン・アプローチの詳細は、「WSDLファイルから開始するWebLogic Webサービスの開発: 主な手順」を参照してください。

JAX-WS Webサービスを実装するためのロードマップ

次の表に、WebLogic Serverを使用したRESTful Webサービスおよびクライアントの開発、パッケージ化とデプロイ、呼出しおよび管理における一般的なタスクのロードマップを示します。

表1-1 JAX-WS Webサービスを実装するためのロードマップ

内容

第2章「ユース・ケースとサンプル」


一般的なユース・ケースとサンプルを実行します。

第3章「WebLogic Webサービスの開発」


WebLogic開発環境でWebサービスを開発します。

第4章「JWSファイルのプログラミング」


Webサービスを実装するJWSファイルをプログラムします。

第5章「JAXBデータ・バインディングの使用」


Java Architecture for XML Binding (JAXB)データ・バインディングを使用します。

第6章「WebLogic Webサービス・クライアントの開発」


スタンドアロン・クライアントまたは別のWebサービスからWebサービスを呼び出します。

第7章「Webサービスの管理」


管理コンソールを使用してWebLogic Webサービスを管理します。

第8章「JAX-WSへのJAX-RPC Webサービスおよびクライアントの移行」


JAX-RPC WebサービスをJAX-WSへ移行します。



注意:

Oracle WebLogic ServerのJAX-WS実装は、JAX-WS参照実装(RI)から拡張されて、Glassfish Communityによって開発されます(http://jax-ws.java.net/を参照してください)。JAX-WS仕様(JSR-224)で定義されたすべての機能は、Oracle WebLogic Serverによって完全にサポートされます。

また、JAX-WS RIにはGlassfishコントリビュータによって提供された様々な拡張があります。特に記載しないかぎり、JAX-WS RI拡張はOracle WebLogic Serverでの使用についてはサポートされません。


WebLogic Webサービスの概要、規格、サンプル、および関連ドキュメントは、『Oracle WebLogic Server WebLogic Webサービスの紹介』を参照してください。WebLogic Webサービスのセキュリティの詳細は、『Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。