Introduction to WSO2 ESB

2,255 views
2,078 views

Published on

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,255
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
279
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Introduction to WSO2 ESB

  1. 1. ๏ ๏ ๏ ๏ ๏ ๏ ๏ ๏
  2. 2. ๏ ๏ ๏ ๏ ๏ ๏
  3. 3.
  4. 4. ๏ ๏
  5. 5.
  6. 6. ๏ ๏ ๏ ๏
  7. 7. ๏ ๏ ๏ ๏ ๏ ๏ ๏ ๏
  8. 8. ๏ ๏ ๏ ๏ ๏ ๏ ๏
  9. 9. ๏ ๏ ๏ ๏ ๏ ๏
  10. 10. ๏ ๏ ๏ ๏ ๏
  11. 11. • The simplest functional component available in WSO2 ESB • A black box which accepts a message and carries out a predefined task on it • WSO2 ESB comes with a rich library of built-in mediators –Log mediator : Logs the message –Send mediator: Sends the message to a URL –XSLT mediator : Performs an XSLT transformation on the message Configuration Data Input Message Output Message
  12. 12. … • Transforming messages –eg: XSLT mediator, Payload factory mediator • Manipulating message headers and properties –eg: Header mediator, Property mediator • Replicating, splitting and aggregating messages –eg: Clone mediator, Aggregate mediator • Filtering messages –eg: Filter mediator, Switch mediator • Custom Mediation –Eg: Class mediator, Script mediator • And lot more… –http://docs.wso2.org/display/ESB481/Mediators - complete list
  13. 13. • A sequential arrangement of mediators – A mediator chain! • When a message is handed to a sequence it is given to the first mediator of the chain - The outcome of that will be handed to the second mediator of the chain and so on… • The messages are sent through the chain while mediators perform various actions on it along the way • Pipelining in action!
  14. 14. … ● Consider the example sequence shown above − Messages are first logged by the log mediator − The property mediator sets a property on the messages − Then they are sent to a specified endpoint by the send mediator − It is a simple log-and-forward message flow!
  15. 15. ● Defines an endpoint reference (EPR) to which messages can be sent/forwarded from the ESB − The send mediator takes an endpoint as an argument ● Various operational constraints can be enforced on an endpoint − Timeout duration − Message format (REST, POX, SOAP 1.1, SOAP 1.2) ● QoS expectations can be set on an endpoint − Security
  16. 16. ● Main types of endpoints − Address endpoint (A simple URL) − WSDL endpoint (Extracts the EPR from a WSDL) − HTTP endpoint ( To invoke REST services with URL parameters) − Default endpoint ( Adding QoS and other constraints) − Load balance endpoints (Divides the requests among several child endpoints) − Fail over endpoints (Detects errors that can occur while sending the messages and resends them to a backup endpoint)
  17. 17. ● Acts like a virtual service that can receive requests from clients ● Received client requests are processed and routed to a specified endpoint (usually to an actual service – backend service) ● Responses coming back from the backend service are further processed and forwarded to the clients ● Resembles traditional HTTP proxy servers
  18. 18. Runtime Architecture
  19. 19. o If you have a REST front-end client, REST back-end service, or both a REST client and service, you can use a proxy service in the ESB to handle the communication between the front end and back end o REST Client and SOAP Service o SOAP Client and REST Service o REST Client and REST Service o JMS Client and REST Service o https://docs.wso2.org/display/ESB481/Using+REST+with+a+Proxy+Service *
  20. 20. o API anchored at URL context o e.g., GET /test o Resources o Component of API accessed through HTTP call o Similar to proxy service (in, out, and fault sequences) but more limited o Can restrict resource’s scope using URL patterns and URI templates *
  21. 21. *
  22. 22. o URL mapping oPath mappings (eg: /test/*, /foo/bar/*) oExtension mappings (eg: *.jsp, *.do) oExact mappings (eg: /test, /test/foo) o URI template o/order/{orderId} would process /order/A0001 o/dictionary/{char}/{word} would process /dictionary/c/cat o Use get-property to retrieve exact values <log level="custom"> <property name="Character" expression="get- property('uri.var.char')"/> <property name="Word" expression="get-property ('uri.var.word')"/> </log> *
  23. 23. ๏ ๏ ๏ ๏ ๏ ๏
  24. 24. ๏ ๏ ๏ ๏
  25. 25.
  26. 26. ๏ ๏
  27. 27. ๏ ๏
  28. 28. ๏ ๏ ๏ ๏ ๏ ๏
  29. 29. ๏ ๏
  30. 30.
  31. 31.
  32. 32. ๏ ๏ ๏
  33. 33.
  34. 34. ๏ ๏
  35. 35. ๏ ๏ ๏ ๏ ๏ ๏ ๏ ๏ ๏
  36. 36. http://wso2.com/library/articles/2014/02/esb-performance-round-7.5/
  37. 37. ๏ ๏ ๏ ๏ ๏ ๏ ๏ ๏

×