February 11, 2007
Can Ajax be OS for the Browser?
Kevin HakmanCo-Founder General Interface Ajax Toolkit
Director, Developer Evangelism
TIBCO Software Inc.Palo Alto, CA
February 11, 2007
The “birth” of Ajax
3/31/05: Google Pioneers Use of Old Microsoft Tools in New Web Programs
“Ajax”“a big step toward the Holy Grail of having the kinds of speed and responsiveness in Web-based programs that's usually associated only with desktop software””
February 11, 2007
Evolution of Network Computing
Richness of Features
Eas
e o
f D
eplo
ymen
t
Terminal
Client-Server
HTML Pages Ajax RIAAjax Pages
February 11, 2007
Ajax Enriched HTML Pages
February 11, 2007
Ajax RIA
February 11, 2007
Rich Internet Applications (RIA)
Rich Internet Applications …• Delivered over the Web
– Lower TCO than thick client
• Look, feel and perform like desktop software GUIs– Higher efficiency than html pages– Richer functionality than html pages
• “Best of Both”
• By 2010 60% of new applications will include “Rich Internet Applications” (RIA)
February 11, 2007
Desktop Responsiveness
Rich GUI
Stateful
Event Driven
February 11, 2007
Ajax Architecture Strategies
• Enriched HTML pages– Hardwire
• Communications and data to DOM with procedural JavaScript• Replace with new server generated HTML DOM chunks
– Two Pass Parse and Replace• DHTML replacement of “tags” in HTML page after the first load of the page• JavaScript manipulation of DOM and JS Objects
• Ajax RIAs– Object based JavaScript Applications– Communication with services
February 11, 2007
Four Quantum States of Ajax• A,J,&,X
– All about communications. Where’s the GUI?
• DHTML Widgets – Enabled with async-communications (maybe)
• Multi-Widget Libraries– Shared underlying services
• Rich Internet Application Frameworks– Common GUI, data, communication framework– Ability to visually author GUIs & more
February 11, 2007
Four Quantum States of Ajax
Richness of Features
Co
mp
lexi
ty o
f D
evel
op
men
t
AJ&X DHTML Widgets
Libraries Ajax RIA Frameworks
Enriched HTML Pages Rich Internet Applications
Full Desktop Application Capabilities
February 11, 2007
Erosion of Desktop OS
• Ajax RIA minimizing the differences– Real-time data– Offline apps
• The “good enough” factor
• Firefox and Adobe will continue to press Microsoft to provide parity with its browser
• OpenAjax Alliance driving core standards
February 11, 2007
IBM
SUN
NOVELL
TIBCO
BEA
SAP
ADOBE
ORACLE
… & more
February 11, 2007
2006, 2005, 2004, 2003, 2002, 2001 …
February 11, 2007
1999-2000: iKnowMed Clinical Oncology
February 11, 2007
2001: DrugMatrix
February 11, 2007
History of the General Interface project
• 1999: GI 0.5 – Heavy interactivity in a browser (iKnowMed)• 2001: GI 1.2 – Client-side MVC architecture and GUI generation
(Iconix)• 2002: GI 1.5 – Client/SOA• 2003: GI 2.0 – Visual Development Tools• 2004: GI 2.4 – TIBCO Acquisition; richer applications and developer
tools• 2005: GI 3.0 – Faster development, richer UI, basic charting
package, visual SOA integration• 2006: GI 3.1 – 100+ Components
GI 3.2 – Released under Open Source BSD License• 2007: GI 3.3 – added IE7 & FX2 support
February 11, 2007
Where is GI being used?
February 11, 2007
Utility Call Center
February 11, 2007
Rich Portlets
February 11, 2007
2002-2003: DOD
February 11, 2007
Real-Time Market Data
February 11, 2007
DOHA Stock Exchange
February 11, 2007
Real-Time Dashboard
February 11, 2007
Visual Authoring Environment
February 11, 2007
The Big Shift
Static
HTMLPages
View
Model
Controller
Web Server
Web Browser Server Centric
February 11, 2007
Client-Side Processing
RIA
View
Model
Controller
Web Server
Web Browser
View
Model
Controller
Client Centric
February 11, 2007
RIA
View
Model
Controller
Web Server
Web Browser
View
Model
Controller
Client Centric
SOA
Client-Side Processing
February 11, 2007
Evolution from 3-Tier to SOA
HTML Pages
http 1.0
Web Server
Ajax Pages
async http
Point Service
Ajax RIAs
async http, http push
SOA
February 11, 2007
SOA Challenges
XML
SOAP
JSON
HTMLJMS
HTTP
• Different services
• Different protocols
• Different formats
• Different locations
• Different APIs
• Different policies
February 11, 2007
SOA Synergy• Bus architecture exposes services for
multiple uses
Enterprise Service BusXML
SOAP
JSON
HTMLJMS
HTTP
February 11, 2007
SOA Synergy• Bus architecture exposes services for
multiple uses
• Facilitates event and message flow across systems subject to policies
XML
SOAP
JSON
HTMLJMS
HTTP
Enterprise Service Bus
February 11, 2007
SOA Synergy• Bus architecture exposes services for multiple uses• Facilitates event and message flow across systems
subject to policies
Enterprise Service Bus
• TIBCO GI extends SOA
to humans… TIBCO General Interface™
XML
SOAP
JSON
HTMLJMS
HTTP
February 11, 2007
Request / Response Publish / Subscribe, Events & Messages
Request/Response vs. Publish/Subscribe
February 11, 2007
Evolution to RIA/SOA brings…
February 11, 2007
TIBCO General Interface™Build Ajax Rich Internet Applications Faster
Download from developer.tibco.com