15
Axis2, Middleware for Next Generation Web Services Srinath Perera

Axis2, middleware for next generation web services

Embed Size (px)

DESCRIPTION

Axis2 ICWS 2006 Paper at Chicago

Citation preview

Page 1: Axis2, middleware for next generation web services

Axis2, Middleware for Next Generation Web Services

Srinath Perera

Page 2: Axis2, middleware for next generation web services

Next 20 Minutes

• Why Axis2?• What does it have? • Architecture• Core Concepts

– XML processing – Extensibility– Messaging

• Conclusion

Page 3: Axis2, middleware for next generation web services

Why Axis2?

• Web Services has changed, so are the values and expectations from WS Middleware– Better support for Messaging, Asynchronous

interactions– Performance, Need for better XML

processing– Better support for WS-* specifications – New specs, and changes to specs

(Better or for worse)

Page 4: Axis2, middleware for next generation web services

What does it have?• Better XML processing model• Powerful messaging support• Seamless integration with WS-*

implementations – WS-Addressing, WS-Security, WS-RM ….

• Archive based Deployment • Close integration with Policy• HTTP, TCP, SMTP and JMS transports• REST, MTOM, WS-Policy …• Pluggable data Binding• WSDL based Code Generation

Page 5: Axis2, middleware for next generation web services

Architecture 10,000 foot view

Page 6: Axis2, middleware for next generation web services

XML processing Model

• Major decider of performance • Expectations

– Better performance, Streaming access to the Soap Message

– Move back and forth– Easy accesses to the Soap Message, in

other words Tree like (DOM like) representation

Page 7: Axis2, middleware for next generation web services

How to tackle XML Processing?• Use of XML streaming API• Virtual XML elements, that provide

familiar interface to user• Underline implementation based on

differed/lazy parsing (Data is read as late as possible)

• Switching back to the pull parser• Use cases

– Streaming at data binding– Pass result to another Web Service

(Workflows)

Page 8: Axis2, middleware for next generation web services

Extensibility• Support for security, reliability,

transactions, addressing ….• Axis1 approach, Handler architecture

Page 9: Axis2, middleware for next generation web services

Need bit more than Handlers

• Simpler deployment • Automatic configuration e.g. Security• What if two or more Handlers co-

exists? E.g. Security and Reliable Messaging

• Operation Injection - e.g. RM, WS-RF, WS-Sec Conversation

• Managing Handlers automatically and transparently based on Policy

Page 10: Axis2, middleware for next generation web services

Axis2 Modules for extensibility

• Module = Handler(s), + ordering rules + Initialization logic + Operations

• Archive based deployment, just copy it to Axis2 repository.

• Available modules vs Engaged modules• WS-Policy based engagement and

automatic configuration• Possibility of automatically adapting

services with (dynamic/static) policy negotiation

Page 11: Axis2, middleware for next generation web services

Messaging• Messaging System addresses three issues

– Complex message groupings and correlation– Blocking-Non Blocking behavior of Client /Server

API– Synchronous and Asynchronous behavior of

transports

• Supports for following cases– Request response, non-blocking synchronous – Request response, non-blocking asynchronous – Request response, blocking synchronous– Request response, blocking asynchronous – One way

Page 12: Axis2, middleware for next generation web services

Messaging in Axis2• Two Pipes, IN and OUT• Composing pipes at the Client (MEP clients)

and Server (Message Receiver) to yield different MEPS

Page 13: Axis2, middleware for next generation web services

Messaging (Continued)

• Three Properties (non-blocking, MEP, Sync-Async) are Handled in Operation Clients and Message receivers

• Switch between the different modes by simply setting client API parameters

• If you are a Geek, you may even add new Operation clients/ Message Receivers – e.g. Pub-Sub use case

Page 14: Axis2, middleware for next generation web services

Architecture (Revisited)

Page 15: Axis2, middleware for next generation web services

Summery

• We discussed rationale for Axis2, and brief looked at the architecture

• We discuss three main topics, XML Processing, Extending SOAP Processing Model and Messaging

• For more information– Official Site http://ws.apache.org/axis2/– http://www.wso2.net/projects/axis2/java– Mailing List

http://ws.apache.org/axis2/mail-lists.html