AJAX Crawlability In A Responsive Publishing World By Eric Wu
Ajax World 2008
-
Upload
appcelerator-inc -
Category
Documents
-
view
1.063 -
download
0
Transcript of Ajax World 2008
![Page 1: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/1.jpg)
AJAX WORLDAJAX WORLDMarch 2008March 2008
![Page 2: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/2.jpg)
Jeff HaynieJeff HaynieCo-founder & CEOCo-founder & CEO
[email protected]@appcelerator.comblog.jeffhaynie.usblog.jeffhaynie.ustwitter.com/jhaynietwitter.com/jhaynielinkedin.com/in/jhaynielinkedin.com/in/jhaynie
![Page 3: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/3.jpg)
how did we get how did we get here?here?
![Page 4: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/4.jpg)
19911991
![Page 5: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/5.jpg)
Dave LitwackDave LitwackMitchell KertzmanMitchell Kertzman
![Page 6: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/6.jpg)
PowersoftPowersoft
![Page 7: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/7.jpg)
PowerbuilderPowerbuilder
![Page 8: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/8.jpg)
client / serverclient / server
![Page 9: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/9.jpg)
proprietaryproprietary
![Page 10: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/10.jpg)
rapid app devrapid app dev
![Page 11: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/11.jpg)
database integrationdatabase integration
![Page 12: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/12.jpg)
$5.2M$5.2M(6 months from 1.0)(6 months from 1.0)
![Page 13: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/13.jpg)
Profitable: year oneProfitable: year one
![Page 14: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/14.jpg)
IPO Feb. 1993IPO Feb. 1993(~3 years)(~3 years)
![Page 15: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/15.jpg)
$57M 1993$57M 1993
![Page 16: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/16.jpg)
suits came knockingsuits came knocking
![Page 17: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/17.jpg)
![Page 18: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/18.jpg)
$900M - 1995$900M - 1995
![Page 19: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/19.jpg)
OopsOops
(sybase fabricated sales figures)(sybase fabricated sales figures)
![Page 20: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/20.jpg)
revolutionized the revolutionized the way we built appsway we built apps
![Page 21: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/21.jpg)
focus on the appfocus on the app
(and ultimately, our business requirements)(and ultimately, our business requirements)
![Page 22: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/22.jpg)
![Page 23: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/23.jpg)
19911991
![Page 24: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/24.jpg)
ComdexComdex(Atlanta)(Atlanta)
![Page 25: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/25.jpg)
![Page 26: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/26.jpg)
![Page 27: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/27.jpg)
client / serverclient / server
![Page 28: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/28.jpg)
easy to build appseasy to build apps
![Page 29: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/29.jpg)
event drivenevent driven
![Page 30: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/30.jpg)
integration to DBintegration to DB
![Page 31: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/31.jpg)
last release: 1996last release: 1996(vb6)(vb6)
![Page 32: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/32.jpg)
![Page 33: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/33.jpg)
March 31, 2005March 31, 2005
(extended to March 2008 - (extended to March 2008 - better hurry up and replace)better hurry up and replace)
![Page 34: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/34.jpg)
focus on the appfocus on the app
![Page 35: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/35.jpg)
2-tier architecture2-tier architecture
![Page 36: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/36.jpg)
client = applicationclient = application
![Page 37: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/37.jpg)
rapid app creationrapid app creation
![Page 38: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/38.jpg)
productivityproductivity
![Page 39: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/39.jpg)
ease of useease of use
![Page 40: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/40.jpg)
distributiondistribution
![Page 41: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/41.jpg)
securitysecurity
![Page 42: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/42.jpg)
programming model
![Page 43: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/43.jpg)
client/server was client/server was proliferating, proliferating,
something else was something else was happeninghappening
![Page 44: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/44.jpg)
19891989
![Page 45: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/45.jpg)
![Page 46: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/46.jpg)
tim berners-leetim berners-lee
![Page 47: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/47.jpg)
CERNCERN(europe)(europe)
![Page 48: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/48.jpg)
world wide webworld wide web
![Page 49: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/49.jpg)
wwwwww
![Page 50: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/50.jpg)
webweb
![Page 51: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/51.jpg)
hyper text transferhyper text transferprotocolprotocol
![Page 52: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/52.jpg)
httphttp
![Page 53: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/53.jpg)
http://http://www.example.comwww.example.com
(if you don’t know this you’re in the wrong presentation)(if you don’t know this you’re in the wrong presentation)
![Page 54: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/54.jpg)
directorydirectory(browsing)(browsing)
![Page 55: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/55.jpg)
sharing contentsharing content
(research)(research)
![Page 56: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/56.jpg)
primary display was primary display was texttext
![Page 57: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/57.jpg)
network of network of connected connected computerscomputers
![Page 58: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/58.jpg)
killer app = killer app = informationinformation
![Page 59: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/59.jpg)
19921992
![Page 60: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/60.jpg)
![Page 61: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/61.jpg)
marc andreessen marc andreessen
![Page 62: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/62.jpg)
student at student at univ of illinoisuniv of illinois
![Page 63: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/63.jpg)
mosaicmosaic“web browser”“web browser”
![Page 64: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/64.jpg)
![Page 65: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/65.jpg)
![Page 66: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/66.jpg)
19941994
![Page 67: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/67.jpg)
![Page 68: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/68.jpg)
Mosaic Communications Mosaic Communications CorporationCorporation
![Page 69: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/69.jpg)
Netscape CommunicationsNetscape Communications
![Page 70: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/70.jpg)
Netscape Netscape CommunicatorCommunicator
![Page 71: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/71.jpg)
![Page 72: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/72.jpg)
IPO 1995IPO 1995
![Page 73: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/73.jpg)
browser wars(1995)
![Page 74: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/74.jpg)
massive adoptionmassive adoption
![Page 75: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/75.jpg)
web sites were slowweb sites were slowinternet was slowinternet was slow
![Page 76: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/76.jpg)
almost all initial web almost all initial web sites were content-sites were content-
basedbased
![Page 77: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/77.jpg)
the “web” initially the “web” initially competed with competed with
consumer info services consumer info services like AOL, Compuserve like AOL, Compuserve
and Prodigyand Prodigy
![Page 78: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/78.jpg)
primarily still web primarily still web content you “browsed”content you “browsed”
![Page 79: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/79.jpg)
![Page 80: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/80.jpg)
distributed distributed freefree
(brilliant and bold move)(brilliant and bold move)
![Page 81: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/81.jpg)
bundled win95 bundled win95 (plus! pack)(plus! pack)
![Page 82: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/82.jpg)
(isn’t it great being a monopoly?)(isn’t it great being a monopoly?)
![Page 83: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/83.jpg)
based on spyglass mosaicbased on spyglass mosaic
(remember Netscape?)(remember Netscape?)
![Page 84: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/84.jpg)
MASSIVE ADOPTIONMASSIVE ADOPTION
![Page 85: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/85.jpg)
January 1998January 1998
![Page 86: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/86.jpg)
mozilla open sourcemozilla open source
![Page 87: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/87.jpg)
(kick butt release party)(kick butt release party)
![Page 88: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/88.jpg)
![Page 89: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/89.jpg)
![Page 90: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/90.jpg)
microsoft had 2 primary microsoft had 2 primary killer advantages:killer advantages:
![Page 91: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/91.jpg)
Operating System platformOperating System platform
![Page 92: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/92.jpg)
Developer CommunityDeveloper Community
![Page 93: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/93.jpg)
May 1998May 1998
![Page 94: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/94.jpg)
DOJ ruled MSFT violated anti-trust
![Page 95: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/95.jpg)
(too late, game was (too late, game was pretty much over)pretty much over)
![Page 96: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/96.jpg)
November 1998November 1998
![Page 97: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/97.jpg)
$4.2 BILLION$4.2 BILLION
![Page 98: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/98.jpg)
![Page 99: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/99.jpg)
web browser changed web browser changed the way we think about the way we think about
appsapps
![Page 100: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/100.jpg)
distribution of appsdistribution of apps
![Page 101: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/101.jpg)
programming modelprogramming model
![Page 102: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/102.jpg)
development of softwaredevelopment of software
![Page 103: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/103.jpg)
web 1.0web 1.0
![Page 104: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/104.jpg)
three-tier three-tier architecturearchitecture
![Page 105: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/105.jpg)
server is the brainserver is the brain
![Page 106: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/106.jpg)
client is for displayclient is for display
(doesn’t that sound like the mainframe architecture?)(doesn’t that sound like the mainframe architecture?)
![Page 107: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/107.jpg)
the way we built the way we built apps changed based apps changed based
on “the web”on “the web”
![Page 108: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/108.jpg)
common gateway interfacecommon gateway interface
(CGI)(CGI)
![Page 109: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/109.jpg)
netscape APInetscape API
(nsapi)(nsapi)
![Page 110: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/110.jpg)
web serversweb servers
![Page 111: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/111.jpg)
app serversapp servers
![Page 112: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/112.jpg)
database serversdatabase servers
![Page 113: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/113.jpg)
caching serverscaching servers
![Page 114: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/114.jpg)
web pagesweb pages
![Page 115: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/115.jpg)
web appsweb apps
![Page 116: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/116.jpg)
massive new way of massive new way of thinking about the thinking about the
web and appsweb and apps
(a lot was fueled by dot.com bubble)(a lot was fueled by dot.com bubble)
![Page 117: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/117.jpg)
19951995
![Page 118: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/118.jpg)
![Page 119: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/119.jpg)
James GoslingJames Gosling
![Page 120: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/120.jpg)
![Page 121: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/121.jpg)
JavaJava
![Page 122: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/122.jpg)
Write once,Write once,Run anywhereRun anywhere
![Page 123: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/123.jpg)
BrowserBrowser
![Page 124: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/124.jpg)
AppletsApplets
![Page 125: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/125.jpg)
Java Web StartJava Web Start
(some years later after applets failed)(some years later after applets failed)
![Page 126: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/126.jpg)
slow
![Page 127: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/127.jpg)
big
![Page 128: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/128.jpg)
UI differences
![Page 129: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/129.jpg)
web app?
![Page 130: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/130.jpg)
native app?
(sure didn’t look like one)
![Page 131: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/131.jpg)
programming model
![Page 132: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/132.jpg)
browser plugin
![Page 133: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/133.jpg)
java language was java language was great!great!
![Page 134: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/134.jpg)
but … apparent java but … apparent java would not be would not be deployed in deployed in
browser browser environmentenvironment
![Page 135: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/135.jpg)
java did change the java did change the way we built web way we built web
sitessites
(and it still continues today)(and it still continues today)
![Page 136: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/136.jpg)
why the web?why the web?
![Page 137: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/137.jpg)
web programming web programming modelmodel
![Page 138: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/138.jpg)
distributeddistributed
![Page 139: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/139.jpg)
easy to programeasy to program
![Page 140: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/140.jpg)
UI simple to layoutUI simple to layout
![Page 141: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/141.jpg)
cross-browser differences
![Page 142: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/142.jpg)
open source open source emerging rapidly emerging rapidly
with Internetwith Internet
![Page 143: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/143.jpg)
standards-basedstandards-based
![Page 144: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/144.jpg)
19941994
![Page 145: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/145.jpg)
![Page 146: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/146.jpg)
tim berners-leetim berners-lee
(remember, he created the web?)(remember, he created the web?)
![Page 147: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/147.jpg)
preserve, promotepreserve, promoteweb standardsweb standards
![Page 148: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/148.jpg)
““ensure compatibility ensure compatibility among vendors”among vendors”
![Page 149: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/149.jpg)
(are we there yet?)(are we there yet?)
![Page 150: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/150.jpg)
HTMLHTML
![Page 151: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/151.jpg)
CSSCSS
![Page 152: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/152.jpg)
XMLXML
![Page 153: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/153.jpg)
DOMDOM
![Page 154: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/154.jpg)
CGICGI
![Page 155: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/155.jpg)
VoiceXML / CCXMLVoiceXML / CCXML
![Page 156: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/156.jpg)
(too many more to list)(too many more to list)
![Page 157: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/157.jpg)
HTML 1.0 – 1993HTML 1.0 – 1993(IETF WD)(IETF WD)
![Page 158: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/158.jpg)
HTML 2.0 – 1995HTML 2.0 – 1995(IETF RFC)(IETF RFC)
![Page 159: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/159.jpg)
HTML 3.0/3.2HTML 3.0/3.2(W3C)(W3C)
![Page 160: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/160.jpg)
HTML 4.0HTML 4.0(1997)(1997)
![Page 161: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/161.jpg)
(XHTML came along (XHTML came along the way)the way)
![Page 162: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/162.jpg)
HTML 5.0(Jan 2008 - WD)
11 years!
![Page 163: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/163.jpg)
Client-side data Client-side data storagestorage
![Page 164: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/164.jpg)
videovideo
![Page 165: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/165.jpg)
cross document cross document messagingmessaging
![Page 166: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/166.jpg)
remotingremoting
![Page 167: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/167.jpg)
(continuing to expand (continuing to expand idea of what a web app is)idea of what a web app is)
![Page 168: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/168.jpg)
XHTML or HTML?
![Page 169: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/169.jpg)
most innovation has most innovation has been on the serverbeen on the server
![Page 170: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/170.jpg)
servletsservlets
![Page 171: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/171.jpg)
JSP pagesJSP pages
![Page 172: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/172.jpg)
ASP pagesASP pages
![Page 173: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/173.jpg)
tag libariestag libaries
![Page 174: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/174.jpg)
PHP pagesPHP pages
![Page 175: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/175.jpg)
(and lots of (and lots of embedded sql)embedded sql)
![Page 176: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/176.jpg)
cold fusioncold fusion
(so many other great server-side web frameworks)(so many other great server-side web frameworks)
![Page 177: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/177.jpg)
server-driven UI
![Page 178: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/178.jpg)
model-view-model-view-controller controller
(MVC)(MVC)
![Page 179: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/179.jpg)
(server-assisted (server-assisted
MVC)MVC)
![Page 180: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/180.jpg)
server generates UI
![Page 181: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/181.jpg)
UI is a template page
![Page 182: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/182.jpg)
same HTML(almost always)
![Page 183: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/183.jpg)
not very environmentally
friendly
![Page 184: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/184.jpg)
age of server-sideage of server-sideinfrastructureinfrastructure
![Page 185: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/185.jpg)
application serversapplication servers
![Page 186: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/186.jpg)
““middleware”middleware”
![Page 187: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/187.jpg)
new app new app complexities on the complexities on the
server sideserver side
![Page 188: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/188.jpg)
cache business cache business objectsobjects
![Page 189: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/189.jpg)
cache page cache page templatestemplates
![Page 190: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/190.jpg)
cache SQL queriescache SQL queries
![Page 191: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/191.jpg)
session statesession state
![Page 192: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/192.jpg)
stored application stored application statestate
![Page 193: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/193.jpg)
(we used to call it (we used to call it application state)application state)
![Page 194: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/194.jpg)
session clusteringsession clustering
![Page 195: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/195.jpg)
sticky sessionssticky sessions
(optimize load (optimize load balancing)balancing)
![Page 196: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/196.jpg)
clustering not linearclustering not linear
![Page 197: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/197.jpg)
middlewaremiddlewarewarswars
![Page 198: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/198.jpg)
hundreds of app hundreds of app serversservers
![Page 199: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/199.jpg)
lots of server-side lots of server-side frameworksframeworks
![Page 200: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/200.jpg)
lots of big lots of big companies rolled companies rolled their own initiallytheir own initially
![Page 201: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/201.jpg)
IBMIBM
![Page 202: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/202.jpg)
SunSun
![Page 203: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/203.jpg)
BEABEA(weblogic)(weblogic)
![Page 204: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/204.jpg)
organized around organized around J2EE specificationJ2EE specification
![Page 205: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/205.jpg)
community-basedcommunity-based(Sun JCP)(Sun JCP)
![Page 206: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/206.jpg)
heavy weight
![Page 207: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/207.jpg)
overly complex
![Page 208: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/208.jpg)
too many specs to keep up with
![Page 209: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/209.jpg)
widely adoptedwidely adopted
![Page 210: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/210.jpg)
clusteringclustering
![Page 211: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/211.jpg)
fail-overfail-over
![Page 212: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/212.jpg)
high-availabilityhigh-availability
![Page 213: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/213.jpg)
Microsoft .NET
![Page 214: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/214.jpg)
wasn’t J2EEwasn’t J2EE
(not necessarily a bad thing)(not necessarily a bad thing)
![Page 215: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/215.jpg)
wasn’t even javawasn’t even java
(of course not)(of course not)
![Page 216: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/216.jpg)
2000 – Microsoft C#2000 – Microsoft C#
(feels a lot like Java)(feels a lot like Java)
![Page 217: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/217.jpg)
part of part of Microsoft .NETMicrosoft .NET
![Page 218: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/218.jpg)
web-programming web-programming modelmodel
![Page 219: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/219.jpg)
(for Microsoft platform)
![Page 220: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/220.jpg)
19991999
![Page 221: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/221.jpg)
![Page 222: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/222.jpg)
(not flavor flav)(not flavor flav)
![Page 223: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/223.jpg)
![Page 224: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/224.jpg)
(marc fleury)(marc fleury)
![Page 225: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/225.jpg)
JBossJBoss
![Page 226: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/226.jpg)
Java application Java application serverserver
(and eventually J2EE)(and eventually J2EE)
![Page 227: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/227.jpg)
FREE!FREE!
(well, almost)(well, almost)
![Page 228: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/228.jpg)
open sourceopen source
![Page 229: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/229.jpg)
J2EE programming J2EE programming modelmodel
(and it almost made J2EE fun)(and it almost made J2EE fun)
![Page 230: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/230.jpg)
20012001(JBoss, LLC)(JBoss, LLC)
![Page 231: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/231.jpg)
innovation primarily innovation primarily driven by server-driven by server-
side infrastructureside infrastructure
![Page 232: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/232.jpg)
apps not much different
(1999)
![Page 233: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/233.jpg)
server-assisted MVCserver-assisted MVC
![Page 234: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/234.jpg)
service oriented service oriented architecturearchitecture
![Page 235: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/235.jpg)
middleware = SOAmiddleware = SOA
![Page 236: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/236.jpg)
service federationsservice federations
![Page 237: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/237.jpg)
distributed distributed registriesregistries
![Page 238: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/238.jpg)
service compositionservice composition
![Page 239: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/239.jpg)
service service orchestrationorchestration
![Page 240: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/240.jpg)
portalsportals
![Page 241: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/241.jpg)
ESBESB
![Page 242: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/242.jpg)
$60B Market$60B Market
(at least they say it was)(at least they say it was)
![Page 243: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/243.jpg)
But business applications still
function the same
![Page 244: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/244.jpg)
Jesse James GarrettJesse James Garrett“AJAX” 2005“AJAX” 2005
![Page 245: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/245.jpg)
Microsoft & Microsoft & NetscapeNetscape
![Page 246: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/246.jpg)
early inter-appletearly inter-applettechniquestechniques
![Page 247: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/247.jpg)
applets to slow to startapplets to slow to start
![Page 248: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/248.jpg)
IE5 – MSFT createdIE5 – MSFT createdXHRXHR
![Page 249: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/249.jpg)
Microsoft Outlook WebMicrosoft Outlook Web
(Microsoft was innovating!)(Microsoft was innovating!)
![Page 250: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/250.jpg)
Web 1.5Web 1.5
![Page 251: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/251.jpg)
MVC + AjaxMVC + Ajax
![Page 252: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/252.jpg)
round peground pegsquare holesquare hole
![Page 253: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/253.jpg)
page driven page driven paradigm with paradigm with async behaviorasync behavior
![Page 254: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/254.jpg)
look Ma – no page refreshlook Ma – no page refresh
![Page 255: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/255.jpg)
cool, but. . .cool, but. . .
![Page 256: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/256.jpg)
it’s only “pimp my web 1.0”it’s only “pimp my web 1.0”
![Page 257: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/257.jpg)
![Page 258: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/258.jpg)
but lots of startups and but lots of startups and innovative web companies innovative web companies
thinking bigthinking big
![Page 259: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/259.jpg)
web 2.0web 2.0
![Page 260: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/260.jpg)
starting to think starting to think about apps againabout apps again
![Page 261: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/261.jpg)
networks are fasternetworks are faster
![Page 262: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/262.jpg)
hardware is cheaphardware is cheap
![Page 263: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/263.jpg)
software is moving software is moving to open sourceto open source
![Page 264: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/264.jpg)
and everyone is and everyone is wired and on the wired and on the
webweb
![Page 265: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/265.jpg)
user experienceuser experience
![Page 266: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/266.jpg)
![Page 267: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/267.jpg)
![Page 268: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/268.jpg)
richer appsricher apps
![Page 269: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/269.jpg)
dynamic infodynamic info
![Page 270: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/270.jpg)
web is the platformweb is the platform
![Page 271: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/271.jpg)
![Page 272: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/272.jpg)
![Page 273: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/273.jpg)
![Page 274: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/274.jpg)
(you can do that?)(you can do that?)
![Page 275: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/275.jpg)
![Page 276: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/276.jpg)
![Page 277: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/277.jpg)
![Page 278: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/278.jpg)
(my enterprise apps (my enterprise apps need that)need that)
![Page 279: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/279.jpg)
(but, how?)(but, how?)
![Page 280: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/280.jpg)
different solutionsdifferent solutions
(we’re innovating again)(we’re innovating again)
![Page 281: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/281.jpg)
different different approachesapproaches
(and some feel like déjà vu)(and some feel like déjà vu)
![Page 282: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/282.jpg)
Sun doing Sun doing something similar something similar
as beforeas before(as best we can tell)(as best we can tell)
![Page 283: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/283.jpg)
![Page 284: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/284.jpg)
(yawn…)(yawn…)
![Page 285: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/285.jpg)
MSFT doing MSFT doing something similar something similar
as beforeas before(it’s great being on top)(it’s great being on top)
![Page 286: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/286.jpg)
![Page 287: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/287.jpg)
(surprise!)(surprise!)
![Page 288: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/288.jpg)
Adobe has an Adobe has an innovative approach innovative approach that leverages Flashthat leverages Flash
![Page 289: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/289.jpg)
![Page 290: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/290.jpg)
wonderful productwonderful product
![Page 291: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/291.jpg)
open sourceopen source
(kind of)(kind of)
![Page 292: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/292.jpg)
““Web 2.0” is Web 2.0” is overloadedoverloaded
![Page 293: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/293.jpg)
Web 2.0 = rich clientWeb 2.0 = rich client
![Page 294: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/294.jpg)
rich client = client programmingrich client = client programming
![Page 295: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/295.jpg)
rich client != UI code in serverrich client != UI code in server
![Page 296: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/296.jpg)
okay, but how?okay, but how?
![Page 297: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/297.jpg)
JavascriptJavascript
![Page 298: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/298.jpg)
(and lots of it)
![Page 299: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/299.jpg)
simple login formsimple login formexampleexample
![Page 300: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/300.jpg)
<html><head><title>Simple Ajax Login Example</title><script language="Javascript">function xmlhttpPost(strURL) { var xmlHttpReq = false; var self = this; // Mozilla/Safari if (window.XMLHttpRequest) { self.xmlHttpReq = new XMLHttpRequest(); } // IE else if (window.ActiveXObject) { self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } self.xmlHttpReq.open('POST', strURL, true); self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); self.xmlHttpReq.onreadystatechange = function() { if (self.xmlHttpReq.readyState == 4) { updatepage(self.xmlHttpReq.responseText); } } self.xmlHttpReq.send(getquerystring());}
function getquerystring() { var form = document.forms['f1']; var username = form.username.value; var password = form.password.value; qstr = ‘username=' + escape(username) + ‘&password=‘ + password; return qstr;}
function updatepage(str){ document.getElementById("result").innerHTML = str;}</script></head><body><form name="f1"> <p>username: </p> <input name=”username" type="text”/> <p>password: </p> <input name=”password" type="text”/> <input value=”login" type="button" onclick='JavaScript:xmlhttpPost("/cgi-bin/simple-ajax-example.cgi")'></p> <div id="result"></div></form></body></html>
![Page 301: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/301.jpg)
(Yikes!!!)(Yikes!!!)
![Page 302: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/302.jpg)
25+ lines of Javascript
![Page 303: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/303.jpg)
for one simple login form
![Page 304: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/304.jpg)
rich client = mountains of JS?rich client = mountains of JS?
![Page 305: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/305.jpg)
mountains of JS = nightmare
![Page 306: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/306.jpg)
(crap. now what?)(crap. now what?)
![Page 307: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/307.jpg)
open standards +open source
(to the rescue)
open standards +open source
(to the rescue)
![Page 308: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/308.jpg)
Javascript librariesJavascript libraries
![Page 309: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/309.jpg)
and lots of themand lots of them
![Page 310: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/310.jpg)
widget librarieswidget libraries
![Page 311: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/311.jpg)
Ajax librariesAjax libraries
![Page 312: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/312.jpg)
effect librarieseffect libraries
![Page 313: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/313.jpg)
(here’s just a few)(here’s just a few)
![Page 314: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/314.jpg)
PrototypePrototype
![Page 315: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/315.jpg)
ScriptaculousScriptaculous
![Page 316: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/316.jpg)
JQueryJQuery
![Page 317: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/317.jpg)
DojoDojo
![Page 318: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/318.jpg)
ExtJSExtJS
![Page 319: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/319.jpg)
Yahoo YUIYahoo YUI
![Page 320: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/320.jpg)
MootoolsMootools
![Page 321: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/321.jpg)
Open RicoOpen Rico
![Page 322: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/322.jpg)
QooxdooQooxdoo
![Page 323: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/323.jpg)
MochiKitMochiKit
![Page 324: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/324.jpg)
LightboxLightbox
![Page 325: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/325.jpg)
GreyboxGreybox
![Page 326: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/326.jpg)
Lightbox PlusLightbox Plus
![Page 327: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/327.jpg)
Nifty CornersNifty Corners
![Page 328: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/328.jpg)
(okay to breathe)(okay to breathe)
![Page 329: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/329.jpg)
(you get the point)(you get the point)
![Page 330: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/330.jpg)
all great libraries!all great libraries!
![Page 331: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/331.jpg)
how do I keep up with them all?
![Page 332: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/332.jpg)
multiple versions, bug fixes
![Page 333: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/333.jpg)
integration issues, glue codenamespace issues
![Page 334: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/334.jpg)
(but I thought that was the (but I thought that was the platform vendor’s job!)platform vendor’s job!)
![Page 335: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/335.jpg)
with chaos comes with chaos comes opportunityopportunity
![Page 336: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/336.jpg)
open standardsopen standards
![Page 337: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/337.jpg)
open sourceopen source
(the entire bits)(the entire bits)
![Page 338: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/338.jpg)
open developer open developer communitycommunity
![Page 339: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/339.jpg)
integrated RIA integrated RIA programming model programming model
(HTML, CSS and Javascript)(HTML, CSS and Javascript)
![Page 340: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/340.jpg)
what does that mean?what does that mean?
![Page 341: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/341.jpg)
well, what does an RIA well, what does an RIA programmer do?programmer do?
![Page 342: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/342.jpg)
event handling, Ajax, event handling, Ajax, DHTMLDHTML
![Page 343: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/343.jpg)
(Got it!) (Got it!)
![Page 344: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/344.jpg)
login form revisited login form revisited
![Page 345: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/345.jpg)
<html> <head>
<title>Hello World 2.0</title> <script src="javascripts/appcelerator.js"
type="text/javascript"></script> </head> <body>
<div on=“r:login.request then show or r:login.response then hide”style=“display:none”><img src=“images/indicator.gif” /> processing login…
</div> Username: <input type=“text id=“username” fieldset=“login”/>Password: <input type=“password id=“password fieldset=“login”/><input type=“button” value=“login” fieldset=“login”
on=“click then r:login.request”/></body>
</html>
![Page 346: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/346.jpg)
on=“r:login.request then show”on=“r:login.request then show”
![Page 347: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/347.jpg)
(what is that?)(what is that?)
![Page 348: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/348.jpg)
event handling + Ajax + DHTML
one simple expression language
event handling + Ajax + DHTML
one simple expression language
![Page 349: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/349.jpg)
it’s an integrated RIA it’s an integrated RIA programming modelprogramming model
![Page 350: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/350.jpg)
that leverages standards that leverages standards
(like HTML, CSS and (like HTML, CSS and Javascript)Javascript)
![Page 351: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/351.jpg)
it codes Javascript so it codes Javascript so you don’t have toyou don’t have to
![Page 352: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/352.jpg)
(Web Expression Language)(Web Expression Language)
![Page 353: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/353.jpg)
cool, but what about cool, but what about widgets?widgets?
![Page 354: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/354.jpg)
(good question)(good question)
![Page 355: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/355.jpg)
I want to be able to I want to be able to create new widgetscreate new widgets
![Page 356: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/356.jpg)
leverage all of the leverage all of the great existing widgetsgreat existing widgets
![Page 357: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/357.jpg)
I want one single I want one single integrated way to use integrated way to use
them ALLthem ALL
![Page 358: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/358.jpg)
![Page 359: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/359.jpg)
how about this:how about this:
![Page 360: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/360.jpg)
<!– ExtJS Grid --><app:ext_grid on="l:show.user.response then execute"
property="rows" width="390"title=”Users”> <column property=”first” >First Name</column><column property=”last”>Last Name</column><column property=”phone”>Phone</column>
</app:ext_grid>
<!– Yahoo Calendar --><app:calendar on="l:show.calendar then execute"
title=”My Calendar" inputId=”date”>
</app:calendar>
<input type=“text” id=“date”/><img src=“images/calendar.png” on=“click then l:show.calendar”/>
![Page 361: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/361.jpg)
ExtJS and YUI in one ExtJS and YUI in one widget framework?widget framework?
![Page 362: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/362.jpg)
(yes, and any others you (yes, and any others you want)want)
![Page 363: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/363.jpg)
including Flex widgets!including Flex widgets!
![Page 364: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/364.jpg)
(and you can easily (and you can easily create your own)create your own)
![Page 365: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/365.jpg)
![Page 366: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/366.jpg)
okay, calm down Sallyokay, calm down Sally
![Page 367: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/367.jpg)
let’s recaplet’s recap
![Page 368: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/368.jpg)
Web Expression Language + Web Expression Language + Unified Widget Framework +Unified Widget Framework +
Open Standards +Open Standards +Open Source = Open Source =
![Page 369: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/369.jpg)
fully integrated RIA platformfully integrated RIA platform
![Page 370: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/370.jpg)
![Page 371: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/371.jpg)
RIA is good but what RIA is good but what about my services?about my services?
![Page 372: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/372.jpg)
(and that $60B (and that $60B investment in SOA?)investment in SOA?)
![Page 373: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/373.jpg)
you want to mix your RIA you want to mix your RIA with your SOAwith your SOA
![Page 374: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/374.jpg)
RIA + SOARIA + SOA
![Page 375: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/375.jpg)
full decoupling of the rich full decoupling of the rich client from its services client from its services
![Page 376: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/376.jpg)
they share only one they share only one thingthing
![Page 377: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/377.jpg)
a lightweight message a lightweight message contractcontract
(aren’t they services?)(aren’t they services?)
![Page 378: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/378.jpg)
(need a picture?)(need a picture?)
![Page 379: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/379.jpg)
Rich ClientRich Client ServiceService
r:login.request{‘username’:’joe’, ‘password’:’****’}
r:login.response{‘success’:true}
![Page 380: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/380.jpg)
Contract = message nameContract = message name
![Page 381: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/381.jpg)
login.request login.request and and login.responselogin.response
![Page 382: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/382.jpg)
plus input and output dataplus input and output data
![Page 383: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/383.jpg)
(that’s it!)(that’s it!)
![Page 384: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/384.jpg)
if the contract is message-basedif the contract is message-based
![Page 385: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/385.jpg)
why does the service why does the service programming language matter?programming language matter?
![Page 386: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/386.jpg)
good question.good question.
![Page 387: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/387.jpg)
(it doesn’t)(it doesn’t)
![Page 388: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/388.jpg)
with a message-based contract with a message-based contract you can create services in any you can create services in any
programming language!programming language!
![Page 389: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/389.jpg)
we call these SOA we call these SOA Integration PointsIntegration Points
![Page 390: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/390.jpg)
and we have them for Java, and we have them for Java, Ruby, PHP, .NET, Python and Ruby, PHP, .NET, Python and
PerlPerl
![Page 391: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/391.jpg)
how does that work?how does that work?
![Page 392: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/392.jpg)
let’s look at Javalet’s look at Java
![Page 393: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/393.jpg)
take a plain Java object take a plain Java object (POJO)(POJO)
![Page 394: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/394.jpg)
and add a single and add a single annotationannotation
![Page 395: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/395.jpg)
@Service(request = @Service(request = ”my.request", response = ”my.request", response =
”my.response")”my.response")
![Page 396: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/396.jpg)
to a Java method – like so:to a Java method – like so:
![Page 397: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/397.jpg)
package org.appcelerator.service;
import org.appcelerator.annotation.Service;import org.appcelerator.messaging.Message;
public class MyService{
@Service(request = ”my.request", response = ”my.response")
protected void myRequest(Message request, Message response) throws Exception
{// service logic here
}}
![Page 398: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/398.jpg)
(that’s it!)(that’s it!)
really….
![Page 399: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/399.jpg)
each SOA Integration Pointeach SOA Integration Point
![Page 400: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/400.jpg)
service routingservice routing
![Page 401: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/401.jpg)
data marshallingdata marshalling
![Page 402: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/402.jpg)
(what does that mean?)(what does that mean?)
![Page 403: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/403.jpg)
it means you can place a it means you can place a native object or array of native object or array of
objects into the responseobjects into the response
![Page 404: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/404.jpg)
and we’ll take care of and we’ll take care of the rest.the rest.
![Page 405: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/405.jpg)
the result is:the result is:
![Page 406: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/406.jpg)
you focus on what you do best:you focus on what you do best:
BUILD APPLICATIONS!BUILD APPLICATIONS!
![Page 407: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/407.jpg)
instead of playing the role of platform vendor
![Page 408: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/408.jpg)
that’s our job!that’s our job!
![Page 409: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/409.jpg)
![Page 410: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/410.jpg)
we are the RIA + SOA companywe are the RIA + SOA company
![Page 411: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/411.jpg)
RIA + SOA – that’s good RIA + SOA – that’s good but what about but what about
prototyping?prototyping?
![Page 412: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/412.jpg)
(glad you asked)(glad you asked)
![Page 413: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/413.jpg)
remember our message-remember our message-based contract?based contract?
![Page 414: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/414.jpg)
it enables location it enables location independence for servicesindependence for services
![Page 415: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/415.jpg)
meaning mock services can meaning mock services can reside in the RIAreside in the RIA
![Page 416: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/416.jpg)
meaning you can build fully meaning you can build fully functional RIA prototypes functional RIA prototypes
![Page 417: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/417.jpg)
without a single line of without a single line of service codeservice code
(or even web server)(or even web server)
![Page 418: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/418.jpg)
with 100% reusability!with 100% reusability!
![Page 419: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/419.jpg)
we call them we call them Interactive Use CasesInteractive Use Cases
![Page 420: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/420.jpg)
build your application build your application while you build your while you build your
requirementsrequirements
![Page 421: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/421.jpg)
no more server-focused no more server-focused developmentdevelopment
![Page 422: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/422.jpg)
no more 100-page no more 100-page requirements requirements
documentsdocuments
(that never matches the end application)(that never matches the end application)
![Page 423: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/423.jpg)
it’s technology-enabled it’s technology-enabled Agile developmentAgile development
![Page 424: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/424.jpg)
quick iterations quick iterations
![Page 425: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/425.jpg)
fully functional fully functional
(at every point)(at every point)
![Page 426: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/426.jpg)
makes it easy to gather makes it easy to gather feedback from key feedback from key
stakeholdersstakeholders
![Page 427: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/427.jpg)
product managersproduct managers
![Page 428: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/428.jpg)
service developersservice developers
![Page 429: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/429.jpg)
documentation teamdocumentation team
![Page 430: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/430.jpg)
QA QA
![Page 431: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/431.jpg)
sales team sales team
![Page 432: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/432.jpg)
and even customersand even customers
![Page 433: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/433.jpg)
after incorporating after incorporating feedback feedback
![Page 434: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/434.jpg)
you have two key you have two key deliverables:deliverables:
![Page 435: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/435.jpg)
1.1. fully functional fully functional RIA prototypeRIA prototype
(100% reusable) (100% reusable)
![Page 436: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/436.jpg)
2. fully defined 2. fully defined message contractsmessage contracts
![Page 437: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/437.jpg)
(makes service (makes service development and development and
integration a snap)integration a snap)
![Page 438: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/438.jpg)
![Page 439: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/439.jpg)
fully integrated fully integrated RIA+SOA platformRIA+SOA platform
![Page 440: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/440.jpg)
an entirely new and better an entirely new and better way to build the next way to build the next
generation of web generation of web applicationsapplications
![Page 441: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/441.jpg)
help us build the best RIA+SOA help us build the best RIA+SOA open source developer open source developer
communitycommunity
www.appcelerator.orgwww.appcelerator.org
![Page 442: Ajax World 2008](https://reader031.fdocuments.in/reader031/viewer/2022013003/558d253dd8b42a3c638b4593/html5/thumbnails/442.jpg)