Complementadno os ótimos comentários dos colegas:
Apache CXF™ is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
Fonte: http://cxf.apache.org/
go ahead!
O Apache CXF é um framework de serviço de código aberto. Este framework ajuda no desenvolvimento e construção de Web Services e para isso utiliza API's, como por exemplo JAX-WS e JAX-RS e ele pode se comunicar com vários protocolos tais como SOAP, XML/HTTP, RESTful HTTP, ou CORBA e trabalhar sobre uma variedade de protocolos de transporte como HTTP, JMS ou JBI.
Quando trabalhamos com classes neste framework precisamos ter em mente que ele trabalha com quatro classes primárias que ajudam na representação dos serviços.
Temos as seguintes classes:
Service - contém o modelo de serviço, que é uma representação abstrata do Serviço e de suas operações. Ele também contém informações como a ligação de dados em uso, o Invoker, o Executor, as propriedades do serviço, os interceptadores e muito mais.
Endpoint - representa um ponto final que pode receber mensagens. Sua função principal é manter interceptadores específicos para esse ponto de extremidade (por exemplo, interceptores SOAP) e fornecer ouvintes para falhas que ocorram. O cliente e o servidor usam a classe Endpoint.
Cliente - é uma implementação do cliente que gerencia os fluxos de mensagens no lado do cliente.
Server - representa um terminal do servidor dentro do CXF. Ele fornece ganchos para iniciar / parar o servidor e acessar o Endpoint.
O CXF também inclui várias fábricas para ajudar na criação de clientes e servidores:
AbstractServiceFactoryBean - Essa classe é responsável por criar o modelo de serviço a partir de um arquivo WSDL ou de classe. Ele também configura propriedades básicas, como a ligação de dados ou interceptores básicos. Geralmente, ele está oculto atrás de um Client / ServerFactoryBean.
ServerFactoryBean - Cria um terminal do lado do servidor.
ClientFactoryBean - Cria um terminal do cliente.
ClientProxyFactoryBean - Cria um proxy Java em torno de um cliente