Java vs. AJAX

Volume 12, Issue 22; 10 Jun 2009; last modified 08 Oct 2010

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.

Pointing the big guns of JavaOne at AJAX 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).

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.

As it turns out, these are exactly the sorts of applications that are easy to build on top of MarkLogic Server (or, more broadly, with similar technologies; see also XRX). The application runs in the browser (standard HTML+CSS+JavaScript) and uses AJAX (with XML or JSON, 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.

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 application server to get the job doneJava 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 XML Calabash). 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.).

So, just maybe, AJAX is a kind of competitor to Oracle+Java. Credit where it's due, I never would have seen that.

[ 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 ]



What does Mark Logic consider to be its competitors in the XRX space?

—Posted by John Cowan on 10 Jun 2009 @ 09:10 UTC #

i guess the really big thing you're missing here is JavaME or its younger little brother JavaFX. this is the kind of thing oracle now wants to push for RIAs, in the same way as MS pushes Silverlight and Adobe pushes Flash. i think this is mostly the reason for the assault at Ajax, not so much the J2EE part of the Java world.

—Posted by dret on 10 Jun 2009 @ 09:17 UTC #

In short, "middleware" is getting *much* thinner. As javascript evolves--I suppose we're already there, actually(HTML5 ftw? ;)--there will be a greater need for app programmers to use JS instead of java. I guess google has been trying to take the sharp edges off of that corner with GWT, but I think there's too much distance between the application's implementation and the platform for app programmers to be able to use the browser platform effectively via GWT. Things like objective-j/cappucino can give most of the desired application structure while not distancing itself from the actual platform(JS)). Hard times ahead for any heavy web framework, IMO.

Well, I suppose we could still use java for authorization. ;)

cheers from phx.

—Posted by James William Pye on 10 Jun 2009 @ 10:33 UTC #

Something which frustrates me about JavaFX and GWT is the notion that programming in Java is somehow much easier than native JavaScript. This is so untrue, JavaScript is a great language and the cross-browser story is getting stronger with old browsers falling away, Webkit and Gecko in the ascendency and rock-solid libraries such as jQuery. HTML, CSS and JavaScript offers view-source, progressive enhancement and graceful degradation, something way beyond blobs of binary single-supplier lockin such as Flash, Silverlight and JavaFX.

Meanwhile, yes, Marklogic sounds great, as are Open Source keystores such as CouchDB, Tokyo Cabinet, Memcached, etc where the only bit of RDBMS they use is the index.

Interesting times ahead for Java/Oracle, hence the "Ajax is hard" FUD, I guess.

—Posted by Paul Downey on 11 Jun 2009 @ 09:27 UTC #

As Google Engine emerges some other 'Platform as a Service' such as Ndjin handle server side bizlogic with JSON/XML webservice stack and leave the UI to Ajax (GWT, JQuery,...) or other rich application language (AS3/Flex/Air,...). This sound as good-old traditional client/server approach revisited with 'internet' technologies thanks to the recent evolutions with web frameworks.

Honestly, I've never understood why so much has been invest in server side tech in charge of producing the view just because of poor browser implementation. Just as if everybody was looking at the wrong side or misuse of tech (php/mysql or JSP/JDBC mixing mvc in same files for example).

—Posted by Al on 28 Jun 2009 @ 06:26 UTC #

Ajax is the low-level protocol that a Java programmer shall not even notice it. Programming Ajax shall be the same as programming Swing. ZK is one of the best implementations that really make Ajax transparent to Java programmers.

—Posted by Jack Miken on 11 Mar 2011 @ 11:13 UTC #