120 likes | 201 Views
Introduction. AJAX What is it? Why is it important? Examples of live applications Cloud Computing What is it? Why is virtualisation important? Security Issues. http://www.site03.com/wp-content/uploads/2007/05/ajax-logo.jpg. What is AJAX?.
E N D
Introduction • AJAX • What is it? • Why is it important? • Examples of live applications • Cloud Computing • What is it? • Why is virtualisation important? • Security Issues http://www.site03.com/wp-content/uploads/2007/05/ajax-logo.jpg
What is AJAX? • AJAX is an acronym that stands for “Asynchronous JavaScript and XML” • It's been around since 2005 (or so) and was popularised by Google • AJAX is a collection of technologies • It is based on JavaScript programming, XML data requests over HTTP and “live updating” of the page through CSS
Pros and Cons • JavaScript can communicate asynchronously with a server, using the JavaScript XMLHttpRequest object • But XMLHttpRequest is done through non-standard means • Although AJAX is based on open standards, browsers do not all implement these standards perfectly • AJAX is architecturally cross-platform but at the detail level there must be different code to support MSIE and the other, more standard, browsers
Why is AJAX important? • It helps the developer minimise the number of new full page downloads • Can be faster, slicker and better than normal client-server page turnaround • Applications should end up being smaller due to less network traffic • Applications should run quicker and be easier to write – no more “stateless” page changes to deal with
Why is AJAX important? • “much of the Web's innovation and evolution during the Web 2.0 era has relied upon and benefited immensely from the capabilities of an Ajax platform” [Wikipedia, AJAX] • “An Ajax application eliminates the start-stop-start-stop nature of interaction on the Web by introducing an intermediary — an Ajax engine — between the user and the server” [Adaptive Path, J.J.Garrett] • “In addition Ajax works on the client and shares some work of the server, so reducing the server load” [Wikipedia, AJAX]
Examples of live applications • Google Maps is a good example of an AJAX application • Similar precursor frameworks have been used in the past – for example, Outlook Web Access • GMail is an AJAX application • Parts of Flickr are based on AJAX technology • Note that Java + XML, Java Applets + XML, Flash + XML and lots of other technologies have many features in common with AJAX
What is “cloud computing”? • Cloud computing is name for a style of grid computing • “Utility computing” and the use of shared computing resources • An alternative to local servers handling applications • Virtualisation of computational resources • Automation of many management tasks is an essential feature – otherwise we're talking about a traditional datacentre • Massively parallel processing on heterogeneous nodes
Strengths and weaknesses • Where is the cloud? • Local networks – limited size but predictable system setup and capabilities, may be relatively secure • The Internet – huge but highly unpredictable, harder to secure • Strengths include • Can locate infrastructure in low cost areas • Can share peak-load capacity among users • May separate application code and data from localised hardware
Security and safety issues • Privacy, security and viruses are worries when online • Google's online wordprocessing application is username and password protected with built-in virus scanning • Google says it offers users the same level of protection as its own staff • It is reported that Google employees regularly use cloud computing, including the senior executives
Security in an online world • Who do you trust with your documents? • Where do you store (and back up) your work documents? • What about personal documents? • Would you be happy with cloud-based storage? • Would your business be happy with cloud-based processing or storage? • How important is encryption? • What about identity theft?
Conclusion • AJAX is a flexible solution to a fundamental limitation of Web pages • AJAX is very popular for highly interactive “Web 2.0” applications • Cloud computing is a loose term for a fuzzy form of grid computing • It's analogous to an electricity supply grid but more complex • It raises issues of ownership, security, trust and reliability
Optional Further Reading • Ajax (programming) http://en.wikipedia.org/wiki/AJAX • Ajax: A New Approach to Web Applications http://adaptivepath.com/ideas/essays/archives/000385.php • AJAX:Getting Started http://developer.mozilla.org/en/docs/AJAX:Getting_Started • Cloud computing http://en.wikipedia.org/wiki/Cloud_computing • IBM cloud computing http://www.theregister.co.uk/2008/03/26/ibm_autonomic/ • Cloud computing begins to emerge from the haze http://weblog.infoworld.com/tech-bottom-line/archives/2008/03/cloud_computing.html • Cloud Computing with Red Hat Enterprise Linux http://www.redhat.com/solutions/cloud/