1 / 17

Ajax / Rich Internet Applications

ICW Lecture 21 Errol Thompson. Ajax / Rich Internet Applications. Proposed learning. Clarify the divide between client and server in web programming Expand understanding of client programming options Asynchronous interaction options Rich internet applications Thinking outside the box.

hedwig
Download Presentation

Ajax / Rich Internet Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ICW Lecture 21 Errol Thompson Ajax / Rich Internet Applications

  2. Proposed learning • Clarify the divide between client and server in web programming • Expand understanding of client programming options • Asynchronous interaction options • Rich internet applications • Thinking outside the box

  3. The client / server divide • What is the nature of • A desktop application • A browser based application • A server-based application • Is it possible to treat them as the same thing? • If not, why not? • If so, why and how?

  4. Assumed knowledge –Protocols • Transport protocol • TCP/IP and sockets • Application protocols • smtp, http, https, ftp • What did you have to implement with your browser? • What do you expect the server to be doing?

  5. Assumed knowledge –Static content • What does it mean to have static content? • What does the server have to do? • What does the browser have to do • What is the problem with static pages?

  6. A scenario • Jack want an application that will allow him to enter information about cyclists who enter his road race events. He wants it to be a web application as he wants to integrate the list with a system for commissaires to manage the race and for reporting race progress and results. • Will this work with static pages? • Why or why not?

  7. Dynamic content –Server based • Where is the servlet or JSP code run? • What does it do? • What protocols are involved? • What happens in the browser? • Where is Javascript code run? • What does Javascript do? • What are its limitations?

  8. Removing page reload - AJAX • On what technologies and protocols is AJAX coding based? • In what respect is it asynchronous? • What type of requests can be made? • How are responses to requests handled? • What are the states that nee to be considered? • Why check the status codes in a response? • What do you need to do to have changes reflected on the web page? • What is the impact of browser caching and how can it be resolved?

  9. Transferring data • How is parameter data passed to the server? • ‘GET’ parameters • ‘POST’ data • How is data returned from the server? • Is there any limitations on the data transferred? • Why or why not?

  10. Formatting data for transfer • What data formats can be used? • Anything that you can handle • Write your own logic • XML • Work with a document object model (DOM) • JSON (JavaScript Object Notation) • Uses “normal” JavaScript

  11. JSON Rider data • {“rider”: [ • { • “number”, 231, • “name”, “Fred Dagg”, • “club”, “UofB Cycling Club”, • “sponsor”, “” • } • ] };

  12. Accessing JSON data • var rider= eval(‘(‘ + request.responseText + ‘)’ ); • var name = rider.rider[0].name; • var number = rider.rider[0].number; • . • . • .

  13. Issues with AJAX • How vulnerable is AJAX code to attack? • How easy is it to maintain the DOM model? • Is it possible to use other protocols with AJAX type coding? • How compatible are browsers?

  14. Can we code for the browser in the same way that we can browse for the desktop? Flex/Flash, JavaFX, Silverlight What are the issues? Browser support Install of virtual machine (VM) Application in the browser –Rich Internet Applications (RIA)

  15. Cloud computing • Applications accessible through the browser • Configurable to individual customer needs • Removes need for company to manage their own application servers

  16. Breaking the boundaries • The future of the browser • Collaboration over the web • Portability between desktop and mobile device • Remove the boundaries between browser and desktop

  17. Next time Review

More Related