Can Ajax be OS for the Browser? Kevin Hakman Co-Founder General Interface Ajax Toolkit Director, Developer Evangelism TIBCO Software Inc. Palo Alto, CA [email protected] February 11, 2007

Download Report

Transcript Can Ajax be OS for the Browser? Kevin Hakman Co-Founder General Interface Ajax Toolkit Director, Developer Evangelism TIBCO Software Inc. Palo Alto, CA [email protected] February 11, 2007

Can Ajax be OS for
the Browser?
Kevin Hakman
Co-Founder General Interface Ajax Toolkit
Director, Developer Evangelism
TIBCO Software Inc.
Palo Alto, CA
[email protected]
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
Ease of Deployment
Evolution of Network Computing
HTML Pages
Ajax Pages
Ajax RIA
Terminal
Client-Server
Richness of Features
February 11, 2007
Ajax Enriched HTML Pages
February 11, 2007
Ajax RIA
February 11, 2007
Rich Internet Applications (RIA)
• By 2010 60% of new applications will
include “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”
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
Libraries
DHTML
Widgets
Ajax RIA
Frameworks
Full Desktop
Application
Capabilities
Complexity of Development
AJ&X
Richness of Features
Enriched HTML Pages
February 11, 2007
Rich Internet Applications
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
Web Browser
Server Centric
Static
HTMLPages
Web Server
Model
View
February 11, 2007
Controller
Client-Side Processing
Web Browser
Client Centric
RIA
Model
View Controller
Web Server
Model
View
February 11, 2007
Controller
Client-Side Processing
Web Browser
Client Centric
RIA
Model
View Controller
Web Server
Model
View
February 11, 2007
Controller
Evolution from 3-Tier to SOA
HTML Pages
Ajax Pages
Ajax RIAs
http 1.0
async http
Web Server
Point Service
async http, http
push
SOA
February 11, 2007
SOA Challenges
• Different services • Different locations
• Different protocols • Different APIs
• Different formats • Different policies
XML
SOAP
HTTP
JMS
February 11, 2007
JSON
HTML
SOA Synergy
• Bus architecture exposes services for
multiple uses
XML
HTTP
JSON
Enterprise Service Bus
SOAP
JMS
February 11, 2007
HTML
SOA Synergy
• Bus architecture exposes services for
multiple uses
• Facilitates event and message flow
across systems subject to policies
XML
HTTP
JSON
Enterprise Service Bus
SOAP
JMS
February 11, 2007
HTML
SOA Synergy
• Bus architecture exposes services for multiple uses
• Facilitates event and message flow across systems
subject to policies
• TIBCO GI extends
TIBCO General Interface™
SOA to humans…
XML
HTTP
JSON
Enterprise Service Bus
SOAP
JMS
February 11, 2007
HTML
Request/Response vs. Publish/Subscribe
Request / Response
February 11, 2007
Publish / Subscribe, Events & Messages
Evolution to RIA/SOA brings…
February 11, 2007
TIBCO General Interface™
Build Ajax Rich Internet Applications Faster
Download from developer.tibco.com
February 11, 2007