1 / 19

Apache Sandesha and Apache Axis2

Apache Sandesha and Apache Axis2. Jaliya Ekanayake. Agenda. Apache Axis 1.X Current Implementation of Apache Sandesha Apache Axis2. Axis 1.X. Support synchronous Web service invocations Handlers participate for header processing Fixed handler path inside the engine

gudrun
Download Presentation

Apache Sandesha and Apache Axis2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apache Sandesha and Apache Axis2 Jaliya Ekanayake

  2. Agenda • Apache Axis 1.X • Current Implementation of Apache Sandesha • Apache Axis2

  3. Axis 1.X • Support synchronous Web service invocations • Handlers participate for header processing • Fixed handler path inside the engine • Engine does not support “pausing” the message context • Engine does not support addressing Client Side Server Side

  4. WS-RelibaleMessaging • Based on two endpoint managers • Endpoint managers provide a transparent message path • Client should have an addressable endpoint • Web service request and the response (if any) is handled in two different sequences • Delivery Assurance (INORDER etc..) Reliable Messaging Model

  5. Client Service CreateSequenceRequest RM Source RM Destination CreateSequenceResponse Web service Request Acknowledgement Retransmissions and Ack Requests TerminateSequence Similar message exchange to send the response back WS-RM Example

  6. Sandesha Architecture Axis Architecture Typical message exchange Architecture of Sandesha on top of Axis

  7. Features and Problems • WS-RelibaleMessaging is fully implemented • Interoperable with IBM, Microsoft and Systinet • Difficult to integrate with WS-SecureConvercation and other WS-* that require asynchronous behaviors

  8. Axis2 • Engine based on one-way messaging • AXIOM – Based on StAX • Modules and Handlers • Message Receivers • Synchronous and Asynchronous Messaging support • MEP Support • WS-Addressing • MTOM/SWA • Hot deployment

  9. Axis2 Architecture Main Components of Axis

  10. SOAP Processing Model SOAP Processing model of Axis2 • Based on one-way engine. • engine.send(); • engine.receive(); • Flexible Handler Chains • Flows • Modules • Ordering of handlers using “phases” • MessageReceivers • MEP Support • Capability to Pause Messages

  11. AXIOM- Axis Object Model • Differed building • Pull based parsing with StAX //create the parserXMLStreamReader parser = XMLInputFactory.newInstance() .createXMLStreamReader(new FileReader(file)); //create the builderOMXMLParserWrapper builder = OMXMLBuilderFactory .createStAXSOAPModelBuilder(OMAbstractFactory.getSOAP11Factory(), parser); //get the root element (in this case the envelope)SOAPEnvelope envelope = (SOAPEnvelope) builder.getDocumentElement();

  12. Flows • Flows represents different message paths in Axis2 engine • Collection of handlers in a flow • Global and Operation specific flows Message Flows in Axis2

  13. Handlers, Phases and Modules • Handler • Same concept as in Axis1.X • Phases • Mechanism to arrange handlers. • System defined phases • E.g. TransportIn, PreDispatch, Dispatch, PostDispatch • User Defined Phases • Logging, Security, RM • Module • Collection of handlers • May be in different phases • axis2.xml

  14. E.g. Logging Module Handlers, Phases and Modules contd.. public class LoggingModule implements Module { // initialize the module public void init(AxisConfiguration axisSystem) throws AxisFault {} // shutdown the module public void shutdown(AxisConfiguration axisSystem) throws AxisFault {} } LoggingModule.java module.xml

  15. Available Invocation Methods One-way messaging Blocking with Single Channel Non-Blocking with Single Channel Blocking with Dual Channel Non –blocking with Dual Channel Client API

  16. Module 1 Module 2 Client Out Handler Client Out Handler Out Flow Context1 Context2 In Flow Client In Handler Client In Handler Proposed Architecture for WS-* in Axis2

  17. Questions?

  18. References: • http://ws.apache.org/axis/java/architecture-guide.html • http://ws.apache.org/axis/java/architecture-guide.html • http://schemas.xmlsoap.org/ws/2005/02/rm/ • http://ws.apache.org/axis2/Axis2ArchitectureGuide.html • http://ws.apache.org/axis2/mtom-guide.html • http://ws.apache.org/axis2/OMTutorial.html

  19. Thank You!

More Related