Mashups For Soa


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mashups For Soa

  1. 1. Mashups for SOA Keith Chapman Technical lead & Product Manager WSO2 Mashup Server
  2. 2. Introduction This session will introduce Mashups as an enterprise integration tool and will demonstrate the various technologies in use for service compositions in SOAs We will also take a very brief look at how the WSO2 Mashup Server helps you in this regard.
  3. 3. Agenda ● What is a Mashup? ● Types of Mashups ● Role of Mashups in a SOA ● Mashup Platform Approaches ● WSO2 Mashup Server – Quick Introduction
  4. 4. What is a Mashup?
  5. 5. What is a Mashup? A mashup is a web page or application that combines data or functionality from two or more external sources to create a new service. The term mashup implies easy, fast integration, frequently using open APIs and data sources to produce results that were not the orig- inal reason for producing the raw source data. An ex- ample of a mashup is the use of cartographic data from Google Maps to add location information to real estate data, thereby creating a new and distinct Web service that was not originally provided by either source.
  6. 6. What is a Mashup? The term mash-up refers to a new breed of Web- based applications created by hackers and program- mers (typically on a volunteer basis) to mix at least two different services from disparate, and even competing, Web sites. A mash-up, for example, could overlay traf- fic data from one source on the Internet over maps from Yahoo, Microsoft, Google or any content provider.
  7. 7. What is a Mashup? A mashup is a Web site that combines content data from more than one source to create a new user expe- rience.
  8. 8. What is a Mashup? Another simple but effective definition 1+1=3
  9. 9. Types of Mashups
  10. 10. Types of Mashups ● Client-Side Mashup ● Integration/interaction in the client side ● Mostly JavaScript in the browser ● Google Maps Mashups ● Interactive user experience
  11. 11. Types of Mashups ● Server-Side Mashup ● Composing several already exposed services or data sources into a single service. ● Transforming an exposed service ● Moving the client side mashup logic to the server
  12. 12. Advantages of Server Side Mashups ● Far more power, control and flexibility ● Promotes MVC (Model, View Control) ● Rich environment, more options, and resources ● Less security worries ● Less security restrictions
  13. 13. Advantages of Server Side Mashups ● No cross domain restrictions ● Browsers that do not understand or have disabled JavaScript ● Mobile phones ● Less Java script code in the client side
  14. 14. Web 2.0 Evolution ● Power shift from publisher to consumer ● Demand for APIs, not just Pages ● Universal data format (XML) ● Web Services ● Metadata/Description ● Security ● Enterprisey stuff (reliability, auditing)
  15. 15. Mashup Characteristics ● Situational application, consuming Web APIs ● Characteristics ● Lightweight ● Customized ● Aggregates data / Composes services ● Often combines personal and public data ● Recursive?
  16. 16. Beyond Google Maps ● UI for existing services ● Simple service creation and deployment ● Simple service composition ● Simple workflows ● Service translation ● Personal productivity ● Rapid prototyping
  17. 17. Role of Mashups in a SOA
  18. 18. Metcalfe's law Metcalfe's law states that the value of a telecommunications network is proportional to the square of the number of connected users of the sys- tem (n2).
  19. 19. Metcalfe's law
  20. 20. Metcalfe's law Adjusted...
  21. 21. Importance of Mashups in a SOA ● Helps bridge users to your SOA ● Emails ● IM ● Feeds ● Create mock services ● Helps create a prototypes quickly ● Improves Agility
  22. 22. Mashup Platform Approaches
  23. 23. Mashup Platform Approaches ● Server side or Client side ● Mashup Logic requires unified format & protocol model ● HTTP/HTML? ● RSS? ● RDF? ● Proprietary?
  24. 24. Mashup Platform Approaches ● Consumption ● GUI tools? ● Converters? ● Delivery ● HTML? ● RSS? ● Proprietary? ● Various? ● Online service vs. installable software?
  25. 25. WSO2 approach ● Unified model: XML & Web Services ● Open standards ● Widely adopted (at least in the Enterprise) ● Secure ● Logic: Javascript Web Services ● Javascript (E4X) ● Notepad / virtual directories ● Host objects (scraping, rss …)
  26. 26. WSO2 approach ● Recursive (network effects) ● Delivery ● Web Services (generate WSDL, schema etc.) ● Help build HTML (JS stubs, try-it, …) ● UI palette includes services for Email, IM, RSS, Files. ● Scale from desktop installable server to online community
  27. 27. WSO2 Mashup Server – Quick Introduction
  28. 28. WSO2 Mashup Server Architecture Data Sources Web Pages Mashup Feeds Logic Web Services
  29. 29. WSO2 Mashup Server Architecture ● Javascript (E4X) ● Simple service deployment Mashup Logic ● Service composition ● Workflows ● Service translation ● Service UI building ● Rapid prototyping
  30. 30. WSO2 Mashup Server Architecture Web Mashup Services Logic Rich HTML Applications Email/IM Files Feeds
  31. 31. Features ● Web Service-centric model ● Separates content and presentation ● Recursive (network effects) ● Broad UI palette: HTML, Email, IM, RSS, Files... ● Open standards & interoperability ● Rich metadata ● WSDL, REST interfaces, Javascript Stubs ● Try-it rich browser client
  32. 32. Features ● Rich set of Adapters (Javascript Object Model) ● Scraping: fetch, tidy, filter, transform, iterate, cache… ● Feeds: Atom, RSS ● Files (private, shared, web-accessible) ● Email ● IM ● Long-running mashups
  33. 33. Summary ● We've looked at ● What is a Mashup? ● Types of Mashups ● Role of Mashups in a SOA ● Mashup Platform Approaches ● WSO2 Mashup Server – Quick Introduction
  34. 34. Resources ● Try the Mashup Server online ● Sample mashup (National Geographic) ● Sample mashup (TomatoTube) ● Sample mashup (Twitter Map) ● E4X Quick start guide
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.