LibraryLink ToToggle FramesPrintFeedback

Chapter 1. Introduction to FUSE Services Framework

FUSE Services Framework is an open source services framework based on Apache CXF. FUSE Services Framework provides a small footprint engine for creating reusable services as part of a integration solution. You can use FUSE Services Framework to service-enable new and legacy applications in an enterprise integration infrastructure.

With FUSE Services Framework you can build and develop services using a variety of container servers, languages, messaging systems, and protocols. The flexible deployment model of FUSE Services Framework supports standalone deployment and deployment in lightweight containers such as Apache Tomcat, FUSE ESB, Spring-based, and J2EE.

Key features of FUSE Services Framework include the following:

Figure 1.1 summarizes the options that FUSE Services Framework supports for your front ends, data bindings, messages bindings, and transports:


FUSE Integration Designer is an Eclipse based development environment you can use to create web services based on FUSE Services Framework. FUSE Integration Designer includes a wizard to assist you in:

When your web service is deployed, the wizard assists you in generating the client proxy and a sample application to test the web service. When you have completed testing, you can publish your web service to a UDDI business registry using an export wizard.

See the Fuse Integration Designer product web page for information about installing and working with FUSE Integration Designer.

Front ends provide a programming model to interact with FUSE Services Framework. A front end provides functionality through interceptors that are added to services and endpoints.

FUSE Services Framework enables you to create your front end using any of the following options:

Data bindings implement the mapping between XML and Java by converting data to and from XML. Data bindings can also produce XML schema and provide support for wsdl2java code generation, although not all data bindings support all of this functionality.

In FUSE Services Framework, data binding components are responsible for mapping between XML and Java objects. Each data binding implements a particular discipline for mapping, such as JAXB or XML Beans.

There are three parts to a data binding:

  • Mapping the live data as it comes into and out of services

  • Providing XML schema based on Java objects for dynamic ?wsdl URLs and java2ws

  • Generating Java code from WSDL for wsdl2java and dynamic clients

All data bindings provide the live data mapping. The other two parts are optional.

Your choice of data binding is determined by the front end programming option you use. FUSE Services Framework supports multiple data bindings, including:

See Basic Data Binding Concepts in Developing Applications Using JAX-WS for information about using data bindings with FUSE Services Framework.

Message bindings map a service's messages to a particular protocol. FUSE Services Framework supports the following message bindings:

  • SOAP — This is the default binding. It maps messages to SOAP and can be used with the various WS-* modules inside FUSE Services Framework.

  • XML — The pure XML binding avoids serialization of a SOAP envelope and just sends a raw XML message.

  • HTTP — Maps a service to HTTP using RESTful semantics.

  • CORBA — Maps messages from CORBA services. CORBA bindings are described using a variety of WSDL extensibility elements within the WSDL binding element. In most cases, the CORBA binding description is generated automatically using the wsdl2corba utility. Usually, it is unnecessary to modify generated CORBA bindings.

See Bindings in Using the Bindings and Transports for information about using message bindings with FUSE Services Framework.

FUSE Services Framework uses a transport abstraction layer to hide transport-specific details from the binding and front end layers. FUSE Services Framework supports SOAP or XML over HTTP or JMS, and CORBA transports.

See Transports in Using the Bindings and Transports for information about using transports with FUSE Services Framework.

You can deploy services developed with FUSE Services Framework to the following containers:

See Configuring and Deploying Endpoints for information about these service deployment options.

Running the FUSE Services Framework Samples describes some of the samples available to help you get started developing services with FUSE Services Framework: