|
ThinkCAP JX is a high productivity environment, usable by J2EE experts and non-experts, for building Rich Internet Business Applications based on AJAX, Open Source, and J2EE
USING AJAX TO RAPIDLY DELIVER RICH INTERNET APPLICATIONS 3-TIER CLIENT/SERVER WEB APPLICATIONS USING 100% STANDARD TECHNOLOGY
September 2005 ClearNova, Inc. 770.442.8324 sales@clearnova.com www.clearnova.com USING AJAX TO RAPIDLY DELIVER RICH INTERNET APPLICATIONS
AJAX and the Rebirth of Client/Server What Is AJAX? AJAX (Asynchronous JavaScript and XML) refers In the 1990s, client/server was the predominant architecture used to to a set of techniques centered on background build business applications. The applications had rich functionality, were browser to server communication. Instead of responsive, and satisfied users' needs. Client/server worked in a time always submitting a full page of data to the where the only networks were the ones owned and controlled by the server and receiving a full page back, by using enterprise-and the only user base was internal. AJAX techniques, an application can send an individual field value and receive information to As web technologies emerged, client/server lost favor to thin client HTML update a portion of the page. An example is architectures because it requires no downloads, has no distribution field validation. Using AJAX, a field can be validated on the server as soon as the user issues, and works over firewalls. However, page-oriented Web leaves that field. If the server returns a failed applications are, in general, not rich, not responsive, and do not satisfy validation, the browser then displays an error users' needs. While users like the ability to run applications from message. Likewise, instead of submitting a anywhere on any platform-they are unsatisfied with the user experience. whole form, AJAX allows developers to send only the form data to the server. The server can Today, the web development world is buzzing with the terms Rich Internet then update the database and return a status-Applications and AJAX. The use of AJAX techniques allows developers to instead of returning a completely new page. build Rich Internet Applications that deliver both the functionality and the The result is that, with AJAX, web applications richness of client/server applications as well as the ubiquity and can be much more responsive and intuitive. accessibility of the web. While many people consider AJAX to be a nice enabling technology, ClearNova believes that it signifies a fundamental shift in how web applications are built. Instead of building page-oriented/action-based Traditional Web Development applications, developers can-and will-now build component- Pages Submitting To Actions oriented/event-driven applications using standard web technologies. The Pick an Item 'Add To Cart' reason: users want it.
Traditional Web Development vs. AJAX AJAX-based web development differs drastically from traditional Page & Error Page Action 'Can't Order 500' Action oriented programming. Instead of submitting forms to actions and receiving a new page from the server, developers can send small sets of data to the server as the user interacts with the application. Review Cart Enter Data Traditional Web Applications: Pages & Actions Submit As shown in Figure 1, traditional web development is page & action oriented. In a typical web interaction, a user fills out a form on a page, and then hits submit. All the data for the form is passed to an action object on the server. The action validates the data, calls business logic, Action and then routes the application to another page. A new page is then created and sent back to the browser. These constant page refreshes decrease user productivity. Enter Shipping Enter Data Complex processes require many page navigations and as the data Submit complexity increases, usability suffers. For example, implementing a simple master-detail update form is trivial in a client/server application but may take five or six web pages to reproduce. Customs Form Action 'International Order' From a programming point of view, building complex web applications is time consuming and tedious. Developers spend a lot of time dynamically modifying or generating HTML based on data, binding data to form fields, handling page flow, and persisting data. Client-side JavaScript Enter... [download for more]
|