Axis2 - Overview
Agenda What is already there Overall Architecture Core AXIOM WSDL Deployment Client API What is yet to come Encoding – Pluggable data binding Other transports
Overall Architecture of Axis2
Introduction to the terminology Inflow – The sequence of event that happens when a message is received Outflow - The sequence of event that happens when a message is sent out
Core Core consist of the following Handler Framework Message Context Registry Engine
Core (cont…) The relationship of the Core components is as follows
Core :: Message Context Container for the SOAP message and related information. Other components such as engine and handlers are stateless
Core:: Handler Framework Handlers are the “execution units” Always works with a message context Handlers can be executed in the inflow and the outflow 3 basic categories – Transport, Global and Service Phases are logical handler collections Ordered at the server startup Handlers are ordered in Phases Depending on the phase rules defined in the service descriptor
Core:: Handler Framework (cont..) Special handlers Receiver Receives messages Is used to call the provider component Sender Sends message Invokes the outflow handler chain Dispatcher Finds the service
Core :: Registry Keeper for the Services Dispatcher works on the Registry Is filled by the deployment mechanism.
Core :: Engine The “Controller” Stateless! State is kept in the Message Context
How the Axis2 core works Example Axis2 animation on the server side in-out message flow
AXIOM The SOAP info set representation Tightly bound to StAX Features differed building
AXIOM :: SOAP Implementation Layered on AXIOM base classes Tight coupling Version support on 1.1 SOAP based builders based on StAX
WSDL The WSDL handling mechanism New Object model WOM(WSDL Object Model)
Deployment The new Archive format Hot deployment
Deployment :: Service Archive Axis archive –.aar file. A jar file with all the service classes and the service description Can be uploaded through the web or directly through the file system. Service description included in the service.xml
Client API Facility for Synchronous / Asynchronous invocations Supported styles In-out sync In-out async (response on the same channel) In-Only
What is yet to come? Messaging based core MTOM support for AXIOM Pluggable data binding Multiple transports
MTOM Support MTOM support for AXIOM Introduction of New Object - OMBlob MIME / XOP aware builder
Message based core The current core is visibly not message centric Add a messageSender and a messageReceiver ?
Transport SMTP/POP support
Data binding Pluggable Encoding / Data binding support XMLBeans JAXB Castor
Questions ?
Thank you