Joe Gregorio:

While REST is best thought of as a guide and not a law, you have to remember that so is, “Don’t run with scissors.”

In my first Ajax and REST article, I talked about how the Ajax web programming style and the REST architectural style work well together. While this is true in theory, there are quite a few technical limitations of browsers’ XmlHttpRequest implementations that make it challenging to take advantage of some very basic HTTP capabilities. Case in point, observe this little gem from the MSDN page on the XHR#open method:

Microsoft Internet Explorer caches the results of HTTP GET requests in the Temporary Internet Files (TIF) folder. In most cases, caching improves performance for data that will not change frequently. To guarantee that the results are not cached, use POST.

As Dr. Evil would say, “Riiiiiiiiiight”.

I expect (hope?) that one of these years all of the popular browsers will expose Javascript APIs that provide HTTP client functionality on par with the Apache HTTP Client, but we’ve got a ways to go.

In the meantime, I found this extremely useful and interesting page by Mark Nottingham that tests the correctness of your browsers’ XHR caching. Try it with a couple of different browsers and observe the differences.

I was in Santa Clara this last week at EclipseCon 2007. I participated, along with several other Jazz component leads, in a demo Wednesday night called “Jazz in Action: Building Jazz with Jazz”. Last year, we demo’d Jazz on a special demo server, this year we demo’d using our self-hosting server – i.e. the Jazz server we use to support our Jazz development (very meta, I know). The demo went well and the attendees seemed to enjoy it; if you wish to hear more, this CRN article describes it fairly well.

Some personal highlights from the week (ordered chronologically):

  • meeting and chatting with James Governor
  • chatting with Ward Cunningham about wikis and other collaborative web technologies
  • meeting a bunch of Jazz teammates face-to-face for the first time
  • that several Jazz colleagues that I hadn’t met before thought I was a little guy because of my IBM photo; (I’m actually 6’2” or 1.88m)
  • meeting folks from the Eclipse side of Dave Thomson’s IBM Eclipse/Jazz organization
  • John and Erich’s talk “From Eclipse to Jazz” on Wednesday afternoon and the Jazz demo Wednesday night
  • getting feedback from several customers who are participating in the Jazz Community Site pilot (reminder: bug reports/enhancement requests are welcome and easy to manage, so please create them liberally)
  • exploring new directions for Jazz visual design and web service architecture
  • the fantastic Italian dinner in Palo Alto with the Jazz dev team

One FYI on upcoming events: Erich will be giving the “From Eclipse to Jazz” talk as a keynote at TheServerSide.com Java Symposium on Wednesday, March 21st in Las Vegas.