Search code examples
springwebserviceframeworkscxf

What's the difference between application vs service frameworks?


I'm reading tutorial for Apache CXF and I see one of the samples is using Spring framework. Looking at the following example I don't understand how it is different from just using Spring (it seems CXF doesn't add any add'l functionality?) http://cxf.apache.org/docs/writing-a-service-with-spring.html


Solution

  • Apache CXF is a Services Framework which can be used to create web services and support JAX-RS/JAX-WS/SAAJ etc (various specifications for developing Web Services).

    From there documentation they support the following:

    Multiple Transports, Protocol Bindings, Data Bindings, and Formats

    Transports: HTTP, Servlet, JMS, In-VM and many others via the Camel transport for CXF such as SMTP/POP3, TCP and Jabber

    Protocol Bindings:SOAP, REST/HTTP, pure XML Data bindings: JAXB 2.x, Aegis, Apache XMLBeans, Service Data Objects (SDO), JiBX

    Formats: XML Textual, JSON,FastInfoset

    Extensibility API allows additional bindings for CXF, enabling additional message format support such as CORBA/IIOP

    Where as Spring is an Application Framework and supports

    1. IOC Container / DI Framework
    2. MVC Framework (Web Applications and Web Services support)
    3. Data/JPA wrappers etc

    To make your enterprise application creation experience smooth.