Mashups, and New Trends In Enterprise Software

colorfuleggnogSoftware and s/w Development

Feb 17, 2014 (3 years and 3 months ago)

58 views

Mashups, and New Trends In
Enterprise Software



Brian “Bex” Huff

Chief Software Architect

Jan 2008

2

Agenda


Intro to mashups



Demos of mashups



Technology behind mashups



Limitations of mashups



The future of mashups

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

4

What’s the Mashup Design Philosophy?

1)
Separate your
information

from its
presentation




2)
Upgrade your enterprise architecture for easy data access

1)
Service
-
Oriented Architectures (SOA) with SOAP

2)
Resource
-
Oriented Architectures (ROA) with ReST


3)
Create an
easy
-
to
-
use

JavaScript API for data access

1)
Access SOAP or ReST services with AJAX

2)
Load RSS or other XML
-
formatted data

3)
Keep it simple! Don’t break the web!


4)
Tell people about your API


5)
Step back, and see what happens!

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/

6

Housingmaps.com Mashup

7

Chicagocrime.org Mashup

8

Google Fight Simulator

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

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!

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

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’s

List

Google

Maps

housing maps

Static

HTML &

JavaScript

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!


ECM

System

ERP

System

Mashup server

Static HTML

App

Server B

App

Server A

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

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

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!


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

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”

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

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:


bex@bezzotech.com



Brian “Bex” Huff

Questions?