のっかーのエンジニア日記

新人SEの日記です。

SOAP関連のライブラリの整理

SOAP関連のライブラリで、略称が多く、意味がよくわからなかったので、 簡単に概要をまとめてみました。 誤りなどありましたら、ご指摘いただけますと幸いです。

JAXB

Java Architecture for XML Binding

XMLJavaオブジェクトを相互変換するためのAPI仕様。

  • javax.xml.bind:jaxb-api
    JAXBのAPIを含むライブラリ。
  • org.glassfish.jaxb:jaxb-runtime
    JAXBの実行時に必要。

JAX-RPC

Java API for XML-based Remote Procedure Call

XMLを使用した遠隔呼び出し手続きを実装するためのJavaの標準仕様。 JAX-RPC 2.0として開発されていたバージョンは、対象範囲がWebサービスへ拡大したことから、 JAX-WSへと改称された。

JAX-WS

Java API for XML-Based Web Service

XMLをベースにし、通信にはSOAPやRESTを使ったWebサービスを扱うためのAPI仕様。 以前はJAX-RPCと呼ばれていた。

JAX-RS

Java API for RESTful Web Services

RESTfulなWebサービスを扱うためのAPI仕様。

Apache CXF

WebサービスフレームワークJAX-WSJAX-RSなどのAPIを使ってサービスを開発できる。

データバインディングにJAXBをデフォルトで使用している。

  • org.apache.cxf:cxf-rt-frontend-jaxws
    JAX-WSの実行時に必要。フロントエンドの実装に使う。
  • org.apache.cxf:cxf-rt-transports-http
    HTTP通信に必要なAPIを提供。
  • org.apache.cxf:cxf-rt-transports-http-jetty
    cxf-rt-transports-httpの実行時に必要。

Metro

Webサービスのスタックで、 スタックは、JAX-WS RIとWeb Services Interoperability Technologies (WSIT)から構成されている。 データバインディングにJAXBをデフォルトで使用している。

  • org.glassfish.metro:webservices-api
    MetroのAPIを含むライブラリ。
  • org.glassfish.metro:webservices-rt
    Metroの実行時に必要。

JAX-WS RI

JAX-WS Reference Implementation

WebサービスフレームワークJAX-WSの参照実装。

  • com.sun.xml.ws:jaxws-ri
    JAX-WSの参照実装。
  • com.sun.xml.ws:jaxws-rt
    JAX-WS RI Runtime。 JAX-WS RI の実行時に必要。