Title: INNOV-3: Mashup Basics or 1 1 > 2
1INNOV-3 Mashup Basicsor1 1 gt 2
Sheldon Borkin VP Technology Rick Kuzyk Sr
Portfolio Specialist
2Agenda
- What is a mashup?
- What technologies are used to create mashups?
- Are there mashup standards?
- Why would I want to use a mashup in a business
application? - How can I create a mashup in OpenEdge?
3What is a Mashup?
- Mashup is a creative approach
- Create something new by creatively combining
things that already exist - The original mashups from.
- Music
- Then video
4And Then Software Mashups on the WebGoogle Maps
Craigs List
5Google Maps Airplanes
6Google Earth Boats
7Google Maps Progress Partner AspSoftware
- ARCH-8 SaaS Case Study 2 pm Tuesday
8Is every Mashup a Map?
Top 10 APIs (of 446 APIs as used in 1,975 Mashups)
9Non-map Mashups Book Search
10Non-map Mashups Travel
11The AutoEdge Mashups
12Some Synonyms for Mashup
- Situational Application
- Portal
- Dashboard
- Composite Application
- The new EII
- SOBA
- The Extended SOA
13Architectural Approaches for Mashups
14Technologies for Mashups Protocols
- HTTP/S The web standard protocol
- RSS Really Simple Syndication XML format
- SOAP For Web Services (the standard)
- REST For web services (the design pattern)
15Technologies for Mashups SOAP vs. REST
- SOAP service oriented
- A standard used to implement Web Services
invocation - Service endpoint with operation embedded in XML
Read a purchase order using SOAP
Service Endpoint
POST http//corp.com/purchasingservice lt?xml
version1.0 encoding utf-8?gt ltsoapEnvelope
xmlnssoaphttp//www.w3.org/2003/05/soap-envelop
egt ltsoapBodygt ltRetrievePurchaseOrdergt lt
Order-numbergt12345lt/Order-numbergt lt/RetrievePur
chaseOrdergt lt/soapBodygt lt/soapEnvelopegt
Operation
16Technologies for Mashups SOAP vs. REST
- REST (Representational State Transfer)
resource oriented - A web-style design pattern, not a standard
- All services as resources with standard HTTP
methods - POST for Create
- GET for Read
- PUT for Update
- DELETE
- (i.e. CRUD for the web)
- Read a purchase order using REST
Resource
Method
GET http//corp.com/purchase_order/12345
17Technologies for Mashups APIs by Protocol
Reference http//www.programmableweb.com/docs/Pro
grammableWeb_Web20Expo2007.pdf
18Technologies for Mashups Formats
- HTML the standard for web pages
- HTML MicroFormats tags embedded in HTML to
identify geo-coded locations and other items of
interest - XML web standard for structured documents
- JSON JavaScript Simple Object Notation
19Technologies for Mashups XML vs. JSON
JSON Fat-free XML?
- Reference http//www.programmableweb.com/docs/Pro
grammableWeb_Web20Expo2007.pdf
20Technologies for Mashups Programming Languages
- Client Code
- JavaScript (INNOV-7 Building a Richer UI for the
Browser - 4pm Tuesday) - AJAX (INNOV-10 Getting Started with AJAX - 3pm
Wednesday) - Server Code
- The usual suspects for Web/Application Servers
- PHP
- Ruby on Rails
- JavaScript
- Python
- Java
- WebSpeed/ABL
21Technologies for Mashups Frameworks/Ecosystems
- Google
- Yahoo
- Amazon
- AOL
- Microsoft (Live/Vista)
- Netvibes
- Pageflakes
- Dapper
- BungeeLabs
22Technologies for Mashups Google
lt?xml version"1.0" encoding"UTF-8" ?gt ltModulegt
ltModulePrefs title"My first gadget" /gt
ltContent type"html"gt lt!CDATA ltBgtWelcome to
my first gadget!lt/Bgt gt lt/Contentgt lt/Modulegt
23Technologies for Mashups Pageflakes
24Technologies for Mashups Yahoo
- Yahoo Pipes visual programming to mashup the
web via hosted service - (Google just answered with Google Mashup Editor)
25Are there Mashup Standards?
- HTML, Web Services, SOAP, XML, etc.
- The Non-standard Standards MicroFormats
- hCalendar
- hCard
- geo
26What are the Issues?
- Identity
- Each of Google, Yahoo, AOL,
- Enterprise directory
- Application-specific
- OpenID
- Secure code, especially client JavaScript
- Licensing
27Why would I want to use a mashup in a business
application?
- Use Maps!
- Make use of business services available as APIs
- Fedex, DB, Google, Amazon,
- Aggregators Strikeiron, Xignite
- Application integration
- Be part of the WWW value chain
28The AutoEdge Mashups
29Client-Side Example Google Map
30Server-Side Example RSS Yahoo Pipes
31What should you remember from this session?
- The Mashup Philosophy
- BE CREATIVE
- Use whats out there plus what you have to make
something new of value - The simpler, the better
- Make it available to others as an API be part of
the programmable web
32References
- Programmable web www.programmableweb.com
- Security - www.fortifysoftware.com/advisory.jsp
- Google - code.google.com
- Yahoo developer.yahoo.com
- Amazon - aws.amazon.com
- MashupCamp - mashupcamp.com
- Progress Software Developers Network
(http//psdn.progress.com/) - Keywords ajax, escript, webspeed
33Relevant Exchange Sessions
- ARCH-8 SaaS Case Study Re-architecting to take
Advantage of the SaaS Business Model (Tuesday
200pm) - INNOV-7 Building a Richer UI for the Browser
(Tuesday 400pm) - INNOV-10 Getting Started with AJAX (Wednesday
330pm)
34Questions?
35Thank you foryour time
36(No Transcript)