Apache Axis2 Web Services, 2nd Edition
Formats:
save 15%!
save 37%!
Free Shipping!
| Also available on: |
|
- Extensive and detailed coverage of the enterprise ready Apache Axis2 Web Services / SOAP / WSDL engine.
- Attain a more flexible and extensible framework with the world class Axis2 architecture.
- Learn all about AXIOM - the complete XML processing framework, which you also can use outside Axis2.
- Covers advanced topics like security, messaging, REST and asynchronous web services.
- Written by Deepal Jayasinghe, a key architect and developer of the Apache Axis2 Web Service project; and Afkham Azeez, an elected ASF and PMC member.
Book Details
Language : EnglishPaperback : 308 pages [ 235mm x 191mm ]
Release Date : February 2011
ISBN : 184951156X
ISBN 13 : 9781849511568
Author(s) : Deepal Jayasinghe, Afkham Azeez
Topics and Technologies : All Books, Open Source, Web Services
Table of Contents
PrefaceChapter 1: Apache Web Services and Axis2
Chapter 2: Looking inside Axis2
Chapter 3: Axis 2 XML Model (AXIOM)
Chapter 4: Execution Chain
Chapter 5: Deployment Model
Chapter 6: Information Model
Chapter 7: Writing an Axis2 Service
Chapter 8: Writing an Axis2 Module
Chapter 9: The Client API
Chapter 10: Session Management
Chapter 11: Developing JAX-WS Web Services
Chapter 12: Axis2 Clustering
Chapter 13: Enterprise Integration Patterns
Chapter 14: Axis2 Advanced Features and Usage
Chapter 15: Building a Secure Reliable Web Service
Index
- Chapter 1: Apache Web Services and Axis2
- Service Oriented Architecture (SOA)
- Web service overview
- How do organizations move into web services?
- Web services model
- Web services standards
- XML-RPC
- SOAP
- Web Services Addressing (WS-Addressing)
- Service description
- Web Services Description Language (WSDL)
- Web services lifecycle
- Apache Web Service stack
- Why Axis2?
- Downloading and installing Apache Axis2
- Binary distribution
- WAR distribution
- Source distribution
- Document distribution
- JAR distribution
- Summary
- Chapter 2: Looking inside Axis2
- Axis2 architecture
- Core modules
- XML processing model
- SOAP processing model
- Information model
- Deployment model
- Client API
- Transports
- Other modules
- Code generation
- Data binding
- Extensible nature of Axis2
- Service extension or the module
- Custom deployers
- Message receivers
- Summary
- Chapter 3: Axis 2 XML Model (AXIOM)
- Overview of AXIOM and its features
- What is pull parsing?
- Architecture
- Working with AXIOM
- Creating Axiom
- Creating Axiom from an input stream
- Creating Axiom using a string
- Creating Axiom programmatically
- Adding child nodes and attributes
- Working with OM namespaces
- Working with attribute
- Traversing the Axiom tree
- Serialization
- Advanced operations with Axiom
- Xpath navigation
- Accessing the pull parser
- Axiom and SOAP
- Summary
- Chapter 4: Execution Chain
- Handler
- Writing a simple handler
- Phase
- Types of phases
- Global phases
- Operation phases
- Phase rules
- Characterizing a phase rule
- Phase name
- phaseFirst
- phaseLast
- before
- after
- after and before
- Invalid phase rules
- Flow
- Module engagement and dynamic execution chain
- Special handlers in the chain
- Transport receiver
- Dispatchers
- Message receiver
- Transport sender
- Summary
- Chapter 5: Deployment Model
- What is new in Axis2 deployment?
- Hot deployment and hot update
- Hot deployment
- Hot update
- Repository
- Change in the way of deploying handlers (modules)
- Deployment descriptors
- Global descriptor or axis2.xml
- Service descriptor (services.xml)
- Module descriptor or module.xml
- Available deployment options
- Archive-based deployment
- Directory-based deployment
- Deploying a service programmatically
- POJO deployment
- Deploying and running a service in one line
- Summary
- Chapter 6: Information Model
- Axis2 static data
- AxisConfiguration
- Parameters
- MessageReceiver
- MessageFormatters and MessageBuilders
- TransportReceiver and TransportSender
- Flows and phaseOrder
- AxisModule
- Service description hierarchy
- AxisServiceGroup
- AxisService
- AxisOperation
- AxisMessage
- Axis2 contexts
- ConfigurationContext
- ServiceGroupContext
- ServiceContext
- OperationContext
- MessageContext
- Summary
- Chapter 7: Writing an Axis2 Service
- Creating a web service
- The code first approach
- Single class POJO approach
- POJOs with packages
- Deploying services using a service
- Writing the services.xml file
- Service implementation class
- Specifying the message receiver
- Creating a service archive file
- Different ways of specifying message receivers
- Service group and single service
- Adding third-party resources
- Service WSDL and schemas
- Contract first approach – starting from the WSDL
- Generating code
- Filling in the service skeleton
- Running the ant build file
- Summary
- Chapter 8: Writing an Axis2 Module
- Brief history of the Axis2 module
- Module concept
- Module structure
- Module configuration file (module.xml)
- Handlers and phase rules
- Module implementation class
- Writing the module.xml file
- Deploying and engaging the module
- Advanced module.xml
- Parameters
- WS-Policy
- Endpoints
- Summary
- Chapter 9: The Client API
- Web service client
- Blocking and non-blocking invocation
- Looking into Axis2 client API
- ServiceClient API
- ServiceClient with working samples
- Working with the OperationClient
- Summary
- Chapter 10: Session Management
- Stateless nature of Axis2
- The available type of sessions in Axis2
- Session initializing and session invalidating
- Java reflection
- Using the optional interface
- Accessing MessageContext
- Request session scope
- SOAP session scope
- Transport session scope
- Option 1: Using the browser
- Option 2: Using the service client
- Application scope
- Managing sessions using ServiceClient
- Summary
- Chapter 11: Developing JAX-WS Web Services
- Writing a simple JAX-WS web service
- JAX-WS annotations
- JSR 181 (Web Service Metadata) annotations
- javax.jws.WebService
- javax.jws.WebMethod
- javax.jws.OneWay
- javax.jws.WebParam
- name
- targetNamespace
- mode
- header
- partName
- javax.jws.WebResult
- javax.jws.soap.SOAPBinding
- JSR 224 (JAX-WS) annotations
- javax.xml.ws.BindingType
- javax.xml.ws.RequestWrapper and javax.xml.ws.ResponseWrapper
- javax.xml.ws.ServiceMode
- javax.xml.ws.WebEndpoint
- javax.xml.ws.WebFault
- javax.xml.ws.WebServiceClient
- javax.xml.ws.WebServiceProvider
- javax.xml.ws.WebServiceRef
- JSR 222 (JAXB) annotations
- javax.xml.bind.annotation.XmlRootElement
- namespace
- name
- javax.xml.bind.annotation.XmlAccessorType
- javax.xml.bind.annotation.XmlElement
- name
- namespace
- JSR 250 (Common Annotations)
- javax.annotation.Resource
- javax.annotation.PostConstruct
- javax.annotation.PreDestroy
- Code first service development with JAX-WS
- Contract first development with JAX-WS
- Client-side JAX-WS
- The Dispatch client
- The Dynamic Proxy client
- MTOM with JAX-WS Services
- Asynchronous invocation of JAX-WS services
- Polling model
- Callback model
- Summary
- Chapter 12: Axis2 Clustering
- Setting up a simple Axis2 cluster
- Writing a highly available clusterable web service
- Stateless Axis2 Web Services
- Setting up a failover cluster
- Increasing horizontal scalability
- Setting up and configuring Axis2 clusters in production
- Clustering agent
- Clustering agent parameters
- AvoidInitiation
- membershipScheme
- domain
- synchronizeAll
- maxRetries
- mcastAddress
- mcastPort
- mcastFrequency
- memberDropTime
- mcastBindAddress
- localMemberHost
- localMemberPort
- preserveMessageOrder
- atmostOnceMessageSemantics
- properties
- State management
- Node management
- Group management
- Static members
- Full configuration
- Membership schemes
- Static membership
- Dynamic membership
- Hybrid membership
- Cluster management
- Highly available load balancing
- The Axis2 clustering management API
- org.apache.axis2.clustering.ClusteringAgent
- org.apache.axis2.clustering.state.StateManager
- org.apache.axis2.clustering.management.NodeManager
- org.apache.axis2.clustering.management.GroupManagementAgent
- Summary
- Chapter 13: Enterprise Integration Patterns
- Apache Synapse
- WSO2 ESB
- OpenESB
- Protocol bridging
- External authentication and authorization
- Dynamic routing combined with auditing
- Event Driven Architecture (EDA) with Master Data Management (MDM) for Integrating Legacy Systems
- Event Driven Architecture (EDA)
- Master Data Management (MDM)
- Adaptor layer
- Integration server
- Logic server
- Registry
- Push and pull
- Fault tolerant autoscaling with dynamic load balancing
- References
- Summary
- Chapter 14: Axis2 Advanced Features and Usage
- Representational State Transfer (REST)
- Features of REST
- REST services in Axis2
- REST web service with GET and POST
- Message Transmission Optimization Mechanism (MTOM)
- By value
- By reference
- MTOM on the client side
- MTOM on the service side
- Axis2 configurator
- Deploying Axis2 in various application servers
- Asynchronous web services with Axis2
- Client side asynchronous
- Application-level asynchronous support
- Transports-level asynchronous support
- Summary
- Chapter 15: Building a Secure Reliable Web Service
- Reliable web services
- Sample service
- One way invocation
- Request-reply invocation
- Managing sequences
- Creating a sequence without sending a message
- Terminate a sequence
- Secure web services
- Sample service
- Writing the password callback
- Creating the policy element
- Generating client stubs
- Invoking the service without security
- Invoking the service with security
- Summary
Deepal Jayasinghe
Afkham Azeez
Code Downloads
Download the code and support files for this book.
Submit Errata
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Sample chapters
You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.
- Learn SOA Integration Patterns
- Learn advanced topics such as security, messaging, REST, clustering, and asynchronous web services
- Enable SOA functionality in your organization
- Handle Handlers in Axis2 and learn to write your own
- Learn how to develop web services using JAXWS
- Learn everything about deployers, deployer descriptors and how to create your own custom deployers.
- Write, deploy, and engage a module
- Use Axis2 as a client and invoke services in a number of different ways
- Use AXIOM it to handle SOAP, and learn AXIOM best practices
- Different types of sessions available in Axis2 and how they work.
Web services are gaining popularity and have become one of the major techniques for application integration. Due to the flexibility and advantages of using web services, you want to enable Web service support to your applications. This book is your gateway to learning all you need to know about the Apache Axis2 web service framework and its hands on implementation.
Apache Axis2 Web Services, 2nd Edition is your comprehensive guide to implementing this incredibly powerful framework in practice. It gives you precisely what you need to know to develop a detailed practical understanding of this popular, modular and reliable web service framework.
This book starts with a short and relevant introduction about the Axis2 1.5 framework and then plunges you straight into its architectural model.
Learn to use and develop your own modules. Write a services.xml file so efficiently that you'll be creating more complex applications (rather than just POJOs) in no time.
Learn how straightforward it really is to turn a Java class into a web service in Axis2. Experiment with different types of sessions in Axis2. Learn different patterns of Enterprise deployment. Ensure reliability in your web service - a major concern in most enterprise applications - with minimum impact on performance.
This book will journey you through all this and more, giving you exactly what you need to learn Axis2 1.5 in the easiest way possible and create secure, reliable, and easy-to-use web services efficiently and systematically.
This is a step by step practical guide for developing web services using Apache Axis2. There are a lot of real-life examples, which makes this book an excellent practical guide.
This book is for Java developers who are interested in building web services using Apache Axis2. Familiarity with web standards like SOAP, WSDL and XML parsing is assumed.

