Axis2, Middleware for Next Generation Web Services Srinath Perera
Next 20 Minutes <ul><li>Why Axis2? </li></ul><ul><li>What does it have?  </li></ul><ul><li>Architecture </li></ul><ul><li>...
Why Axis2? <ul><li>Web Services has changed, so are the values and expectations from WS Middleware </li></ul><ul><ul><li>B...
What does it have? <ul><li>Better XML processing model </li></ul><ul><li>Powerful messaging support </li></ul><ul><li>Seam...
Architecture 10,000 foot view
XML processing Model <ul><li>Major decider of performance  </li></ul><ul><li>Expectations </li></ul><ul><ul><li>Better per...
How to tackle XML Processing? <ul><li>Use of XML streaming API </li></ul><ul><li>Virtual XML elements, that provide famili...
Extensibility <ul><li>Support for security, reliability, transactions, addressing …. </li></ul><ul><li>Axis1 approach, Han...
Need bit more than Handlers <ul><li>Simpler deployment  </li></ul><ul><li>Automatic configuration e.g. Security </li></ul>...
Axis2 Modules for extensibility <ul><li>Module = Handler(s), + ordering rules + Initialization logic + Operations </li></u...
Messaging <ul><li>Messaging System addresses three issues  </li></ul><ul><ul><li>Complex message groupings and correlation...
Messaging in Axis2 <ul><li>Two Pipes,  IN  and  OUT </li></ul><ul><li>Composing pipes at the Client (MEP clients) and Serv...
Messaging (Continued) <ul><li>Three Properties (non-blocking, MEP, Sync-Async) are Handled in Operation Clients and Messag...
Architecture (Revisited)
Summery <ul><li>We discussed rationale for Axis2, and brief looked at the architecture </li></ul><ul><li>We discuss three ...
Upcoming SlideShare
Loading in...5
×

Axis2, middleware for next generation web services

1,613

Published on

Axis2 ICWS 2006 Paper at Chicago

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,613
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
75
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Axis2, middleware for next generation web services

    1. 1. Axis2, Middleware for Next Generation Web Services Srinath Perera
    2. 2. Next 20 Minutes <ul><li>Why Axis2? </li></ul><ul><li>What does it have? </li></ul><ul><li>Architecture </li></ul><ul><li>Core Concepts </li></ul><ul><ul><li>XML processing </li></ul></ul><ul><ul><li>Extensibility </li></ul></ul><ul><ul><li>Messaging </li></ul></ul><ul><li>Conclusion </li></ul>
    3. 3. Why Axis2? <ul><li>Web Services has changed, so are the values and expectations from WS Middleware </li></ul><ul><ul><li>Better support for Messaging, Asynchronous interactions </li></ul></ul><ul><ul><li>Performance, Need for better XML processing </li></ul></ul><ul><ul><li>Better support for WS-* specifications </li></ul></ul><ul><ul><li>New specs, and changes to specs </li></ul></ul><ul><ul><li>(Better or for worse) </li></ul></ul>
    4. 4. What does it have? <ul><li>Better XML processing model </li></ul><ul><li>Powerful messaging support </li></ul><ul><li>Seamless integration with WS-* implementations – WS-Addressing, WS-Security, WS-RM …. </li></ul><ul><li>Archive based Deployment </li></ul><ul><li>Close integration with Policy </li></ul><ul><li>HTTP, TCP, SMTP and JMS transports </li></ul><ul><li>REST, MTOM, WS-Policy … </li></ul><ul><li>Pluggable data Binding </li></ul><ul><li>WSDL based Code Generation </li></ul>
    5. 5. Architecture 10,000 foot view
    6. 6. XML processing Model <ul><li>Major decider of performance </li></ul><ul><li>Expectations </li></ul><ul><ul><li>Better performance, Streaming access to the Soap Message </li></ul></ul><ul><ul><li>Move back and forth </li></ul></ul><ul><ul><li>Easy accesses to the Soap Message, in other words Tree like (DOM like) representation </li></ul></ul>
    7. 7. How to tackle XML Processing? <ul><li>Use of XML streaming API </li></ul><ul><li>Virtual XML elements, that provide familiar interface to user </li></ul><ul><li>Underline implementation based on differed/lazy parsing (Data is read as late as possible) </li></ul><ul><li>Switching back to the pull parser </li></ul><ul><li>Use cases </li></ul><ul><ul><li>Streaming at data binding </li></ul></ul><ul><ul><li>Pass result to another Web Service </li></ul></ul><ul><ul><li>(Workflows) </li></ul></ul>
    8. 8. Extensibility <ul><li>Support for security, reliability, transactions, addressing …. </li></ul><ul><li>Axis1 approach, Handler architecture </li></ul>
    9. 9. Need bit more than Handlers <ul><li>Simpler deployment </li></ul><ul><li>Automatic configuration e.g. Security </li></ul><ul><li>What if two or more Handlers co-exists? E.g. Security and Reliable Messaging </li></ul><ul><li>Operation Injection - e.g. RM, WS-RF, WS-Sec Conversation </li></ul><ul><li>Managing Handlers automatically and transparently based on Policy </li></ul>
    10. 10. Axis2 Modules for extensibility <ul><li>Module = Handler(s), + ordering rules + Initialization logic + Operations </li></ul><ul><li>Archive based deployment, just copy it to Axis2 repository. </li></ul><ul><li>Available modules vs Engaged modules </li></ul><ul><li>WS-Policy based engagement and automatic configuration </li></ul><ul><li>Possibility of automatically adapting services with (dynamic/static) policy negotiation </li></ul>
    11. 11. Messaging <ul><li>Messaging System addresses three issues </li></ul><ul><ul><li>Complex message groupings and correlation </li></ul></ul><ul><ul><li>Blocking-Non Blocking behavior of Client /Server API </li></ul></ul><ul><ul><li>Synchronous and Asynchronous behavior of transports </li></ul></ul><ul><li>Supports for following cases </li></ul><ul><ul><li>Request response, non-blocking synchronous </li></ul></ul><ul><ul><li>Request response, non-blocking asynchronous </li></ul></ul><ul><ul><li>Request response, blocking synchronous </li></ul></ul><ul><ul><li>Request response, blocking asynchronous </li></ul></ul><ul><ul><li>One way </li></ul></ul>
    12. 12. Messaging in Axis2 <ul><li>Two Pipes, IN and OUT </li></ul><ul><li>Composing pipes at the Client (MEP clients) and Server (Message Receiver) to yield different MEPS </li></ul>
    13. 13. Messaging (Continued) <ul><li>Three Properties (non-blocking, MEP, Sync-Async) are Handled in Operation Clients and Message receivers </li></ul><ul><li>Switch between the different modes by simply setting client API parameters </li></ul><ul><li>If you are a Geek, you may even add new Operation clients/ Message Receivers </li></ul><ul><ul><li>e.g. Pub-Sub use case </li></ul></ul>
    14. 14. Architecture (Revisited)
    15. 15. Summery <ul><li>We discussed rationale for Axis2, and brief looked at the architecture </li></ul><ul><li>We discuss three main topics, XML Processing, Extending SOAP Processing Model and Messaging </li></ul><ul><li>For more information </li></ul><ul><ul><li>Official Site http://ws.apache.org/axis2/ </li></ul></ul><ul><ul><li>http://www.wso2.net/projects/axis2/java </li></ul></ul><ul><ul><li>Mailing List </li></ul></ul><ul><ul><li>http://ws.apache.org/axis2/mail-lists.html </li></ul></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×