Axis2

Apache WS Evolution

First generation: Apache SOAP
Second generation: Axis
Third generation: Axis2

Axis2 Architecture

Core Modules

XML Processing Module

*AXIOM (Axis Object Model)
– Based on PULL parser so more control over XML parsing

SOAP Processing Module

* Handlers: intercept and process part of SOAP message
– Three scopes: global, service, operation scope
* Phases: logical collection of one or more handlers
– They’re handler containers
– They also order handlers
* Pipers
– InFlow
~ Last handler is Message Receiver
– OutFlow

Information Processing Module

* Description hierarchy: comes from deployment descriptors
Configuration<>-ServiceGroup<>-Service<>-Operation<>-Message
* Context hierarchy: keeps run-time data
ConfigurationContext<>-ServiceGroupContext<>-ServiceContext<>-OperationContext<>-MessageContext

Deployment Module

* Axis2 supports:
– Hot deployment
– Hot update
* Service extension by modules
A module contains:
– Handlers
– Third party libraries
– Module related resources
– Moduel config file (module.xml)
A module can be deployed as a .mar file
* Axis2 can be deployed as
– Archive file: a .aar file
– POJO deployment
– Custom deployer

Client API Module

* ServiceClient API: used to access SOAP body (payload)
sendRobust(): one way but traps exception
fireAndForget(): one way and don’t care exception
sendReceive(): sunc two way
sendReceiveNonBlocking(): async two way

* OperationClient API: used to modify SOAP header
Create ServiceClient -> Create OperationClient -> Create SOAPEnvelope -> Create MessageContext -> Add SOAPEnvelope to MessageContext -> Add MessageContext to OperationClient -> Invoke OperationClient – (if response) -> Get response MessageContext form OperationClient

Transport Module

Supports:
* HTTP/HTTPS
* TCP: needs WS-Addressing
* SMTP
* JMS
* XMPP

Non Core Modules

Code Generation Module

Data Binding Module

Supports
* ADB (Axiss Data Binding)
* XMLBeans
* JaxMe: included in XMLBeans
* JibX

Axis2 Code Generation

Axis2 Code Generation

This entry was posted in java, jax-ws. Bookmark the permalink.