Mashups, and New Trends In Enterprise Software

20
Mashups, and New Trends In Enterprise Software Brian “Bex” Huff Chief Software Architect Jan 2008

description

Mashups, and New Trends In Enterprise Software. Brian “Bex” Huff Chief Software Architect Jan 2008. Agenda. Intro to mashups Demos of mashups Technology behind mashups Limitations of mashups The future of mashups. What the HECK is a Mashup?!?!. It’s a Hybrid Web Application - PowerPoint PPT Presentation

Transcript of Mashups, and New Trends In Enterprise Software

Page 1: Mashups, and New Trends In Enterprise Software

Mashups, and New Trends In Enterprise Software

Brian “Bex” HuffChief Software ArchitectJan 2008

Page 2: Mashups, and New Trends In Enterprise Software

2

Agenda

Intro to mashups

Demos of mashups

Technology behind mashups

Limitations of mashups

The future of mashups

Page 3: Mashups, and New Trends In Enterprise Software

3

What the HECK is a Mashup?!?!

It’s a Hybrid Web Application

Reuse formatted data from existing sources

Access and display data with dynamic JavaScript• AJAX, DHTML

Analogous to Portal Servers• Portlets written in J2EE or .NET• Mashups written with mostly JavaScript• Mashup widgets work in both .NET and J2EE environments

More of a design philosophy than a tool or a framework

Page 4: Mashups, and New Trends In Enterprise Software

4

What’s the Mashup Design Philosophy?

1) Separate your information from its presentation

2) Upgrade your enterprise architecture for easy data access1) Service-Oriented Architectures (SOA) with SOAP2) Resource-Oriented Architectures (ROA) with ReST

3) Create an easy-to-use JavaScript API for data access1) Access SOAP or ReST services with AJAX2) Load RSS or other XML-formatted data3) Keep it simple! Don’t break the web!

4) Tell people about your API

5) Step back, and see what happens!

Page 5: Mashups, and New Trends In Enterprise Software

5

Examples of Mashups

Housing Maps• http://housingmaps.com• JavaScript mashup of Google Maps and rental data from Craig’s List

Chicago Crime• http://chicagocrime.org• JavaScript Mashup of Google Maps and Chicago crime statistics

Google Flight Simulator• http://www.isoma.net/games/goggles.html• Flash mashup of Google Maps and an airplane video game

Thousands of other Google Maps Mashups:• http://googlemapsmania.blogspot.com/

Page 6: Mashups, and New Trends In Enterprise Software

6

Housingmaps.com Mashup

Page 7: Mashups, and New Trends In Enterprise Software

7

Chicagocrime.org Mashup

Page 8: Mashups, and New Trends In Enterprise Software

8

Google Fight Simulator

Page 9: Mashups, and New Trends In Enterprise Software

9

What’s the Value to Me?

If data is easy to reuse; innovation is bound to follow• No enterprise Java learning curve!• JavaScript Widgets, instead of complex J2EE Portals

Don't need enterprise programmers for enterprise products!• Mashups run in user’s browser, not an app server• Security, performance, uptime managed in your infrastructure• Enterprise programmers focus on infrastructure• Application developers need only know JavaScript

Important piece of Enterprise 2.0• Give your employees a “safe” place to test new apps• Lower the barrier of entry for enterprise software• Allow innovation to happen at all levels

Page 10: Mashups, and New Trends In Enterprise Software

10

Enterprise Mashup Examples

Map customer addresses, or company locations• Visualize the geographic area your serve

Mashup people with their search history• Customer service / Sales knows what they are trying to find

Mashup sales activity with sales forecasts• Business activity monitoring, updated every few minutes• Monitor it with a Flash dashboard• Published data also useful for generating reports

Any data you have can be displayed in a widget• One line of JavaScript on a HTML page• Much easier than integrating application servers!

Page 11: Mashups, and New Trends In Enterprise Software

11

Technology Behind Mashups

Back-End: data repositories• Large enterprise applications: ERP, CRM, ECM• Raw database tables

Middle Tier: application server• Securely connect to back end data repositories

• Single-sign-on strongly encouraged• SOA / ROA interface

• Publish content statically in JSON or XML format• Place dynamic content in a cache for optimal performance

Front End: web browser widgets (JavaScript, Flash, Silverlight)• Use custom API connector to Middle Tier

• AJAX, Remote Scripting, etc.• JavaScript user interface library (YUI, MochiKit, Dojo, etc.)

Page 12: Mashups, and New Trends In Enterprise Software

