SlideShare a Scribd company logo
Ajax and the Impact on Caché and Similar Technologies Rob Tweed M/Gateway Developments Ltd
Ajax: a whole new world! Ajax presents a totally different way of considering and developing web applications Brings the web much closer to the typical event-driven client-server GUI style of application
What is Ajax? A term coined by Jesse James Garrett in 2005 to describe a range of techniques and technologies that were starting to appear widely: http://adaptivepath.com/publications/essays/archives/000385.php Ajax = Asynchronous Javascript and XML Actually XML not often used at all! Broad and vague term that describes a style of application more than a set of technologies
Pioneers of Ajax WebLink’s Event Broker Pre-dated Ajax by some 10 years! Many people have been using Ajax-like tricks using hidden frames for many years
Pioneers of Ajax Three big stimuli: XMLHttpRequest object become standard in all browsers Initially a Microsoft ActiveX component used for Outlook Web Access 2000 Widely available broadband at reasonable cost Google Maps and GMail Created huge interest in the techniques and clearly demonstrated their power
What distinguishes an Ajax application? Not page-oriented, breaks away from: Fill out a form Click a button Page refreshed with another To event-oriented - content dynamically changed within a single page Some Ajax applications are just a single page of HTML that the user interacts with for hours! Looks and behaves much more like a typical client/server VB or Java application
Ajax Key Technologies Javascript and Event Handlers Cascading Style Sheets (CSS) XMLHttpRequest Object “ back-channel” built into the browser that allows a Javascript function to communicate externally via HTTP Standard HTTP request/response Browser’s Document Object Model (DOM) Dynamic HTML JSON (JavaScript Object Notation)
Typical Ajax technique Catch an in-browser event: Standard Javascript event handler onClick, onChange, onMouseOver Send an asynchronous request via XMLHTTPRequest object Use the response to modify part of the page in the browser by manipulating the DOM Or send and optionally invoke a JavaScript object via JSON
Browser’s DOM When a page of HTML is received by a browser, it is parsed into a DOM API methods to manipulate the DOM are implemented in Javascript document.getElementById(“myField”).parentNode document.getElementById(“myField”).firstChild
Javascript DOM API var alertPointer = document.getElementById("ajaxAlert") ; var head = document.getElementsByTagName("head").item(0); alertPointer = document.createElement("script") ; alertPointer.id = "ajaxAlert" ; alertPointer.type = "text/javascript" ; head.appendChild(alertPointer) ; alertPointer.text = "EWD.ajax.errorOn() ;" ; Example:
DOM Content Replacement  <div id=“myId”> <h3> This is some text </h3> </div> Element <div> Element <h3> parent Text This is some text firstChild parent firstChild
<div id=“myId”> <h3> This is some text </h3> </div> Element <div> Element <h3> parent Text This is some text firstChild parent firstChild Special HTML DOM property: innerHTML DOM Content Replacement
<div id=“ myId ”> <h3> This is some text </h3> </div> document.getElementById(“ myId ”).innerHTML read/write property DOM Content Replacement
document.getElementById(“myId”).innerHTML = “<p>Some new text</p>” ; <div id=“ myId ”> <h3> This is some text </h3> </div> DOM Content Replacement
document.getElementById(“myId”).innerHTML = “<p>Some new text</p>” ; <div id=“ myId ”> </div> DOM Content Replacement
document.getElementById(“myId”).innerHTML = “<p>Some new text</p>” ; <div id=“ myId ”> <p> Some new text </p> </div> DOM Content Replacement
Browser DOM is active As soon as you make a modification to the browser’s DOM, the browser re-renders the page By replacing DOM content with markup delivered as page fragments, we can create an interactive experience for the user Changes the web event model…
Ajax Event Cycle (EWD) Container Page Fetch data Pre-page Script EWD State & Session Management Cach é/ GT.M  Server Front-end technology (WebLink, PHP, CSP etc)
Container Page Fetch Page Fragment Page  Fragment Fetch data Event Replaces DOM content Pre-page Script Pre-page Script EWD State & Session Management Cach é/ GT.M  Server XMLHttpRequest Ajax Event Cycle (EWD)
Container Page Fetch Page Fragment Page  Fragment Fetch data Event Replaces DOM content Pre-page Script EWD State & Session Management Cach é/ GT.M  Server Ajax Event Cycle (EWD)
Container Page EWD State & Session Management Cach é/ GT.M  Server Ajax Event Cycle (EWD)
Ajax and the role of Javascript Container page doesn’t get replaced Just changing bits of its DOM Javascript environment and context now remains in place across events and DOM changes Javascript now becomes a key part of the application
Javascript Objects Javascript is an object oriented language Classless, dynamic objects Add properties and methods arbitrarily and on the fly It’s how Cach é  Objects should have been implemented! With Ajax, Javascript objects can persist throughout the user’s session
Javascript Objects var MGW = {} ; MGW.page = { currentPage: &quot;compiler&quot;, section: new Array(), selectTab: function(obj) { var pageName = EWD.utils.getPiece(curr.id,&quot;Tab&quot;,1) ; if (pageName != MGW.page.currentPage) { obj.className = &quot;highlightedTab&quot; ; MGW.page.newProperty = “some new value” ; } }
Javascript Objects Also allow you to namespace methods and properties eg, avoid function name clashes Key proponent and guru: Douglas Crockford (Yahoo) His training videos should be mandatory viewing for anyone involved in Ajax work http://developer.yahoo.com/yui/theater/
Javascript to the fore! Session persistence in Javascript Application logic in Javascript: Form field validation Data manipulation: in and out of Javascript objects
Err….what about the back-end? In a “traditional” web application, the back-end did all the work Application data storage Session data persistence Validation of data sent from browser Retrieval of data from database and transformation ready for presentation
Err….what about the back-end? When using Ajax Application data storage Session data persistence Validation of data sent from browser Retrieval of data from database and transformation ready for presentation Not very demanding role!!
Consequences: In a Caché-based Ajax application, what need is there for: Caché ObjectScript? Caché Objects? Except persistent versions of the Javascript ones Indeed, does Caché bring any benefits as the back-end database of an Ajax application? Just need to store and retrieve data
The theory of “good enough” The web is founded on technology that is “good enough” The Internet and the TCP/IP protocol HTTP, HTML, Javascript Other “good enough” supporting technologies have also come to the fore: MySQL PHP
Is Caché “too good” for Ajax? For small to medium-sized applications, MySQL is the obvious choice It’s free It’s “just there” and working on any LAMP server you buy or hire Nothing to buy, install or configure For corporates, Oracle or SQL Server will remain the obvious choices People will “make do” with “good enough”
So is there a role for Caché etc? Caché (and similar technologies such as GT.M) have always excelled as: Very high performance database Massively scalable database Extremely robust database Low maintenance database DBA-less! Ie Enterprise-grade database technology
In the Ajax world, the core features of Cach é, GT.M etc  will benefit the  top-end  user Ironically all the “new stuff” is somewhat redundant in the Ajax world! So the really important space that Cach é , GT.M etc can occupy is the massive, top-end enterprise Ajax application eg Quest Diagnostics So is there a role for Cach é etc ?
Start small, grow large But most applications start small Solutions such as MySQL are the clear choice Successful applications grow large MySQL can scale But there comes a point when it just can’t scale easily to the really high end Law of diminishing returns
Two strategies Persuade the small to medium application developers to adopt Caché, GT.M etc “ just in case” they need to scale in the future Provide an easy transition from other solutions when needed Direct database substitution Via SQL mappings But not necessarily getting full advantage of the technology Technology-independent application framework eXtc Web Developer
EWD: Universal Framework EWD is built around an abstracted definition of a web application Although originally developed for Caché, it is now completely technology-agnostic EWD’s abstract definition can be used to generate code in any technology and make use of any database
EWD: Technology matrix Caché, GT.M, MySQL Caché, GT.M, MySQL ASP.Net (C# etc) Caché Caché WebLink Caché Caché Caché Server Pages Caché, GT.M, MySQL Caché, GT.M, MySQL Java Server Pages Caché, GT.M, MySQL Caché, GT.M, MySQL PHP Application database Persistence database Web technology/ language
EWD therefore provides a universal framework for defining  any  web application for  any  technology combination Isn’t this a threat to Caché, GT.M etc? Start small with EWD and MySQL Migrate simply to EWD and Caché/GT.M when the time comes for their power EWD: Universal Framework
Conclusions Caché or GT.M-focused Ajax solutions are doomed to being ignored by the mainstream “ good enough” (PHP, Ruby, Dojo etc) will prevail EWD’s technology-independence actually benefits Cach é, GT.M etc  in the new Ajax world Caché, GT.M etc can and should dominate the high-ground We need to facilitate easy migration from “good enough” when it no longer is That’s where EWD comes in
Ajax and the Impact on Caché and Similar Technologies Rob Tweed M/Gateway Developments Ltd

More Related Content

PPTX
Java Script - A New Look
PPTX
Ajax ppt - 32 slides
PPTX
Ajax
PDF
AngularJS - Javascript framework for superheroes
PPTX
Ajax:From Desktop Applications towards Ajax Web Applications
PPTX
Ajax presentation
Java Script - A New Look
Ajax ppt - 32 slides
Ajax
AngularJS - Javascript framework for superheroes
Ajax:From Desktop Applications towards Ajax Web Applications
Ajax presentation

What's hot (20)

PPT
Ajax and PHP
PPT
Ajax Ppt
PPT
Ajax Presentation
PPT
Going Offline with Gears And GWT
PPTX
Ajax and Jquery
PPT
PHP - Introduction to PHP AJAX
PDF
Fast mobile web apps
PDF
HTML5 & CSS3 refresher for mobile apps
PPT
An Introduction to Ajax Programming
PDF
Easing offline web application development with GWT
PDF
Ajax Introduction Presentation
PDF
Webdevelopment
PDF
Html5 CSS3 jQuery Basic
PPTX
Introduction to html5
PPT
Introduction to ajax
PPT
jQuery Ajax
PDF
JavaScript DOM Manipulations
DOCX
Copy of ajax tutorial
PDF
Beyond HTML: Tools for Building Web 2.0 Apps
PPTX
What is Ajax technology?
Ajax and PHP
Ajax Ppt
Ajax Presentation
Going Offline with Gears And GWT
Ajax and Jquery
PHP - Introduction to PHP AJAX
Fast mobile web apps
HTML5 & CSS3 refresher for mobile apps
An Introduction to Ajax Programming
Easing offline web application development with GWT
Ajax Introduction Presentation
Webdevelopment
Html5 CSS3 jQuery Basic
Introduction to html5
Introduction to ajax
jQuery Ajax
JavaScript DOM Manipulations
Copy of ajax tutorial
Beyond HTML: Tools for Building Web 2.0 Apps
What is Ajax technology?
Ad

Similar to Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies (20)

PPT
PPT
Using Ajax In Domino Web Applications
PPT
Ajax presentation
PPT
PDF
Ajax basics
PDF
Ajax
TXT
25250716 seminar-on-ajax text
PPTX
PPTX
Intoduction to Ajax
PPTX
Asynchronous javascript and xml
PPT
Ajax Ppt 1
PPT
Experience Ajax - Workshop For Designers
PDF
Cutting the Fat by Tiffany Conroy
PDF
Ajax tutorial
PDF
Cutting the Fat
PDF
[Ebooks PDF] download Ajax in Practice 1st Edition Dave Crane full chapters
PPT
4005-713 ` XML Architecture, Tools & Technique ` Presentation
PDF
Ajax
Using Ajax In Domino Web Applications
Ajax presentation
Ajax basics
Ajax
25250716 seminar-on-ajax text
Intoduction to Ajax
Asynchronous javascript and xml
Ajax Ppt 1
Experience Ajax - Workshop For Designers
Cutting the Fat by Tiffany Conroy
Ajax tutorial
Cutting the Fat
[Ebooks PDF] download Ajax in Practice 1st Edition Dave Crane full chapters
4005-713 ` XML Architecture, Tools & Technique ` Presentation
Ajax
Ad

More from george.james (20)

PPT
Fosdem 2010 GT.M and OpenStreetMap
PPT
M/DB and M/DB:X
PDF
Lost In The Clouds
PPT
On a cloudy day you can scale forever
PPT
Bad Light Stops Play
ODP
Securing The Cloud
ODP
Out Of The Slipstream Proposal
PPT
Lightning In The Clouds
ODP
Lost In The Clouds
PPT
Mumps the Internet scale database
PPT
Web Development Environments: Choose the best or go with the rest
PPT
Web Servers: Architecture and Security
PPT
Google's BigTable
PPT
Report from DEVCON 2008
PPT
Michelle's Wallpaper
PPT
The experiences of migrating a large scale, high performance healthcare network
PPT
Beyond The MVC
PPT
Amazon S3 and EC2
PDF
FIS-PIP™ – A high end database application development platform
PPT
Web Design and Programming
Fosdem 2010 GT.M and OpenStreetMap
M/DB and M/DB:X
Lost In The Clouds
On a cloudy day you can scale forever
Bad Light Stops Play
Securing The Cloud
Out Of The Slipstream Proposal
Lightning In The Clouds
Lost In The Clouds
Mumps the Internet scale database
Web Development Environments: Choose the best or go with the rest
Web Servers: Architecture and Security
Google's BigTable
Report from DEVCON 2008
Michelle's Wallpaper
The experiences of migrating a large scale, high performance healthcare network
Beyond The MVC
Amazon S3 and EC2
FIS-PIP™ – A high end database application development platform
Web Design and Programming

Recently uploaded (20)

PDF
Understanding University Research Expenditures (1)_compressed.pdf
PPTX
Introduction to Customs (June 2025) v1.pptx
PDF
Copia de Minimal 3D Technology Consulting Presentation.pdf
DOCX
marketing plan Elkhabiry............docx
PDF
final_dropping_the_baton_-_how_america_is_failing_to_use_russia_sanctions_and...
PDF
discourse-2025-02-building-a-trillion-dollar-dream.pdf
PPTX
kyc aml guideline a detailed pt onthat.pptx
PPTX
Who’s winning the race to be the world’s first trillionaire.pptx
PDF
illuminati Uganda brotherhood agent in Kampala call 0756664682,0782561496
PDF
Is Retirement Income a Three Dimensional (3-D) problem_ What is the differenc...
PPT
E commerce busin and some important issues
PDF
financing insitute rbi nabard adb imf world bank insurance and credit gurantee
PPTX
Introduction to Essence of Indian traditional knowledge.pptx
PPTX
social-studies-subject-for-high-school-globalization.pptx
PPTX
Session 14-16. Capital Structure Theories.pptx
PPTX
Introduction to Managemeng Chapter 1..pptx
PPTX
EABDM Slides for Indifference curve.pptx
PPTX
Session 11-13. Working Capital Management and Cash Budget.pptx
PDF
ECONOMICS AND ENTREPRENEURS LESSONSS AND
PDF
ABriefOverviewComparisonUCP600_ISP8_URDG_758.pdf
Understanding University Research Expenditures (1)_compressed.pdf
Introduction to Customs (June 2025) v1.pptx
Copia de Minimal 3D Technology Consulting Presentation.pdf
marketing plan Elkhabiry............docx
final_dropping_the_baton_-_how_america_is_failing_to_use_russia_sanctions_and...
discourse-2025-02-building-a-trillion-dollar-dream.pdf
kyc aml guideline a detailed pt onthat.pptx
Who’s winning the race to be the world’s first trillionaire.pptx
illuminati Uganda brotherhood agent in Kampala call 0756664682,0782561496
Is Retirement Income a Three Dimensional (3-D) problem_ What is the differenc...
E commerce busin and some important issues
financing insitute rbi nabard adb imf world bank insurance and credit gurantee
Introduction to Essence of Indian traditional knowledge.pptx
social-studies-subject-for-high-school-globalization.pptx
Session 14-16. Capital Structure Theories.pptx
Introduction to Managemeng Chapter 1..pptx
EABDM Slides for Indifference curve.pptx
Session 11-13. Working Capital Management and Cash Budget.pptx
ECONOMICS AND ENTREPRENEURS LESSONSS AND
ABriefOverviewComparisonUCP600_ISP8_URDG_758.pdf

Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies

  • 1. Ajax and the Impact on Caché and Similar Technologies Rob Tweed M/Gateway Developments Ltd
  • 2. Ajax: a whole new world! Ajax presents a totally different way of considering and developing web applications Brings the web much closer to the typical event-driven client-server GUI style of application
  • 3. What is Ajax? A term coined by Jesse James Garrett in 2005 to describe a range of techniques and technologies that were starting to appear widely: http://adaptivepath.com/publications/essays/archives/000385.php Ajax = Asynchronous Javascript and XML Actually XML not often used at all! Broad and vague term that describes a style of application more than a set of technologies
  • 4. Pioneers of Ajax WebLink’s Event Broker Pre-dated Ajax by some 10 years! Many people have been using Ajax-like tricks using hidden frames for many years
  • 5. Pioneers of Ajax Three big stimuli: XMLHttpRequest object become standard in all browsers Initially a Microsoft ActiveX component used for Outlook Web Access 2000 Widely available broadband at reasonable cost Google Maps and GMail Created huge interest in the techniques and clearly demonstrated their power
  • 6. What distinguishes an Ajax application? Not page-oriented, breaks away from: Fill out a form Click a button Page refreshed with another To event-oriented - content dynamically changed within a single page Some Ajax applications are just a single page of HTML that the user interacts with for hours! Looks and behaves much more like a typical client/server VB or Java application
  • 7. Ajax Key Technologies Javascript and Event Handlers Cascading Style Sheets (CSS) XMLHttpRequest Object “ back-channel” built into the browser that allows a Javascript function to communicate externally via HTTP Standard HTTP request/response Browser’s Document Object Model (DOM) Dynamic HTML JSON (JavaScript Object Notation)
  • 8. Typical Ajax technique Catch an in-browser event: Standard Javascript event handler onClick, onChange, onMouseOver Send an asynchronous request via XMLHTTPRequest object Use the response to modify part of the page in the browser by manipulating the DOM Or send and optionally invoke a JavaScript object via JSON
  • 9. Browser’s DOM When a page of HTML is received by a browser, it is parsed into a DOM API methods to manipulate the DOM are implemented in Javascript document.getElementById(“myField”).parentNode document.getElementById(“myField”).firstChild
  • 10. Javascript DOM API var alertPointer = document.getElementById(&quot;ajaxAlert&quot;) ; var head = document.getElementsByTagName(&quot;head&quot;).item(0); alertPointer = document.createElement(&quot;script&quot;) ; alertPointer.id = &quot;ajaxAlert&quot; ; alertPointer.type = &quot;text/javascript&quot; ; head.appendChild(alertPointer) ; alertPointer.text = &quot;EWD.ajax.errorOn() ;&quot; ; Example:
  • 11. DOM Content Replacement <div id=“myId”> <h3> This is some text </h3> </div> Element <div> Element <h3> parent Text This is some text firstChild parent firstChild
  • 12. <div id=“myId”> <h3> This is some text </h3> </div> Element <div> Element <h3> parent Text This is some text firstChild parent firstChild Special HTML DOM property: innerHTML DOM Content Replacement
  • 13. <div id=“ myId ”> <h3> This is some text </h3> </div> document.getElementById(“ myId ”).innerHTML read/write property DOM Content Replacement
  • 14. document.getElementById(“myId”).innerHTML = “<p>Some new text</p>” ; <div id=“ myId ”> <h3> This is some text </h3> </div> DOM Content Replacement
  • 15. document.getElementById(“myId”).innerHTML = “<p>Some new text</p>” ; <div id=“ myId ”> </div> DOM Content Replacement
  • 16. document.getElementById(“myId”).innerHTML = “<p>Some new text</p>” ; <div id=“ myId ”> <p> Some new text </p> </div> DOM Content Replacement
  • 17. Browser DOM is active As soon as you make a modification to the browser’s DOM, the browser re-renders the page By replacing DOM content with markup delivered as page fragments, we can create an interactive experience for the user Changes the web event model…
  • 18. Ajax Event Cycle (EWD) Container Page Fetch data Pre-page Script EWD State & Session Management Cach é/ GT.M Server Front-end technology (WebLink, PHP, CSP etc)
  • 19. Container Page Fetch Page Fragment Page Fragment Fetch data Event Replaces DOM content Pre-page Script Pre-page Script EWD State & Session Management Cach é/ GT.M Server XMLHttpRequest Ajax Event Cycle (EWD)
  • 20. Container Page Fetch Page Fragment Page Fragment Fetch data Event Replaces DOM content Pre-page Script EWD State & Session Management Cach é/ GT.M Server Ajax Event Cycle (EWD)
  • 21. Container Page EWD State & Session Management Cach é/ GT.M Server Ajax Event Cycle (EWD)
  • 22. Ajax and the role of Javascript Container page doesn’t get replaced Just changing bits of its DOM Javascript environment and context now remains in place across events and DOM changes Javascript now becomes a key part of the application
  • 23. Javascript Objects Javascript is an object oriented language Classless, dynamic objects Add properties and methods arbitrarily and on the fly It’s how Cach é Objects should have been implemented! With Ajax, Javascript objects can persist throughout the user’s session
  • 24. Javascript Objects var MGW = {} ; MGW.page = { currentPage: &quot;compiler&quot;, section: new Array(), selectTab: function(obj) { var pageName = EWD.utils.getPiece(curr.id,&quot;Tab&quot;,1) ; if (pageName != MGW.page.currentPage) { obj.className = &quot;highlightedTab&quot; ; MGW.page.newProperty = “some new value” ; } }
  • 25. Javascript Objects Also allow you to namespace methods and properties eg, avoid function name clashes Key proponent and guru: Douglas Crockford (Yahoo) His training videos should be mandatory viewing for anyone involved in Ajax work http://developer.yahoo.com/yui/theater/
  • 26. Javascript to the fore! Session persistence in Javascript Application logic in Javascript: Form field validation Data manipulation: in and out of Javascript objects
  • 27. Err….what about the back-end? In a “traditional” web application, the back-end did all the work Application data storage Session data persistence Validation of data sent from browser Retrieval of data from database and transformation ready for presentation
  • 28. Err….what about the back-end? When using Ajax Application data storage Session data persistence Validation of data sent from browser Retrieval of data from database and transformation ready for presentation Not very demanding role!!
  • 29. Consequences: In a Caché-based Ajax application, what need is there for: Caché ObjectScript? Caché Objects? Except persistent versions of the Javascript ones Indeed, does Caché bring any benefits as the back-end database of an Ajax application? Just need to store and retrieve data
  • 30. The theory of “good enough” The web is founded on technology that is “good enough” The Internet and the TCP/IP protocol HTTP, HTML, Javascript Other “good enough” supporting technologies have also come to the fore: MySQL PHP
  • 31. Is Caché “too good” for Ajax? For small to medium-sized applications, MySQL is the obvious choice It’s free It’s “just there” and working on any LAMP server you buy or hire Nothing to buy, install or configure For corporates, Oracle or SQL Server will remain the obvious choices People will “make do” with “good enough”
  • 32. So is there a role for Caché etc? Caché (and similar technologies such as GT.M) have always excelled as: Very high performance database Massively scalable database Extremely robust database Low maintenance database DBA-less! Ie Enterprise-grade database technology
  • 33. In the Ajax world, the core features of Cach é, GT.M etc will benefit the top-end user Ironically all the “new stuff” is somewhat redundant in the Ajax world! So the really important space that Cach é , GT.M etc can occupy is the massive, top-end enterprise Ajax application eg Quest Diagnostics So is there a role for Cach é etc ?
  • 34. Start small, grow large But most applications start small Solutions such as MySQL are the clear choice Successful applications grow large MySQL can scale But there comes a point when it just can’t scale easily to the really high end Law of diminishing returns
  • 35. Two strategies Persuade the small to medium application developers to adopt Caché, GT.M etc “ just in case” they need to scale in the future Provide an easy transition from other solutions when needed Direct database substitution Via SQL mappings But not necessarily getting full advantage of the technology Technology-independent application framework eXtc Web Developer
  • 36. EWD: Universal Framework EWD is built around an abstracted definition of a web application Although originally developed for Caché, it is now completely technology-agnostic EWD’s abstract definition can be used to generate code in any technology and make use of any database
  • 37. EWD: Technology matrix Caché, GT.M, MySQL Caché, GT.M, MySQL ASP.Net (C# etc) Caché Caché WebLink Caché Caché Caché Server Pages Caché, GT.M, MySQL Caché, GT.M, MySQL Java Server Pages Caché, GT.M, MySQL Caché, GT.M, MySQL PHP Application database Persistence database Web technology/ language
  • 38. EWD therefore provides a universal framework for defining any web application for any technology combination Isn’t this a threat to Caché, GT.M etc? Start small with EWD and MySQL Migrate simply to EWD and Caché/GT.M when the time comes for their power EWD: Universal Framework
  • 39. Conclusions Caché or GT.M-focused Ajax solutions are doomed to being ignored by the mainstream “ good enough” (PHP, Ruby, Dojo etc) will prevail EWD’s technology-independence actually benefits Cach é, GT.M etc in the new Ajax world Caché, GT.M etc can and should dominate the high-ground We need to facilitate easy migration from “good enough” when it no longer is That’s where EWD comes in
  • 40. Ajax and the Impact on Caché and Similar Technologies Rob Tweed M/Gateway Developments Ltd