Montag, 18. Mai 2009

Axis, CXF, JAX-WS RI u. XFire Stammbaum

Die Beziehungen zwischen den SOAP Toolkits und den Spezifikationen für Web Services mit Java zeigt der folgende "Stammbaum":



Angefangen hat alles mit SOAP4J, das IBM an Apache übergeben hat. Daraus wurde dann das weit verbreitete Axis. Axis1 ist noch heute die Implementierung für JAX-RPC. Da die neueren Tools den RPC/Encoded Nachrichtenstil nicht mehr unterstützen kommt Axis1 immer noch zum Einsatz. Aufgrund der Mängel der JAX-RPC Spezifikation (eigenes Binding Framework, keine Annotationen,...) ist der Nachfolger JAX-WS eine vollkommene Neuentwicklung, die auf den JDK 1.5 Annotationen und dem XML Binding Framework JAXB basiert. Seit neustem unterstützt Axis2 auch JAX-WS. Allerdings nur teilweise. Axis2 verwenden eine Reihe von Apache Projekten wie das SCA Framework Tuscany oder Apache Synapse, ein leichtgewichtiger ESB. Auch die IBM WebSphere Community Edition verwendet Axis2.
Ein weiteres Apache Projekt, welches JAX-WS vollständig implementiert ist CXF. CXF ist aus XFire und Celtix hervorgegangen. Da Xfire und CXF auf Spring basieren wurden sie oft in anderen Projekten als Web Services Komponenten verwendet.
Beispielsweise gibt es für ServiceMix jeweils einen SOAP Konnektor, der auf XFire und CXF basiert.
CXF unterstützt neben JAX-WS für SOAP auch noch JAX-RS. Mit JAX-RS kann man RESTful Web Services mit Java nutzen und realisieren.

Keine Kommentare:

Kommentar veröffentlichen