Sunday, January 6, 2008

A SOA Ajax Framework

SOPAjax consist of server-side engine and a client-side javascript library that facilitates service invocation. The diagram below explain the flow of a SOPAjax service call.

SOPAjax allow services to be registered without implement any extra java interface. This is to promote reuse of the existing java methods as the ajax services.

Lots of implementation associate XML with Ajax, in fact there's how AJAX being coined, Asynchronous JavaScript and XML. Personally, I feel XML is overhead for most of the implementation, and it will be only useful when come to javascript fat client framework implementation. SOPAjax encourage the use of JSP for rendering by automated the JSP redirect after the service call. Prototype library are used to resolve cross-browser Ajax call compatible issues.

1. var sopAjax = new SOPAjax('Echo');
2. sopAjax.parameter = 'Hello World !';
3. sopAjax.jsp = 'red_table.jsp';
4. sopAjax.update('div_Text');

The above sample SOPAjax javascript will trigger the following flow :

1. Initialize a SOPAjax service instance with service code 'Echo'.
2. 'Hello World' are passed to the 'Echo' sopAjax service as service parameter.
3. Redirect the processing to 'red_table.jsp'.
4. Refresh DOM's "div_text" DIV with the return data.

Friday, January 4, 2008

First assignment in PDT- AJAX

Apr 2007, I've been transfered from Professional Services (PS) dept to Product Development team (PDT) after the completion of S&I project. Ecquaria PDT focus on product R&D and innovation, which is always my interest ;) ( You can read more about Ecquaria SOP here )

AJAX was my first assignment in PDT. I was told to champion the R&D and decide how can we move on with it. AJAX is combination of technology, HTML DOM, client-side scripting and XMLHttpRequest object. There are a few popular Ajax toolkits during that time, OpenRico, GWT, YUI and Dojo Toolkit.

GWT (Google WebToolkit) is a javascript compiler that interpret Java programming language into cross-browser and optimized javascripts. YUI (Yahoo! User Interface Library) , OpenRico & Dojo Toolkit focus on providing their best javascript API library to developers. All these Ajax toolkits shared the same goal and competing to become the best/standard of RIA (Rich Internet Application) development without rely on java applet, activeX object or flash plug-in.

As an enterprise product, we always focus on addressing the enterprise concerns, security, scalability & stability. And that's the design philosophy behind the SOPAjax framework. SOPAjax framework focus on server-side development while leaving the client-side user interface widget open in adopting any 3rd party Ajax toolkit.