Apache CXF – An Open-Source Services Framework – Architecture



Apache CXF – An Open-Source Services Framework – Architecture

0 0


apache_cxf


On Github piotr-piotrowski / apache_cxf

Apache CXF

An Open-Source Services Framework

Created by Piotr Piotrowski / @amad3us

Agenda

History Why Apache CXF? Minimal example Architecture Code-first example Contract-first example Rest example JavaScript example Summary & Question

History

Merge of Celtix and XFire

Why Apache CXF?

  • most widely used
  • support for web service standards
  • support for POJO
  • frontend programming APIs
  • wide range of tools
  • support for RESTful services
  • support for different transports and bindings
  • support for non-XML binding
  • ease of use & intuitive & simple
  • flexible deployment & support for Spring Framework
  • the best performance
  • support for code-first and contract-first approach

Minimal example

Architecture

  • Bus
  • Frontend
  • Messaging and Interceptors
  • Service Model
  • Data bindings
  • Protocol bindings
  • Transport

Bus

  • Bus is backbone of CXF architecture
  • Bus is Spring bean and can be overridden

Frontend

Messaging and Interceptors

Service Model

  • is the representation of a service within CXF
  • is used by frontend to create web services

Data bindings

  • is the key for any webservice development
  • is mapping between Java objects and XML elements
  • JAXB & Aegis

Protocol bindings

  • SOAP 1.1
  • SOAP 1.2
  • CORBA
  • Pure XML

Transport

  • HTTP
  • CORBA
  • JMS
  • Local

Code-first example

  • Creating Service Endpoint Interface
  • Add Java annotations
  • Publishing

Contract-first example

Rest example

JavaScript example

Summary & question

Thank you!!!

and

happy Xmas!!!