2. Agenda
• The Case for Mashups
• Mash !
• Build real-world Enterprise Mashups
3. What is a Mashup?
• Lightweight Web application that combines
data from multiple sources
• Self-Service/End User focused
• Situational
• Minutes and Hours, NOT Days/Months
• Quick, Agile
• Reusable
4. Types of Mashups
• Client-side
• Most Enterprise Portals
• View related info
5. Data Mashups
• Server + Client
• Merge, Join data from multiple sources
• Eg: Accounts from Salesforce + Issues from JIRA
• Transform data to a different format
• Eg: Excel Spreadsheet data to RSS
• Annotate
• Eg: Enrich Accounts information from Salesforce with
internal data
• Filter, Sort
6. The Case for Mashups
• Information is in Silos
• Internal Databases, ERP, CRM, Document
Management, Email, Wikis, Cloud
• But ... users need data from multiple
Systems to complete their Task
• And ... integration is hard and time-
consuming (hmm .. until now :-))
7. The Case for Mashups
• Data is available but not easily accessible
• Data in Spreadsheets on desktops
• Data from CRM/ERP (WSDL/SOAP)
• Data is available but user wants it in a
specific UI - eg: Wiki/Blog/Excel
• User wants to quickly share the data with
others
8. The Case for Mashups
• New Functionality from existing data
• Join data from related sources
• Append related information
• Light-weight Integration
• Quick, Agile
• Hours/Days, NOT Weeks/Months
• Specific Variants of a more generic Service
11. Connect Users to Data
Mashup
Shareable
Services
Secure
Governed
Shared
12. The Mashup Process
• Create “mashables” from typical data sources
• WSDL,Database,Excel,REST, RSS, POJO,XML
• Mash !
• Share data
13. Mashables
• Make Data sources Mashable by publishing
• Normalized Service
• Uniform Service Access
• Schema
• Managed
• Governed
• Alter Service Characteristics like Caching,
Pagination
14. Lets Mash !
• Steps
• Publish Data Source as “Mashable”
• Mash!
• Publish your Mashup
• Consume
• Demo: Combine RSS Feeds from different
sources to create a new Mashup
15. EMML
• Enterprise Mashup Markup Language
• Domain Language for creating Mashup
Services
• Declarative, XML-based
• Open
16. Lets Mash - SOAP
• Use Case
• Get Accounts From Salesforce
• Annotate Accounts with Internal Data
• Transform data to simpler form
17. Steps - IT Developer
• Publish salesforce.wsdl as a Service
• Normalize SalesforceLogin
• Normalize SalesforceQuery
• Implement AccountSearch Mashup
• Publish the Mashup
• Test
18. Steps - End User
• Create a Mashlet
• Embed
• Share !
20. EMML - Other features
GroupBy
Embedded SQL
Macros
If Else statement
For each
Parallel
OnError / OnTimeout
Assign
template
variable
21. User-generated Mashup
Demo: Create a Mashup using Wires to return the
Stock and Profit/Loss Information about my Portfolio
22. User-generated Mashup
• Created new Functionality that was previously
not possible
• Consumed WSDL Service without writing code
(non-programmer)
• Mashed custom data with publicly available data
to add valuable insights
• Easily Accessible (RSS) - Any RSS Reader
• “Connected the End User to the Data”
23. Macros
• Reuse
• Building Blocks for Services
• Hide complex logic from end users
• Examples
• RSS Data Transformation
• Geo Annotator
• Extract Value