Open Source Integration with WSO2 Enterprise Service Bus

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Open Source Integration with WSO2 Enterprise Service Bus - Presentation Transcript

    1. Leveraging Open Source Integration with WSO2 Enterprise Service Bus Sumedha Rubasinghe 2009 Air Force Information Technology Conference Montgomery, Atlanta
    2. Agenda  The Need  Introduction  Features  Important Concepts  Extendibility  Performance  Use cases  Getting started & Help 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. Busbar 8
    9. 9
    10. Introducing Mattson ... Hi.. Mattson here.. I am an architect 10
    11. So.. What is WSO2 ESB? 11
    12. WSO2 Enterprise Service Bus  A fast,Light weight, easy-to-use Enterprise Service Bus product  Open source product with commercial support (if required)  Released with business friendly Apache License 2.0  Based on Apache Synapse  Customizable to match the needs of your Enterprise 12
    13. wait.. What is Apache Synapse? How is it related to WSO2 ESB? 13
    14. Apache Synapse & WSO2 ESB  Leading project developed by Apache community  Some of the key committers with in WSO2  WSO2 ESB is built on top of Apache Synapse  Synapse provides the core mediation capabilities  WSO2 ESB uses Synapse's configuration language 14
    15. Screenshots 15
    16. Screen shots 16
    17. Screen shots 17
    18. In what type of scenarios Can I use WSO2 ESB? 18
    19. Usage scenarios  Link legacy files to messaging based systems  Transform CSV or EDI formats to XML  Act as a high-performance XML Gateway  Content-based routing and creating virtual services  Integrate FIX based trading systems with XML and non-XML backends  Log, trace and audit live systems 19
    20. Tell me some of the main features of WSO2 ESB 20
    21. WSO2 ESB Features  Message Routing  Message Transformation & Mapping  Scheduled Tasks  Orchestration  Protocol Switching  Transaction Support  Eventing 21
    22. Message Routing  Act as a simple Proxy 22
    23. Message Routing  Content based routing 23
    24. Message Transformation & Mapping  XSLT 24
    25. Message Transformation & Mapping  XQuery 25
    26. Message Transformation & Mapping  E4X 26
    27. Message Transformation & Mapping  Support for different file formats – EDI – flat files – CSV – COBOL/Record 27
    28. Tasks  Allow the ESB to initiate work on a timed basis  Cron/simple interval  Write your own tasks 28
    29. Orchestration  Aggregate 29
    30. Orchestration  Disaggregate 30
    31. Orchestration  Callout 31
    32. Orchestration  If/Then/Else 32
    33. Orchestration  BPEL Feature plug-in – Adds BPS capabilities into ESB 33
    34. interesting... 34
    35. Protocol Support 35
    36. Protocol Support  File, (S)FTP, HTTP(S), REST, Hessian, JSON  SOAP  JMS – MQSeries, AMQP/ Apache Qpid,Apache ActiveMQ – Transactional support  Email, XMPP,FIX,TCP 36
    37. Rule based Mediation  Drools 37
    38. Many more features ...  Load balancing  Fail-over handling  Caching / Throttling  Registry based Clustering  WS-Reliable Messaging  FIX  CEP (Complex Event Processing)  and many more.... 38
    39. What if I want more? Can I extend WSO2 ESB? Yes.. you can.. Just write a mediator.. 39
    40. Mediator ..!! what is that? 40
    41. Important concept - Mediator • Basic component of ESB • Mediates messages going through • Core mediators – Send, Drop, Log, Property • Filter mediators – Filter, Switch, Validate, Throttle, In, Out • Transformation mediators – XSLT, Header, Fault, XQuery • Advanced mediators – Clone, Cache, Aggregate, DBLookup, Callout 41
    42. Important concept – Send Mediator • Used to send out the messages • Used in almost all the cases • Wrapped an endpoint – if no endpoint is specified, anonymous 'To' address will be taken as the EPR 42
    43. Important concept – Sequence • Special mediator – List of mediators to be executed in an order • Pipeline pattern • Special sequences – main – fault 43
    44. Important concept – operation modes • Act as a proxy • Main Sequence – If none of the proxy services matches the request pattern 44
    45. I would like to have few more mediator examples.. 45
    46. Extendibility – Java Mediator • Class implementing the Mediator interface – Or AbstractMediator class – Custom mediator is executed through the ClassMediator in ESB – Corresponding setter methods in the custom class will be set before executing the custom mediator if any properties are specified 46
    47. Extendibility - POJOCommand • Extends the mediation capabilities using the well known command pattern – Class implementing the Command interface or a POJO with a void execute() method – execute() method will be invoked using the Command interface or by using reflection – Sets the properties before execution and retrieves the properties after execution 47
    48. Extendibility – Script Mediator • Enables scripting for extending mediation • Supports all the Apache BSF scripting languages – JRuby, Jython, Groovy, Java Script • Embed the script inline or can be referred to a separate script file with the function name to be executed 48
    49. Extendibility – Spring Mediator • Spring configurations to extend the mediation • Spring bean must implement the Mediator interface • Refer to the spring application context using the key • The Spring bean is managed by the spring context at mediation time 49
    50. Extending WSO2 ESB  Registry as a repository – Loading configuration from external registry  New Transports 50
    51. So how does all of these fit together?... What happens with-in WSO2 ESB? 51
    52. Architecture 52
    53. Runtime 53
    54. Deployment 54
    55. Performance  Completely asynchronous architecture internally  Streaming support for messages  100% error free and zero memory leaks under heavy load  Up to 4500tps out-of-the-box for proxying – Intel(R) Xeon(TM) 3.20GHz 2MB Cache – Dual Core - 2 CPU system – 2GB RAM – 1Gb Ethernet  http://wso2.org/library/3740 55
    56. Performance  http://wso2.org/library/3740 56
    57. Non-Blocking IO Synapse Incoming req Request Thread1 processing Outgoing req Socket open Socket open TIME TIME TIME TIME Incoming resp Response Thread2 processing Outgoing resp This model means: 1. Synapse threads never blocked during normal processing 2. Number of sockets open >> number of threads 57
    58. Monitoring  Monitor System statistics  Running logs  Message Tracing  Dynamically configurable Logger  Exposes statistics via JMX  Dashboard – Google Gadgets 58
    59. I would like to see some Use cases where all of these are applied... 59
    60. Use Case 1 • Problem – I want to send a notification email whenever there is a request to a particular service which satisfies a set of conditions over the request • Solution – Filter the messages over the request and evaluate the conditions – If the conditions evaluate to true then clone the message – Send the request to the desired endpoint while forwarding a copy (may be after transformation) 60 through the mail transport
    61. Use Case 1 61
    62. Use Case 1 - configuration 62
    63. Use Case 2 • Problem – I have a service exposed over HTTP transport and now I want the same service to be accessed through JMS • Solution – Expose a proxy service with JMS (and what ever transport) and switch the transport to HTTP (if not http) – Invoke the actual service with HTTP transport – Switch the transport back to JMS of the response message 63
    64. Use Case 2 64
    65. Use Case 2 - Configuration 65
    66. Use Case 3 • Problem – I want the ESB to invoke several services of the same type for a request, evaluate all the responses and respond me with the best one • Solution – Clone the message and send the requests to different endpoints – Get the responses from all services and aggregate the responses – Select the best out of the aggregated responses and respond to the client 66
    67. Use Case 3 67
    68. Use Case 3 - Configuration 68
    69. Use Case 3 - Configuration 69
    70. Use Case 3 - Configuration 70
    71. Use Case 3 - Configuration 71
    72. Use Case 3 - Configuration 72
    73. Use Case 4 • Problem – I have a non secure service and now I want to expose this service with security • Solution – Expose a proxy service – Add security to that proxy service and specify the policy on which you want to enforce security – Invoke the actual service without security by removing security headers in the request comes to the proxy – Add security for responses from the actual service 73 to client
    74. Use Case 4 74
    75. Use Case 4 - Configuration 75
    76. Use Case 5 - FIX to HTTP transport http://wso2.org/library/3837 76
    77. Use Case 6 - Eventing •http://wso2.org/library/articles/fusion-eventing-soa •http://wso2.org/library/articles/fusion-eventing-soa-part-2-eventing-using- synapse-wso2esb 77
    78. Use Case 7 78
    79. WSO2 Product Platform 79
    80. That's lot of information... Now I would like to try these out myself. How do I get started? 80
    81. How to get started?  Download binary distribution from http://wso2.org/projects/esb/java  Latest is v2.1.0  Unzip • Run bin/wso2server.sh (on Unix) or bin/wso2server.bat (on Windows) • Management console – https://localhost:9443/carbon – admin/admin 81
    82. Help.. I messed it up... 82
    83. How to get help?  Online forum  Active community of external users  Ample free documentation on wso2.org  If needed, we provided commercial support on – Getting started – Deployment – Custom development – Production support 83
    84. I would like to have some URLs for reference. 84
    85. Useful references  WSO2 Oxygen Tank for Web Service Developers – http://wso2.org  WSO2 ESB project page – http://wso2.org/projects/esb  Performance testing – http://wso2.org/library/3740 – http://wso2.org/library/2259 – http://wso2.org/library/1721  Apache Synapse – http://synapse.apache.org 85
    86. Summary •Hypothetical Enterprise •Brief Introduction on WSO2 ESB •Features •Important concepts – Mediators – Sequence •Extendibility •Use cases •Getting started & Help 86
    87. Thank you sumedha@wso2.com (on behalf of WSO2 ESB team) 87
    SlideShare Zeitgeist 2009

    + sumedha.rsumedha.r Nominate

    custom

    449 views, 1 favs, 3 embeds more stats

    Open Source Integration with WSO2 Enterprise Serv more

    More info about this document

    CC Attribution License

    Go to text version

    • Total Views 449
      • 438 on SlideShare
      • 11 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 16
    Most viewed embeds
    • 7 views on http://www.openintegration.net
    • 3 views on http://sumedha.blogspot.com
    • 1 views on http://swsdn.tistory.com

    more

    All embeds
    • 7 views on http://www.openintegration.net
    • 3 views on http://sumedha.blogspot.com
    • 1 views on http://swsdn.tistory.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories