Difference between revisions of "Ajax Client"
Line 4: | Line 4: | ||
==Dynamic Data Format== | ==Dynamic Data Format== | ||
[http://www.json.org/ JSON] instead of XML is use as it produces more compact representation , it is blazingly fast to parse on a client — essentially simple JavaScript eval() would do, and it is very simple to parse on a server too. | [http://www.json.org/ JSON] instead of XML is use as it produces more compact representation , it is blazingly fast to parse on a client — essentially simple JavaScript eval() would do, and it is very simple to parse on a server too. | ||
+ | |||
+ | ==Transport== | ||
+ | *XMLHttp | ||
+ | :The XMLHttp transport is the default transport. It works well in most cases, but it cannot transfer files. | ||
+ | *IFrame | ||
+ | :The IFrame I/O transport is useful because it can upload files to the server. | ||
==Proof Of Concept== | ==Proof Of Concept== |
Revision as of 03:10, 24 February 2007
Architecture
The server serves mostly static files (HTML, CSS, JS, images), which constitute a static framework of the web application. The client accesses the server to get static files, and to get dynamic data using REST conventions, and renders proper HTML. A Javascript client framework like Dojo or Qooxdoo will be used to build the AJAX client base on the existing Swing client structure. Servlet will be used to served the dynamic data needed by client using REST convention. Alternatively, Javascript RPC can be use for transfer of data between server and client. There should be no changes required on the current ADempiere core.
Dynamic Data Format
JSON instead of XML is use as it produces more compact representation , it is blazingly fast to parse on a client — essentially simple JavaScript eval() would do, and it is very simple to parse on a server too.
Transport
- XMLHttp
- The XMLHttp transport is the default transport. It works well in most cases, but it cannot transfer files.
- IFrame
- The IFrame I/O transport is useful because it can upload files to the server.
Proof Of Concept
A prototype should be build as a POC. The prototype should demonstrate the following features:
- Login
- Tree Menu
- Opening of window
- Preview of report
Schedule
Current plan is to build a POC and demonstrate at the ADempiere Europe Conference this May.