Thursday, November 6, 2014

Cloud Computing Technologies

Cloud Computing Technologies

Standard Object Application Protocol (SOAP), JavaScript Object Notation (JSON), AJAX, and Representational State Transfer (Rest) are new standards that make working with different providers easier for developers and a better user experience for the users (Anderson, 2007). Many of the new standards evolved from the need of developers to collaborate across platforms. Emerging standards such as Node.js are designed to make developing cross platform applications faster and easier.


Asynchronous JavaScript and XML (AJAX) is a software design pattern that uses internet browsers to call information on a page with script without making a page refreshes (Györödi, Györödi, Pecherle, Lorand, & Alin, 2009). The AJAX message lightweight and does not include metadata such as definition information.  An example of can be seen in figure 8. Organizations are able create webpages that mimic traditional desktop applications with AJAX. AJAX is a way for organizations to expose business functionality in a way that is consumable by other programs.

Figure 8. Ajax XML


JavaScript object notation (JSON) is a format that is now commonly used for Ajax (Crockford, 2006). Transferring XML to a web page is difficult to process, space intensive, and processors intensive (Lawrence, 2004). Unlike XML, which must be parsed by the browser, JSON allows the direct conversion of text sent from a web server into a JavaScript object that is directly accessible by other JavaScript objects without string parsing. The direct conversion saves webpages time and processing power (Crockford, 2006). JSON has less extra characters and white space than XML.  An example can be seen in figure 9. Consequently, JSON consumes less network bandwidth than XML. Slow network bandwidth is a large contributing factor to slow web pages (Crockford, 2006). Using JSON is a technology that is easy to read, efficient, and is easier to combine desperate data sources (Severance, 2012).



Roy Fielding proposed a set of principles that constitute a set of standard transmission architectures for the internet in his 2000 dissertation. Fielding (2000) named this architecture Representational State Transfer (REST). REST principles are designed to make communication over the internet efficient and scalable across multiple servers (Vinoski, 2007).
REST enforces standardization of communication. This allows web services written in one language to easily communicate with webservers written in other languages (Vinoski, 2007). REST is also stateless. Servers do not keep information about the clients that are calling them. Being stateless allows clients to transfer between servers seamlessly and allows easy scalability (Fielding, 2000; Vinoski, 2007).


Node.Js or Node is a cross platform language that allows developers to write server side JavaScript (Tilkov & Vinoski 2010). Node.js allows developers to write in one language for the browser and the server allowing them to write code faster (Tilkov & Vinoski 2010). Being fast, having a low memory foot print, and being specifically designed for Ajax transactions, Node.js is rapidly becoming a popular language for cloud computing (Tilkov & Vinoski 2010).


Open data (OData) is a set of web services that allow clients to make queries against databases with a web browser (Krishnaswamy, 2010). This allows companies to make flexible web services that allow clients control how the data will be presented back to them (Krishnaswamy, 2010). Rather than having a set of static web services OData allows clients of the web services to construct their own data interfaces.