of 39
8/8/2019 Axis2 Tutorial
1/39
8/8/2019 Axis2 Tutorial
2/39
8/8/2019 Axis2 Tutorial
3/39
8/8/2019 Axis2 Tutorial
4/39
8/8/2019 Axis2 Tutorial
5/39
8/8/2019 Axis2 Tutorial
6/39
8/8/2019 Axis2 Tutorial
7/39
8/8/2019 Axis2 Tutorial
8/39
8/8/2019 Axis2 Tutorial
9/39
8/8/2019 Axis2 Tutorial
10/39
8/8/2019 Axis2 Tutorial
11/39
8/8/2019 Axis2 Tutorial
12/39
8/8/2019 Axis2 Tutorial
13/39
Context and Configuration
HierarchyEngine is stateless !!Context and Configuration Hierarchymaintains Engine StateContext running stateConfiguration deployment state
8/8/2019 Axis2 Tutorial
14/39
Extensible Messaging Engine
8/8/2019 Axis2 Tutorial
15/39
The Messaging Engine - Phases
What are HandlersConcept of Phases
A phase is a particular stage in execution.E.g. pre-dispatch, Transport
Each Phase contains a group of Handlers
Handlers are linked to rules that say wherethe handler should go
8/8/2019 Axis2 Tutorial
16/39
The Messaging Engine - Phases
(Cont)Standard Phases
Transport phase
Pre-dispatch phaseDispatch phasePost-dispatch phase
Policy determination phase
8/8/2019 Axis2 Tutorial
17/39
Pluggable Modules
Extensions for the server Meant to provide a specific functionality
E.g. Security,Reliability etc
Consists of Handlers
Special Module classA Descriptor (module.xml)
8/8/2019 Axis2 Tutorial
18/39
8/8/2019 Axis2 Tutorial
19/39
Pluggable Modules (Cont..)
Archived to make a single bundleKnown as a .mar file
Concept of Engaging Engaging a module means activating itCan be done
Per SystemPer ServicePer Operation
8/8/2019 Axis2 Tutorial
20/39
Pluggable Modules - Example
The WS-Addressing moduleContains
Addressing-in handler Placed in the pre-dispatch phase in pipe
Addressing out handler Placed in the message-out out pipe
8/8/2019 Axis2 Tutorial
21/39
Improved Deployment Model
Faster and Easier DeploymentService Archive files (.aar files)
A collection of resources needed for a serviceIncludes
Service implementationHandlers (optional)
Service descriptor (service.xml)
8/8/2019 Axis2 Tutorial
22/39
Improved Deployment Model
(Cont)Hot Deployment
Drop in deployment
Uploaded throughFile systemAxis2 web application
8/8/2019 Axis2 Tutorial
23/39
New Client API
Supports an Asynchronous programmingstyle
Concept of callbacks for the clientCan handle both transport dependent andtransport independent asynchrony.
Based on the MEP ClientCan be extended to support custom MEPs
8/8/2019 Axis2 Tutorial
24/39
Extensible Data Binding
How to provide data binding support ?Use a well established framework
Avoid reinventing the wheel!FlexibleAdds more functionality
E.g. XMLBeans supports the complete XML Schema
Features an API that can bind to another data binding framework
8/8/2019 Axis2 Tutorial
25/39
8/8/2019 Axis2 Tutorial
26/39
Extensible Data Binding (Cont )
Currently supported frameworksXMLBeans
We also plan to Axis data bindingframework by default.
Sufficient for simple data binding needs
8/8/2019 Axis2 Tutorial
27/39
Installation
Download distribution fromhttp://ws.apache.org/axis2/
Deploying in a servlet container Using web administration interfaceInstalling Axis2 Eclipse plug-ins
http://ws.apache.org/axis2/http://ws.apache.org/axis2/8/8/2019 Axis2 Tutorial
28/39
Sample 1 - Client Demonstration
Accessing an existing endpointInteroperability test 2 hosted at
http://soapinterop.java.sun.com:80/round3/gro
8/8/2019 Axis2 Tutorial
29/39
Sample 2 - Implementing and
Deploying a serviceAirline Reservation SystemLets start with the contractImplementing and the contractAccessing the Service
Now, lets start with implementationUsing web admin
8/8/2019 Axis2 Tutorial
30/39
Sample 3 - Developing Extensions
- ModulesModulesLogging ModuleWriting a moduleWriting handlers
Handler APIAccessing SOAP message contentContext Hierarchy
Adding handlers to phasesDeploying the moduleEngaging the module to the service
8/8/2019 Axis2 Tutorial
31/39
Developing Extensions Extending
Message Receiver
Interfaces engine and service implementation
Help to support different MEPs
Supporting services written in languages that are
being compiled to JVMGroovy Sample
8/8/2019 Axis2 Tutorial
32/39
Developing Extensions
Supporting Custom MEPs
Writing a new Message Receiver Introducing an Operation Context
8/8/2019 Axis2 Tutorial
33/39
If time permits .
MTOM supportMultiple Transport supportREST Support
8/8/2019 Axis2 Tutorial
34/39
Synergy
Become a contributor Join axis-dev (filter on [axis2])
You can find this presentation thereWeekly IRC chats on WednesdaysSubmit ideas, codeBecome a committer
Use it. Yes, Its a help !!!Submit ideas, bugsShare experience
mailto:[email protected]:[email protected]:[email protected]8/8/2019 Axis2 Tutorial
35/39
Summary
IntroductionInstallationClient demonstration - Accessing Google spell checker serviceImplementing and deploying a serviceDeveloping extensions
Writing handlers and modules
Supporting custom MEPsOther features (Sessions, Phases, REST, MTOM)
8/8/2019 Axis2 Tutorial
36/39
Thank You .
Question Time ..
8/8/2019 Axis2 Tutorial
37/39
StAX
AXIOM
Module
Framework(Modules, Handlers and Phases) Engine
Registry
Transport and Data binding
Core
Application
Tran
sport
P h a s e
Z P h a s e
Y P h a s e
X
XML
Message
Engine
MessageReceiver
8/8/2019 Axis2 Tutorial
38/39
Registry
Modules
Engine
Contexts
8/8/2019 Axis2 Tutorial
39/39
Registry
Modules
Engine
Contexts