lightweight SOA with web widgets

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

    5 Favorites & 1 Group

    lightweight SOA with web widgets - Presentation Transcript

    1. lightweight SOA with web widgets Phillip Calçado http://fragmental.tw
    2. SOAP/WS-* vs. REST
    3. X SOAP/WS-* vs. REST
    4. 15 tv channels 8 radio stations 19 magazines & newspapers 500+ web sites
    5. 800 videos 900,000 visits every day
    6. previous architecture
    7. pretty picture Corporate Database video.globo.com Media Encoder xyz.globo.com Media Encoder Media Encoder Media Encoder Media Encoder Internet Movie Sound Picture
    8. real world Media Encoder SQL Corporate xyz.globo.com Database SQL SQL SOAP SQL SQL HTML video.globo.com SOAP HTML Internet Media Transfer Protocol
    9. two main problems
    10. 1) audio and video production 2) integration with other sites
    11. 1) audio and video production
    12. Media Encoder Corporate Database video.globo.com
    13. Media Encoder Corporate Database Media Encoder video.globo.com
    14. multiple Media Encoder Corporate instances Database Media Encoder video.globo.com managed by different companies with different interests and schedules
    15. Media Encoder Corporate Database v1.0 Media Encoder video.globo.com v1.1.1
    16. multiple Media Encoder Corporate Database versions v1.0 Media Encoder video.globo.com hard to know who is using what v1.1.1
    17. 2) integration with other sites
    18. Media Encoder Corporate xyz.globo.com Database video.globo.com
    19. main Corporate integration Database point
    20. xyz.globo.com Corporate Table C Table B xyz.globo.com DatabaseTable D Table A xyz.globo.com xyz.globo.com video.globo.com
    21. X xyz.globo.com Corporate Table C Table B xyz.globo.com DatabaseTable D Table A xyz.globo.com xyz.globo.com video.globo.com
    22. xyz.globo.com Corporate View C Table B xyz.globo.com DatabaseTable D Table A xyz.globo.com xyz.globo.com video.globo.com
    23. xyz.globo.com Corporate View C View B xyz.globo.com Table E Table F Database View D View A xyz.globo.com xyz.globo.com video.globo.com
    24. no contracts xyz.globo.com Corporate View C View B xyz.globo.com Table E Table F Database View D View A xyz.globo.com just get what you want xyz.globo.com from my tables video.globo.com
    25. Corporate Database Ratings Ratings Video Show Video Show xyz.globo.com video.globo.com Internet
    26. Corporate Database Ratings Ratings Video Show Video Show same logic xyz.globo.com video.globo.com Internet
    27. 40% code Corporate Database duplication Ratings Ratings Video Show Video Show same logic xyz.globo.com video.globo.com among different systems developed by different people Internet
    28. the new architecture
    29. pretty picture Corporate Database video.globo.com Media Encoder xyz.globo.com Media Encoder Media Encoder Media Encoder Media Encoder Internet Movie Sound Picture
    30. pretty picture Media Services video.globo.com Media Encoder xyz.globo.com Media Encoder Media Encoder Media Encoder Media Encoder Internet Movie Sound Picture
    31. real world Media Encoder HTTP Media xyz.globo.com Services HTTP HTTP SOAP HTML video.globo.com HTML Internet Media Transfer Protocol
    32. 1) audio and video production
    33. multiple multiple Media Encoder + Corporate instances versions Database v1.0 Media Encoder video.globo.com v1.1.1
    34. multiple multiple Media Encoder + Corporate instances versions Database v1.0 versioned Media Encoder video.globo.com services v1.1.1
    35. Media Encoder http://mediaservices/v1/media/135 Corporate Database v1.0 http://mediaservices/v2/media/135 Media Encoder http://mediaservices/v3/media/135 video.globo.com v1.1.1
    36. Media Encoder Corporate Database v1.0 Media Encoder video.globo.com v1.1.1
    37. HTTP Media Encoder POST media/v1.0 v1.0 Media Services Media Encoder HTTP POST media/v1.1.1 v1.1.1
    38. 2) integration with other sites
    39. no code + contracts duplication xyz.globo.com Corporate View C View B xyz.globo.com Table E Table F Database View D View A xyz.globo.com xyz.globo.com video.globo.com
    40. no code + contracts duplication xyz.globo.com Corporate View C View B xyz.globo.com Table E Table F Database View D View A web sites as xyz.globo.com xyz.globo.com service clientsvideo.globo.com
    41. Corporate Database Ratings Ratings Video Show Video Show same logic xyz.globo.com video.globo.com Internet
    42. Media Services Ratings logic Video Show xyz.globo.com video.globo.com Internet
    43. Code Duplication 40% 35% 30% 25% 20% 15% 10% 5% 0% Database Integration Web Services
    44. evolving
    45. <set> <set> <video id=\"1\"/> <video id=\"1\"/> xml <video id=\"2\"/> <video id=\"2\"/> <video id=\"3\"/> <video id=\"3\"/> </set> </set> ? xyz.globo.com video.globo.com <div> <div> <h2>video title</h2> <h2>video title</h2> html <p>description <p>description description</p> description</p> </div> </div>
    46. <set> <video id=\"1\"/> json/xml <video id=\"2\"/> <video id=\"3\"/> </set> JavaScript Widgets <div> <h2>video title</h2> html <p>description description</p> </div>
    47. real world Media xyz.globo.com Services HTTP HTTP HTML video.globo.com HTML Internet
    48. real world Media xyz.globo.com Services JavaScript HTTP Widgets HTML video.globo.com JavaScript Internet
    49. <script type=\"text/javascript\" src=\"http://video.globo.com//Wdgts/9461.html\"> </script> <script type=\"text/javascript\"> var c = new WidgetContext( {'id':'4413','type':'show'},{}); var a = new CalendarBox(c,false); a.render; </script>
    50. Code Duplication 40% 35% 30% 25% 20% 15% 10% 5% 0% Database Integration Web Services
    51. Code Duplication 40% 35% 30% 25% 20% 15% 10% 5% 0% Database Integration Web Services Widgets API
    52. some problems • managing Service Versioning is still hard, keep just the previous version and only if needed • URI versioning can be problematic, we made it optional and added an http header • it’s very hard to be fully RESTful, be pragmatic • strong primitives are flexible
    53. Thank you! Phillip Calçado http://fragmental.tw
    54. This work is licensed under a Creative Commons Attribution-Share Alike 2.5 Australia License http://creativecommons.org/licenses/by-sa/2.5/au/
    55. TV Globo and Globo.com are trademarks in Brazil and other countries. Used by permission.

    + Phillip CalçadoPhillip Calçado, 2 years ago

    custom

    3959 views, 5 favs, 5 embeds more stats

    Presented at Australian Architecture Forum 2008:
    h more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 3959
      • 3467 on SlideShare
      • 492 from embeds
    • Comments 0
    • Favorites 5
    • Downloads 103
    Most viewed embeds
    • 413 views on http://blog.fragmental.com.br
    • 70 views on http://fragmental.tw
    • 7 views on http://www.infoblogs.com.br
    • 1 views on http://74.125.159.132
    • 1 views on http://74.125.91.132

    more

    All embeds
    • 413 views on http://blog.fragmental.com.br
    • 70 views on http://fragmental.tw
    • 7 views on http://www.infoblogs.com.br
    • 1 views on http://74.125.159.132
    • 1 views on http://74.125.91.132

    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

    Groups / Events