Book Image

Apache CXF Web Service Development

By : Naveen Balani, Rajeev Hathi
Book Image

Apache CXF Web Service Development

By: Naveen Balani, Rajeev Hathi

Overview of this book

<p>Apache CXF framework helps you to develop a standards-based programming model and also provides a flexible deployment model for deploying web services. Developing SOAP and RESTful applications can be made easy by using Apache CXF framework. However, getting started with developing web services using the Apache CXF framework is not easy.<br /><br />This is the first book that gives details on how to use the Apache CXF framework for developing SOAP and REST web services. It is a hands-on practical guide that simplifies working with CXF framework as it covers all major aspects with real-world examples. The chapters cover the various CXF features in detail and each has systematic steps with practical, simple examples to implement these features on your web services. <br /><br />The book introduces the Apache CXF framework and its features such as Frontend API, Data Bindings, Transports, Spring-based configuration, and CXF tools. It also has chapters on SOAP and RESTful services. It will help you create RESTful services that support XML as well as the widely accepted Java Script Object Notation (JSON) format. It explains the components of CXF architecture that help developers customize the Apache CXF framework to suit the target application. The book covers both code-first and contract-first approaches for service deployment. You will see how to develop services in a flexible deployment model offered by CXF, unit test them in a stand-alone environment, and finally promote them in an application server environment.<br /><br />The instructions in this book will help developers to build their application according their requirements by using any of the frontends supported by Apache CXF framework. The various CXF frontend APIs covered in this book provide a wide variety of options in developing and deploying your application.<br /><br />The book introduces some advanced concepts such as Interceptors and features that will add extra capability to your service component. It will help you take advantage of different transport features offered by the CXF runtime such as HTTP, HTTP(S), and JMS protocols.<br />Finally, the book mentions various tools that help developers creating web services as well as creating Java and JavaScript-based web services clients which invoke a real-world .NET web service. These tools are standard batch files that can be easily executed from the Windows command shell by following the instructions in the book.</p>
Table of Contents (16 chapters)
Apache CXF Web Service Development
Credits
About the Authors
About the Reviewer
Preface
Index

Introduction to Spring framework


Spring framework is a light weight open source layered application framework created to simplify the complexity of enterprise application development. Spring has become the de facto framework for creating Java based enterprise applications.

The Spring framework provides the following functionality:

  • Light weight IoC container for lifecycle and dependency management of objects.

  • AOP functionality for modularizing cross-cutting concerns and providing services to POJO in a declarative fashion, like transaction management, logging, messaging, exposing POJO using one of the remote technology like RMI, HTTP, web services, and so on.

  • Consistent abstraction layer which provides integration with various standards like JPA (Java Persistence API), JDBC, JMS, and third party APIs like Hibernate, Top Link, and JDO.

  • MVC framework which provides a highly configurable Model View Controller implementation via strategy interfaces, and accommodates numerous view technologies including JSP, Velocity, Tiles, iText, andPOI implementation.

Spring framework assists in POJO development where all the features described above can be applied to POJO and the Spring IoC container provides the necessary infrastructure to assemble POJOs to create the required application.

The Spring IoC container

The core of Spring's design is the org.springframework.beans package, designed for working with beans. The package serves as the underlying medium for other functionality and is typically not used by developers. The next layer of abstraction is the org.springframework.beans.factory.BeanFactory interface which is the root interface for accessing the Spring IoC container. An implementation of BeanFactory enables you to access the objects that are instantiated and managed by the Spring IoC container.

The most commonly used BeanFactory definition is the XmlBeanFactory which loads beans based on definitions in an XML file, as shown in code listing below:

BeanFactory factory = new XMLBeanFactory(new FileInputSteam("beans.xml"));

To retrieve a bean from BeanFactory you simply call the getBean() method: passing in the name of the bean you want to retrieve, as shown in listing below

OrderBean orderbean = (MyBean) factory.getBean("order");

Next we look at IoC concepts in action by taking an example of a Loan processing system. The following example should be sufficient to understand the concepts of IoC used in the context of the book.