Most people who try to develop AJAX-based applications have got it wrong, says the creator of the JBoss Seam open source project.
Seam is an application framework that helps developers create Web 2.0 applications by integrating technologies such as AJAX, JavaServer Faces (JSF), Enterprise Java Beans (EJB3) and business process management.
"The path we've gone down is to really make use of JSF, which is a fantastic standard," King added. As the underlying development technology in Seam, JSF allows developers to build Web applications quickly.
More importantly, King emphasized, is the use of Seam as a server-side programming model for AJAX-based applications, though "most people only see AJAX's significance in the client".
He explained that as developers move from the "traditional model of coarse-grained, synchronous requests to the server, to the [AJAX] model of fine-grained, concurrent asynchronous requests, the whole architecture that people use to build Web applications starts to break down."
King said that with AJAX, developers now need to "manage concurrent requests, as well as hold a state cache on the server for users, otherwise your applications have no chance to scale".
Through Seam, JBoss is also hoping to push for a standardized component model for the Java platform, King said. Component models illustrate the different software pieces that will be used to build a given system or application.
He also highlighted the disconnect that is created each time someone identifies a technical concern, such as interaction with a Web site, because "a new component model would be introduced". The resulting effect are more complex Java applications , he said.
King explained: "This means that if I am a developer trying to implement some business logic, I have to write a lot of code to integrate different component models, because I can't have a single component that performs the same logic."
King currently leads the JSR 299 specification in the Java Community Process (JCP), which is looking to introduce a common programming model for Web-based Java applications. JSR 299 is supported by Borland Software, Google, JBoss, Oracle, Sun Microsystems and Sybase.