<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" version="5.0" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:gal="http://norman.walsh.name/rdf/gallery#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
<info>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
<title>Java vs. AJAX</title><biblioid class="uri">http://norman.walsh.name/2009/06/10/ajax</biblioid>
<volumenum>12</volumenum>
<issuenum>22</issuenum>
<pubdate>2009-06-10T16:22:10-04:00</pubdate>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2009</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>Watching the twitter stream from JavaOne go by, I was initially
surprised by the apparent frontal assault on AJAX. It seemed like
an odd target at first; on further reflection, not so much.</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Ajax"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Java"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#MarkLogic"/>
</info>

<para xml:id="p1">Pointing
<link xlink:href="http://www.theregister.co.uk/2009/06/02/ellison_oracle_javafx/">the
big guns</link> of JavaOne at
<wikipedia page="Ajax_(programming)">AJAX</wikipedia> seemed very strange
when I first saw it go by. A bit like attacking tractors or
escalators: it's a bit of infrastructure, a programming technique, not
a competing vendor or product. But later, the possible significance
dawned on me (maybe I'm slow on the uptake and this is obvious to
everyone else, I dunno).</para>

<para xml:id="p2">AJAX is a useful technique for building rich,
information-centric applications, the sorts of applications that help
readers get the most value from what they see and help companies get
the most value out of the content they have.</para>

<para xml:id="p3">As it turns out, these are exactly the sorts of applications that
are easy to build on top of
<link xlink:href="http://www.marklogic.com/product/marklogic-server.html">MarkLogic
Server</link> (or, more broadly, with similar technologies; see also
<wikipedia page="XRX_(web_application_architecture)">XRX</wikipedia>).
The application runs in the browser (standard HTML+CSS+JavaScript)
and uses AJAX (with XML or <wikipedia>JSON</wikipedia>, that's not really
significant for the point I want to make) to provide a dynamic, interactive
experience for the user. The server can very quickly search through large
amounts of content and transform what it finds back into the nuggets needed
to satisfy the AJAX requests. The result: easy to build, easy to deploy, responsive
applications that make users happy: win, win, win.</para>

<para xml:id="p4">What's significant about this isn't how efficient it is, or how agile,
what's significant is what's missing: there's no relational database
(because that's a dumb way to store the rich content that drives applications
like this) and there's no Java stack (because, well, because you just don't
need anything as awkward and complex as a Java
<wikipedia page="Application_server">application server</wikipedia> to get
the job done<footnote>
      <para xml:id="p5">Java fans: please put down the flame throwers.
I like Java. I'm a Java fan. It's my go to language for building applications
(like <link xlink:href="/2008/projects/calabash">XML Calabash</link>). I just
never drank the “application server” kool aid. If that was the answer, I always
used to think, you must be asking the wrong question.</para>
    </footnote>).</para>

<para xml:id="p6">So, just maybe, AJAX is a kind of competitor to Oracle+Java. Credit
where it's due, I never would have seen that.</para>




<para xml:id="p7">[ Yes, I'm coming late to the party. I put this in the “wait 24
hours” bucket and then forgot about it for a few days. –ed ]</para>

</essay>