12

Sample Public Mashup Diagram

• Housing Maps downloads Craig’s List data• Publishes static JavaScript on a schedule

• User requests HTML and JavaScript from Housing Maps• Google Maps and user’s browser do all the work of rendering the page!

Craig’sList

GoogleMaps

housing mapsStatic

HTML &JavaScript

Page 13: Mashups, and New Trends In Enterprise Software

13

Sample Enterprise Mashup Diagram

• User requests HTML from intranet page• Page includes references to secured enterprise JavaScript resources

• User logs in to app server middle tier, downloads secure JavaScript• Single sign-on makes this invisible to user

• Enterprise infrastructure handles performance and security for you!

ECMSystem

ERPSystem

Mashup server Static HTML

App Server B

App Server A

Page 14: Mashups, and New Trends In Enterprise Software

14

Enterprise Mashup Checklist

Google Maps is the gold standard• Publicly available static resources: images, JavaScript• Easy to use JavaScript API

• Also supports XML, KML, and JSON• Uses Remote Scripting instead of AJAX for more flexibility

• Access restricted by an API license key• Prevents overuse by inexperienced JavaScript developers

Enterprise mashups need a bit more• Single Sign On ensures secure access to private data• Web caching between browser and application server• Data caching between application server and back end• Guidance for users who design mashups

• Suggested JavaScript / Flash toolkits

Page 15: Mashups, and New Trends In Enterprise Software

15

Mashups Beyond Google Maps

Freebase.com• Like a Wiki, but with structured database content• Run queries and draw results with pure JavaScript

Salesforce.com – hosted CRM• Mashups with proprietary APEX language• Combined reports on salesforce data, and ultra-secure in-house data

Mashup toolkits for any public web sites• Google Mashup Editor: http://editor.googlemashups.com/• Yahoo Pipes: http://pipes.yahoo.com/pipes/• Microsoft Popfly: http://www.popfly.ms/

Not many off-the-shelf enterprise solutions yet

Page 16: Mashups, and New Trends In Enterprise Software

16

Limitations of Enterprise Mashups

Accessibility for the blind• Text-to-speech readers don’t support JavaScript

• Have not been seriously updated since 1998• Existing web standards that ban JavaScript are obtuse and outdated

• WAI, WCAG 1.0, WCAG 2.0, Section 508

Accessibility solutions• Avoid standards, use new tools, empower the handicapped!

• Web 2.0 can be much more empowering than Web 1.0 • Use Firevox and AxsJAX to add accessibility to AJAX and Mashups

• http://www.firevox.clcworld.net/• http://google-axsjax.googlecode.com/• Use mashups to add accessibility to non-accessible pages!

Page 17: Mashups, and New Trends In Enterprise Software

17

Limitations of Enterprise Mashups, cont.

Security• Need single sign on (SSO) security for data and services• Difficult to do SSO over the greater internet

Performance• Dynamic service requests slower than static XML files• Poorly written JavaScript that makes too many AJAX requests

Stability and Uptime• Can you trust Google Maps to be up 24/7?• What if a server outside your domain breaks?

Content reuse problems• Potential of data theft if information is too re-usable

Page 18: Mashups, and New Trends In Enterprise Software

18

The Future of Mashups

App servers used more to mashup-enable back end systems

Service-Oriented Architectures more common• Lend themselves very well to mashups

• As do Resource-Oriented Architectures• Make Enterprise Service Bus (ESB) optional

• Keep the bar low for “hobbyists”

New formats:• JSON will surpass XML for data transfer• ATOM will surpass RSS for syndication

Accessibility standards will eventually catch up• Good tools and ease of use are more important than “standards”

Page 19: Mashups, and New Trends In Enterprise Software

19

The Future of Mashups, cont.

Mashups empower users to find data in silos

Enterprise Widgets replace portal servers• AJAX and JavaScript replaces J2EE and .NET for some portals• Other portals replaced with full web applications

Freebase becomes vastly more popular• Still in alpha release• Unknown if it can scale to Wikipedia’s size

Web based data mining, and data visualization tools• JavaScript based rapid application development tools• Adobe Flex and Microsoft Silverlight visualization engines

Page 20: Mashups, and New Trends In Enterprise Software

20

My Company:• http://bezzotech.com• Oracle Enterprise Content Management solutions

My Blog:• http://bexhuff.com• Technology, lifehacks, and all that good stuff…

My Self:• [email protected] • Brian “Bex” Huff

Questions?