silicon valley code camp

28
Enterprise Mashups Kishore Subramanian JackBe (http://www.jackbe.com/dev )

Upload: kishore-subramanian

Post on 13-Jan-2015

1.410 views

Category:

Technology


2 download

DESCRIPTION

Slides from my presentation at the SiliconValley CodeCamp held at the Foothill College, Los Altos, CA on Nov 8th 2008. http://www.jackbe.com/dev

TRANSCRIPT

Page 1: Silicon Valley Code Camp

Enterprise MashupsKishore Subramanian

JackBe (http://www.jackbe.com/dev)

Page 2: Silicon Valley Code Camp

Agenda

• The Case for Mashups

• Mash !

• Build real-world Enterprise Mashups

Page 3: Silicon Valley Code Camp

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

Page 4: Silicon Valley Code Camp

Types of Mashups

• Client-side

• Most Enterprise Portals

• View related info

Page 5: Silicon Valley Code Camp

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

Page 6: Silicon Valley Code Camp

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 :-))

Page 7: Silicon Valley Code Camp

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

Page 8: Silicon Valley Code Camp

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

Page 9: Silicon Valley Code Camp

The New Front-tierIntroducing the Mashup Layer

Page 10: Silicon Valley Code Camp

The New Front-tier

Web 2.0Web 1.0

Introducing the Mashup Layer

Page 11: Silicon Valley Code Camp

Connect Users to Data

MashupServices

Shareable

SecureGoverned

Shared

Page 12: Silicon Valley Code Camp

The Mashup Process

• Create “mashables” from typical data sources

• WSDL,Database,Excel,REST, RSS, POJO,XML

• Mash !

• Share data

Page 13: Silicon Valley Code Camp

Mashables• Make Data sources Mashable by publishing

• Normalized Service

• Uniform Service Access

• Schema

• Managed

• Governed

• Alter Service Characteristics like Caching, Pagination

Page 14: Silicon Valley Code Camp

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

Page 15: Silicon Valley Code Camp

EMML

• Enterprise Mashup Markup Language

• Domain Language for creating Mashup Services

• Declarative, XML-based

• Open

Page 16: Silicon Valley Code Camp

Lets Mash - SOAP

• Use Case

• Get Accounts From Salesforce

• Annotate Accounts with Internal Data

• Transform data to simpler form

Page 17: Silicon Valley Code Camp

Steps - IT Developer

• Publish salesforce.wsdl as a Service

• Normalize SalesforceLogin

• Normalize SalesforceQuery

• Implement AccountSearch Mashup

• Publish the Mashup

• Test

Page 18: Silicon Valley Code Camp

Steps - End User

• Create a Mashlet

• Embed

• Share !

Page 19: Silicon Valley Code Camp

EMML Highlights• Invoke Services

• Invoke POJO’s

• Join, Group

• Filter, Sort

• Merge, Split

• Data Annotation

• Scripting - Javascript, XQuery, JRuby, POJO

• Web clipping

Page 20: Silicon Valley Code Camp

EMML - Other featuresGroupByEmbedded SQLMacrosIf Else statementFor eachParallelOnError / OnTimeoutAssigntemplatevariable

Page 21: Silicon Valley Code Camp

User-generated MashupDemo: Create a Mashup using Wires to return the

Stock and Profit/Loss Information about my Portfolio

Page 22: Silicon Valley Code Camp

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”

Page 23: Silicon Valley Code Camp

Macros• Reuse

• Building Blocks for Services

• Hide complex logic from end users

• Examples

• RSS Data Transformation

• Geo Annotator

• Extract Value

Page 24: Silicon Valley Code Camp

Shareables

MashletsREST / RSS

Excel Spreadsheet Email (URL or snapshot)

Page 25: Silicon Valley Code Camp

Demo

• Salesforce Accounts using a REST URL

• XML and JSON output

• Salesforce Leads using RSS

Page 26: Silicon Valley Code Camp

Mashlet Platform

• Mashlet API to create custom Mashlets

• Save Mashlets in Presto

• Governed Access to Mashlets

• Open

Page 27: Silicon Valley Code Camp

Demo

• Salesforce Accounts Mashlet

• Embed

Page 28: Silicon Valley Code Camp

Thank You !

http://www.jackbe.com/dev