AXIS2 - Java Web Services
Duration: 5 Days
Apache Axis2 is an implementation of the Simple Object Access
Axis2 has a modular and flexible message handling pipeline.
This course focuses on the details of message handling
and providing clear hooks for implementations of associated
Web Services standards and protocols.
« Hide The Details
Topics Covered In This Course
Recap on SOA and SOAP
- SOA aims
- Service overview
- Loose coupling
- SOAP 1.1, SOAP 1.2
- Examples of SOAP messages
- Message exchange patterns
- Use a web-based tool to send and receive SOAP messages
Introduction to Axis2
- Top level components and flows
- Install, start-up and test Axis2
- Explore repository, services, modules, axis2.xml
- Web client behavior
Introduction to WS-Addressing
- Why WS-A?
- Asynchronous model
- Endpoint References
- Reference Parameters
Creating services with Axis2
- Deploying Java components
- XML-based services vs. Bound services
- Creating a service with Axis2, testing it
- Command-line tooling
Asynchronous Web Services
- HTTP 202
- Tracing an asynchronous interaction using HTTPTracer
- WSDL 1.1 vs WSDL2
- tools for creating and reading WSDL
- Contract first development
- Lab Exercise * Create a WSDL
Building a web service contract first
Creating Stubs and Skeletons
Building an end-to-end service from WSDL
Axis Data Binding
- Intro to ADB
- ADB options
- Alternatives to ABD * using XMLBeans
- Exploring ADB
- Using XSD2Java
- Single class versus multi-class mapping
- Looking at AXIOM and STaX
- Detailed examples
- Building XML structures dynamically
- Creating and parsing XML using AXIOM
- Using the ServiceClient API
- Lab Exercise * calling services using AXIOM and ServiceClient
- Using Axis2 in Eclipse
- Ant Build scripts
- Using Axis2 in a Unit test environment
- Using the Eclise plugin
- Creating Unit tests
- Spring/Tomcat integration
- REST arguments and positioning
- Using XML/HTTP in a POST
- The WSDL2.0 GET binding
- Using Axis2 with GET and POST
MTOM - building and using binary attachments with Axis2
- Build a binary service.
- Trace with/without optimization.
- Calculate the size of attachment to optimize
Understanding Sessions with Axis2
- Using ServiceGroups and Axis2 context structure
- EPR sessions vs HTTP Sessions
- Create a stateful service
More internals of Axis2
- Modules, phases, handlers
- ClassLoader Hierarchy
- Description and Context hierarchies
- Building and testing a simple Logging Module
Advanced Web Services
- Overview of the full WS-platform
Introduction to WS Security
- Efficiency of WSS vs HTTPS
- Mixing HTTPS and WSS
- Securing a Web Service with WSS
- 4J Tracing flows
Introduction to WS Reliable Messaging
- Simple flows
- Reliable WS with Sandesha22
- Tracing flows
Introduction to WS-Policy and MetadataExchange
- Why Policy
- Policy overview and Policy Asserion Languages
- How Policy fits into Axis2
- Policy driven RM client
- Tradeoffs / Best Practices
- Interoperability issues
- Production deployment issues / tips
- Remote Procedure Call support
What You Can Expect
At the end of this course, students will be able to:
- Understand SOAP, WSDL, and WS-Addressing.
- Understand Service Oriented Architecture and how to build
one using Axis2 and Java.
- Better understand Web Services security and reliability.
- Install and configure Apache Axis2.
- Create and consume Web Services.
- Generate Services and Clients using command line and IDE
- Make interactions secure and reliable.
- Understand Axis2 architecture.
- Understand all components/features of Axis2: AXIOM, Handlers,
Phases, Policy, contexts.
- Use Axis2 Ant tasks and IDE plug-ins.
- Do Test Driven Development of Axis2 applications.
Who Should Take This Course
Developers with some understanding of web services technologies
and Service Oriented Architecture concepts.
To benefit from this Axis2 training, students should have
a proficiency in Java and XML, as well as a basic knowledge
of: SOAP, WSDL, Web Services, Service Oriented Architecture.
General understanding of Web servers and some knowledge
of TomCat and Spring.
Lecture (50%) / Lab (50%)
« Hide The Details
Fundamentals of Java Development
RESTful Web Services Development
Development With Java's XML APIs
Developing Java Web Services
Every student attending a Verhoef Training class will receive
a certificate good for $100 toward their next public class taken
within a year.
You can also buy "Verhoef Vouchers" to get a discounted rate for a
single student in any of our public or web-based classes.
Contact your account manager or our sales office for details.