Transcript Slide 1

Minnesota Lotus Notes User Group AJAX and Lotus
John Smart
Partner
GreyDuck Technology, Inc
[email protected]
651.283.8689
AJAX
• What is AJAX?
• Basics
• Why IBM Lotus Domino works
well for AJAX
• Examples
• Bigger-Picture Lessons Learned
What is AJAX
•
•
•
•
Asynchronous Javascript And XML
Not a technology, a technique
Other elements involved: DOM, CSS, DHTML
Supported by most major browsers
AJAX: The Basics
1. Event triggered on a page…
(e.g. user clicked on
something, timeout, onLoad
event, etc.)
2. … a request goes out from
the browser, browser sets
up a “when I get an answer,
run this JavaScript function”
trigger…
3. … meanwhile, user can still
do things…
4. … if/when the browser gets
answer, it’s passed to the
designated JavaScript
function.
©2005 Adaptive Path, LLC
IBM Lotus Domino and AJAX
• Domino’s native support for XML and Javascript
– ReadViewEntries
– Server agents and web services that emit XML
– Apply CSS easily
• Much control over how XML and HTML are
emitted
• Well-integrated DB and web tasks - Don’t have
to deal with two different vendors (though you
can)
DWA (iNotes) uses AJAX
Examples
•
•
•
•
•
•
Google Maps
ObjectGraph’s Dictionary
Julian Robichaux’s Zip Code Example
FaceLift For Domino (unfinished)
Ultimate Domino View Navigator (Example)
LDDMonkey for LDD (also from Julian)
My Take-aways
• Some of the stuff I’ve done in the past will look
outdated sooner than I’d thought. (E.g. web
pages that refresh when a keyword is changed.)
• JavaScript has arrived! Packaged libraries are
getting more and more sophisticated. Rather
than reinventing the wheel, “prototype.js” is a
de facto standard for AJAX coding.
• FaceLift was one of a few Domino “meta coding”
sessions at Lotusphere. There seem to be more
and more design frameworks and more of an
emphasis on reusability than I’ve seen before.
Ready? Go!
•
•
•
•
Wikipedia’s page on AJAX
Prototype.js
Comprehensive JS library list
Mastering AJAX (IBM DeveloperWorks)