ページの先頭行へ戻る
Interstage Studio V12.2.0 ユーザーズガイド Java EE 6編
FUJITSU Software

5.1.1 Webサービスとは

Webサービスは、ネットワークを通じてシステムの機能をサービスとして公開する技術で、既存システムの有効活用やソフトウェアの再利用を促進する方法として注目を集めています。
これらを実現するために、Webサービスは、HTTPを下位プロトコルに利用するSOAPを使用して通信を行い、公開するサービスのインタフェースはWSDLで定義することが標準となっています。
また、Webサービスは相互接続性が重要であり、制約や、Webサービスで使用する仕様(SOAP/WSDL/UDDIなど)の曖昧な点の明確化などが、WS-I Basic Profileに規定されています。

実際にWebサービスを提供するには、以下の規約に基づいてサービスエンドポイントインタフェースを決定し、サービスエンドポイントを提供します。

ポイント

  • 開発方法には、サービスエンドポイントインタフェースをWSDLで設計するトップダウン開発と、サービスエンドポイントとなるJavaクラスを作成し、その結果としてサービスエンドポイントインタフェースが決定するボトムアップ開発があります。

  • Webサービスにはこれ以外にもJAX-RS (Java API for RESTful Web Services) 規約があります。
    JAX-RSは、RESTアーキテクチャに基づいてWebサービスを実装するための規約です。HTTPリクエストおよびレスポンス処理を、アノテーションを用いて実装します。

5.1.1.1 Java EE 5からの変更点

Java EE 6に含まれるWebサービスの仕様はJAX-RS1.1、JAX-WS2.2です。

JAX-RS1.1を利用することで、Representational State Transfer(REST) 型のWebアプリケーションを簡単に開発できます。

JAX-RS1.1ではアノテーションを利用することで、Javaリソースのパスを指定したり、JavaメソッドをHTTPリクエストメソッドにバインドすることが簡単にできます。

アノテーション

アノテーションを利用し、REST型のWebアプリケーションとして動作するクラスを定義することができます。

代表的なアノテーションを以下に挙げます。

アノテーションを利用したREST型Webアプリケーションの作成例

@Path(value=""/root"")
public class RootResource {
    @GET
    public String getName() {
        return ""name"";
    }
}

ポイント

JAX-RS 1.1の詳細情報については、以下の規約を参照してください。

  • JSR-311: JAX-RS: The Java(TM) API for RESTful Web Services

JAX-WS 2.2の詳細情報については、以下の規約を参照してください。

  • JSR 224: Java(TM) API for XML-Based Web Services (JAX-WS) 2.2