Apache CXF
Encyclopedia
Apache CXF is an open-source, fully featured Web services framework. It originated as the combination of two open-source projects: Celtix
Celtix
Celtix delivers a Java Enterprise Service Bus runtime and set of APIs that make it easy to add transports, message formats, and security features...

 developed by IONA Technologies
IONA Technologies
IONA Technologies was an Irish software company. It was founded in 1991.The company began life as a campus company in Trinity College, Dublin and maintains headquarters in Dublin, Boston and Tokyo....

 (acquired by Progress Software in 2008) and XFire
Codehaus XFire
is a Java SOAP framework for development and consumption of web services.Unlike earlier similar products, such as Apache Axis 1.x that use in-memory tree models for XML, XFire uses StAX resulting in better performance..Apache Axis2 also uses StAX....

 developed by a team hosted at Codehaus. These two projects were combined by people working together at the Apache Software Foundation
Apache Software Foundation
The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999.The Apache Software Foundation is a decentralized community of developers...

. The name CXF derives from combining the "Celtix" and "XFire" project names.

The CXF key design considerations include:
  • Clean separation of front-ends
    Front-end and back-end
    Front end and back end are generalized terms that refer to the initial and the end stages of a process. The front end is responsible for collecting input in various forms from the user and processing it to conform to a specification the back end can use...

    , like JAX-WS, from the core code
    Source code
    In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

    .
  • Simplicity with, for instance, the creation of clients
    Client (computing)
    A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....

     and endpoints without annotations.
  • High performance with minimum computational overhead
    Computational overhead
    In computer science, overhead is generally considered any combination of excess or indirect computation time, memory, bandwidth, or other resources that are required to attain a particular goal...

    .
  • Embeddable Web service component: example embeddings include Spring Framework and Geronimo.


CXF is often used with Apache ServiceMix
Apache ServiceMix
Apache ServiceMix is an enterprise-class open-source distributed enterprise service bus and service-oriented architecture . It was built from the ground up on the semantics and APIs of the Java Business Integration specification JSR 208 and released under the Apache License...

, Apache Camel
Apache Camel
Apache Camel is a rule-based routing and mediation engine which provides a Java object-based implementation of the Enterprise Integration Patterns using an API to configure routing and mediation rules...

 and Apache ActiveMQ
Apache ActiveMQ
Apache ActiveMQ is an open source message broker which fully implements the Java Message Service 1.1 . It provides "Enterprise Features" like clustering, multiple message stores, and ability to use any database as a JMS persistence provider besides VM, cache, and journal persistency.Apart from...

 in Service-oriented architecture
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...

 (SOA) infrastructure projects.

Features

CXF includes a broad feature set, but it is primarily focused on the following areas:
  • Web Services Standards Support:
    • SOAP
      SOAP
      SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

    • WS-Addressing
      WS-Addressing
      WS-Addressing or Web Services Addressing is a specification of transport-neutral mechanisms that allow web services to communicate addressing information...

    • WS-Policy
      WS-Policy
      WS-Policy is a specification that allows web services to use XML to advertise their policies and for web service consumers to specify their policy requirements.WS-Policy is a W3C recommendation as of September 2007....

    • WS-ReliableMessaging
      WS-ReliableMessaging
      WS-ReliableMessaging describes a protocol that allows SOAP messages to be reliably delivered between distributed applications in the presence of software component, system, or network failures....

    • WS-SecureConversation
      WS-SecureConversation
      WS-SecureConversation is a Web Services specification, created by IBM and others, that works in conjunction with WS-Security, WS-Trust and WS-Policy to allow the creation and sharing of security contexts...

    • WS-Security
      WS-Security
      WS-Security is a flexible and feature-rich extension to SOAP to apply security to web services. It is a member of the WS-* family of web service specifications and was published by OASIS....

    • WS-SecurityPolicy
      WS-SecurityPolicy
      is a WS* specification, created by IBM and 12 co-authors, that has become an OASIS standard as of version 1.2. It extends the fundamental security protocols specified by the WS-Security, WS-Trust and WS-SecureConversation by offering mechanisms to represent the capabilities and requirements of web...

  • JAX-WS
    JAX-WS
    The Java API for XML Web Services is a Java programming language API for creating web services. It is part of the Java EE platform from Sun Microsystems. Like the other Java EE APIs, JAX-WS uses annotations, introduced in Java SE 5, to simplify the development and deployment of web service clients...

     API for Web service development
    • Java first support
    • WSDL
      Web Services Description Language
      The Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...

       first tooling
  • JAX-RS
    JAX-RS
    JAX-RS: Java API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer architectural style...

     (JSR 311 1.0) API for RESTful
    Representational State Transfer
    Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

     Web service development
  • JavaScript
    JavaScript
    JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

     programming model for service and client development
  • Maven
    Apache Maven
    Maven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...

     tooling
  • CORBA
    Çorba
    Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...

     support
  • HTTP and JMS transport layers
  • Embeddable Deployment:
    • ServiceMix or other JBI containers
    • Geronimo or other Java EE containers
    • Tomcat
      Apache Tomcat
      Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation...

       or other servlet containers
    • OSGi
      OSGi
      The Open Services Gateway initiative framework is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that does not exist in standalone Java/VM environments...

  • Reference OSGi
    OSGi
    The Open Services Gateway initiative framework is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that does not exist in standalone Java/VM environments...

     Remote Services implementation

Commercial Support

Enterprise support for CXF is available from independent vendors including FuseSource, JBoss, Talend, and Sosnoski Software Associates. See the CXF Support Page for details on all support options.

See also

  • JAX-WS RI
    JAX-WS
    The Java API for XML Web Services is a Java programming language API for creating web services. It is part of the Java EE platform from Sun Microsystems. Like the other Java EE APIs, JAX-WS uses annotations, introduced in Java SE 5, to simplify the development and deployment of web service clients...

     The reference implementation of the JAX-WS specification, used directly by GlassFish Metro
    GlassFish Metro
    Metro is an opensource web service stack that is a part of the GlassFish project, though it can also be used in a stand-alone configuration. Components of metro include JAXB RI, JAX-WS RI, SAAJ RI, StAX and WSIT...

  • The Axis Web Services framework
    Apache Axis
    Apache Axis is an open source, XML based Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and various utilities and APIs for generating and deploying Web service applications. Using Apache Axis, developers can create interoperable, distributed computing...

  • The JAX-RS specification.
  • List of web service frameworks

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK