Wso2 Scenarios Esb Webinar July 1st

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

    Favorites, Groups & Events

    Wso2 Scenarios Esb Webinar July 1st - Presentation Transcript

    1. Real world scenarios with the WSO2 ESB Paul Fremantle, CTO Asankha Perera, ESB Architect Ruwan Linton, Senior Software Engineer 1 st July 2008
    2. ESB 1.7 Webinar Series
      • June 17 th – Introducing WSO2 ESB 1.7
      • July 1 st – Example Integration Scenarios
      • July 3 rd – Introducing WSO2 ESB 1.7 (repeat)
      • July 15 th – Using WSO2 ESB with FIX
      • July 29 th – Complex Event Processing
    3. Three real world scenarios in some detail
      • 1. XML transformation and message augmentation
        • Asankha Perera – Lead Architect, WSO2 ESB
      • 2. Financial services case – reading legacy files and integrating with JMS
        • Paul Fremantle, CTO
      • 3. The PushMePullYou – using polling to integrate two services
        • Ruwan Linton, Senior Software Engineer
    4. XML Transformation of messages with Database augmentation This example illustrates how a database table lookup can be used to augment and transform the message payload, using XSLT transformations Objective
    5.  
    6. Configure the external database access Specify SQL and map parameters, and results Transform using XSLT
    7.  
    8.  
    9.  
    10. Scenario – Financial Security blocking Database legacy flat file NEW YORK Existing System WSO2 ESB Poll Record->XML XML->XML Send LONDON WSO2 ESB Split/Iterate DBLookup/Filter Transform to MQ Send Existing System XML/JMS
    11. Overall ESB flow FileSystemListener NY Sequence Log Out-Only Flatpack E4X Send to London LondonEndpoint LondonSequence Iterate DBReport – log whole msg Filter/Drop NOAC Send
    12. Proxies
    13. New York – File System Listener
    14. New York Sequence
    15. Flatpack Mediator http://esbsite.org/resources.jsp?path=/mediators/paulfremantle/FlatPackMediator <class name=&quot;org.apache.synapse.mediators.contrib.FlatPackMediator&quot;> <property name=&quot;ParserType&quot; value=&quot;records_config&quot;/> <property name=&quot;config&quot;><PZMAP xmlns=&quot;&quot;> <COLUMN name=&quot;INDICATOR&quot; length=&quot;2&quot;/> <RECORD id=&quot;D6&quot; startPosition=&quot;1&quot; endPosition=&quot;2&quot; indicator=&quot;D6&quot;> <COLUMN name=&quot;INDICATOR&quot; length=&quot;2&quot; /> <COLUMN name=&quot;ACTIONKEY&quot; length=&quot;16&quot; /> <COLUMN name=&quot;NA1&quot; length=&quot;5&quot; /> <COLUMN name=&quot;ACCNUM&quot; length=&quot;15&quot; /> <COLUMN name=&quot;ACTTYPE&quot; length=&quot;6&quot; /> <COLUMN name=&quot;SECID&quot; length=&quot;12&quot; /> <COLUMN name=&quot;SECIDTYPE&quot; length=&quot;3&quot; /> <COLUMN name=&quot;REGCODE&quot; length=&quot;5&quot; /> <COLUMN name=&quot;NA2&quot; length=&quot;56&quot; /> <COLUMN name=&quot;ONVF&quot; length=&quot;3&quot; /> <COLUMN name=&quot;NA3&quot; length=&quot;244&quot; /> <COLUMN name=&quot;UNITSEL&quot; length=&quot;22&quot; /> </RECORD></PZMAP> </property> </class>
    16. Transforming using E4X
    17. Scripting XML with E4X <script language=&quot;js&quot;><![CDATA[ var rowset = mc.getPayloadXML() /* use the default namespace from the Flatpack mediator */ var ns = new Namespace(&quot;http://ws.apache.org/synapse/ns/rowset&quot;); /* find all the D6 rows */ var d6 = rowset..ns::row.(@recordname==&quot;D6&quot;); /* create a holder element for the <FEED> elements */ var output = <FEEDS/> for (var i=0; i<d6.length(); i++) { var row = d6[i]; /* lookup the important data */ var ActionKey = row.ns::entry.(@name==&quot;ACTIONKEY&quot;).text(); var AccNum = row.ns::entry.(@name==&quot;ACCNUM&quot;).text(); var ActType = row.ns::entry.(@name==&quot;ACTTYPE&quot;).text(); var SecID = row.ns::entry.(@name==&quot;SECID&quot;).text(); var SecIDType = row.ns::entry.(@name==&quot;SECIDTYPE&quot;).text(); var ONVF = row.ns::entry.(@name==&quot;ONVF&quot;).text(); var UnitsEl = row.ns::entry.(@name==&quot;UNITSEL&quot;).text(); var RegCode = row.ns::entry.(@name==&quot;REGCODE&quot;).text();
    18. Scripting XML continued var feed = <FEED> <ActionKey>{ActionKey}</ActionKey> <AccountNumber>{AccNum}</AccountNumber> <ActionType>{AccType}</ActionType> <SecurityID>{SecID}</SecurityID> <SecurityIDType>{SecIDType}</SecurityIDType> <ONVF>{ONVF}</ONVF> <UnitsElected>{UnitsEl}</UnitsElected> <RegCode>{RegCode}</RegCode> </FEED>; output.appendChild(feed); } mc.setPayloadXML(output); ]]> </script>
    19. London - Iterate
    20. Log the whole message
    21. Final steps
    22. PushMePullYou
    23. Pull n Push scenario
    24. Task Configuration specify the task implementation task properties task scheduler configuration
    25. Calling the data service external data service endpoint configuration
    26. Calling Clearance Service split the message into number of messages transform the individual messages clearance service endpoint
    27. Clearance Response transform the responses from the clearance service aggregate the responses from the clearance into one response
    28. Summary
      • Covered a set of useful cases
        • Changing the flow of control
        • Iteration and Aggregation
        • Two ways of transforming XML
        • Reading record formats
        • Integrating with File-based systems
        • DBReport and DBLookup
    29. Questions
    30. Resources
      • WSO2 Webinars
        • http://wso2.on.intercall.com
      • WSO2 ESB documentation
        • http://wso2.org/project/esb/java/1.7/docs/docs_index.html
      • User List
        • [email_address]
      • Recent performance testing
        • http://wso2.org/library/3740

    + WSO2WSO2, 2 years ago

    custom

    1093 views, 0 favs, 3 embeds more stats

    Paul Fremantle (CTO),
    Asankha Perera (ESB Architec more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1093
      • 972 on SlideShare
      • 121 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 70
    Most viewed embeds
    • 118 views on http://wso2.org
    • 2 views on https://wso2.org
    • 1 views on https://www.wso2.org

    more

    All embeds
    • 118 views on http://wso2.org
    • 2 views on https://wso2.org
    • 1 views on https://www.wso2.org

    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

    Tags