Apache CXF
Apache CXF ist ein Open-Source-Webservice-Framework der Apache Software Foundation. Der Name CXF steht für "CeltiXFire", eine Verschmelzung der Namen der beiden Frameworks IONA Celtix und Codehaus XFire, welche die Basis für Apache CXF darstellten.[3]
Apache CXF | |
---|---|
Basisdaten | |
Entwickler | Apache Software Foundation |
Erscheinungsjahr | 4. April 2009[1] |
Aktuelle Version | 3.3.3[2] (13. August 2019) |
Betriebssystem | plattformübergreifend |
Programmiersprache | Java |
Kategorie | Webservice-Framework |
Lizenz | Apache-Lizenz 2.0 |
cxf.apache.org |
Fokus
Apache CXF hat wie alle Webservice-Frameworks eine Reihe an Fähigkeiten, ist aber vorwiegend auf folgende Bereiche fokussiert:[4]
- Unterstützung von Web Service Standards – CXF unterstützt eine Reihe von Web Service Standards wie SOAP, WSI Basic Profile, WSDL 2.0, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy und WS-SecureConversation.
- Unterstützung von verschiedenen Frontend-Programmiermodellen – CXF implementiert die JAX-WS und JAX-RS (JSR 311) API, inkludiert aber auch ein "einfaches" Frontend, welches die Implementierung von Clients ohne Verwendung von Annotationen oder mit JavaScript unterstützt. Es unterstützt die Umsetzung von Webservices sowohl über den Code First-Ansatz (Bottom Up) unter Verwendung von sog. Plain Old Java Objects (POJO), als auch den Contract First-Ansatz (Top Down) unter Verwendung von WSDL.
- Einfache Verwendung – CXF bietet dazu einfache APIs für Code-First Services, Apache-Maven-Plug-ins für die Integration in den Buildprozess und das Framework Spring, XML Support für einfachere Konfiguration.
- Unterstützung von binären und proprietären Protokollen – CXF basiert auf einer Plug-In Architektur, welche sowohl XML- als auch nicht XML-basierende Datenbindung wie beispielsweise JSON und CORBA in Kombination mit jeder Art von Transportprotokollen (HTTP, JMS, JVM) unterstützt.
Apache CXF wird häufig zusammen mit Apache ServiceMix (Enterprise Service Bus), Apache Camel (Enterprise Messaging System) und Apache ActiveMQ (Java Message Service) in SOA-Infrastruktur-Projekten eingesetzt.[5]
IONA vertreibt eine kommerzielle Enterprise-Version von Apache CXF unter dem Namen FUSE Services Framework.[6]
Unterstützte Standards und Spezifikationen
Apache CXF unterstützt die W3C-Standards SOAP, MTOM und WSDL, sowie die W3C-Spezifikationen WS-Addressing, WS-Policy, WS-Reliable Messaging, WS-Security, WS-SecureConversation und WS-Trust.
Apache CXF unterstützt die Java-Programmierschnittstellen JAX-WS, JAX-RS, JBI, JCA, JMX, JMS über SOAP, Spring sowie die XML-Datenbindungs-Frameworks JAXB, Aegis, Apache XMLBeans, SDO.[7]
Siehe auch
- Apache Axis, weiteres aktuelles Webservice-Framework von Apache
- Web Services Interoperability Technology (WSIT), aktuelle Webservice-Framework Sammlung von Sun Microsystems
- Serviceorientierte Architektur (SOA)
Einzelnachweise
- projects.apache.org. (abgerufen am 8. April 2020).
- cxf.apache.org.
- Ankündigung von Codehaus XFire zur Zusammenführung von Celtix und XFire (Memento vom 28. Juni 2007 im Internet Archive)
- Apache CXF Homepage
- Apache ActiveMQ - Projects using ActiveMQ
- Open Source FUSE Services Framework - based on CXF
- Apache CXF Projekt Status