Friday, December 17, 2010

The Changing nature of web-development

Web services are defined as any service or function delivered via hypertext transfer protocol (HTTP) offered via the Internet and executed remotelyi.
Service Oriented Architecture is defined as a flexible set of design principles used during the phases of and integration within the software development life-cycle of which XML and JSON are commonly used but not required for service coupling.ii
The current state of web-development for most popular web-applications is based on “Foundational Technologies”; a foundational technology is defined as any technology that becomes a base requirement to enable any other technology. Real world examples include how the current state of the multi-billion dollar produce and food industry rely solely upon widespread cheap and available refrigeration and the national and international power grids to maintain product stocks both in warehouses and during shipping to the grocers. If the North American power grid fails; all grocers have blackout sales of any and all frozen produce.
With respect to the Internet; foundational technologies include systems such as DNS, multi-homed peering sites, BGP router gateway protocols, widespread use of TCP/IP and most importantly standardized application programming interfaces such as those created by web-applications to facilitate the exchange of information from system to system using either SOAP, XMLRPC or JASON using standardized methods as defined by the W3C's Web 2.0 conference.iii The basis of for web services are defined as the web as a “platform” where regardless of client operating system or device the web and the browser deliver the desired computing application functionality. This is often referred to as the “Cloud” or “Cloud Computing”.
Essentially web development now has many vertically integrated services that have introduced dependencies on the platform that would have previously been required to be developed and supported internally within the local application and it's framework. This means the development of databases of information to be accessed by the application locally have been moved to the web or removed from the application completely.
The current state of web development is dominated by the use of the cloud as the platform; Microsoft even has commercials using public marketing designed to popularize the term “To the Cloud”, as if it was one of their inventions. Wal-mart's store locater relies upon the use of Google Maps to add relevant and easy to use Geo-location specific information to their clients.
Web services such as Amazon's EC2 cluster allow the direct purchase of computing power delivered through the use of an API designed by them with any choice of transports; The popularity of folding@home, Seti@home and other distributed supercomputing environments are demonstrating how the “Cloud as a platform” is the most powerful super computer. Currently not just web-applications but local applications are now relying upon service oriented architecture and distributed and dynamic capacity to accomplish both complex and amazing science.
The three critical factors in the production of anything as defined by neoclassical economics are “Labor, Capital and Land”iv, the goal of web-development is to produce a usable web-application to serve a dynamic and wide range of people's needs with information. Often this production is based on the two requirements of Labor and Capitol, the “Land” is virtually defined as hosted or rented space within the “Cloud”.
The “cloud as a platform” has reduced the capitol and labor requirements such that a small team of developers can now create entire applications within months. They may rely on third parties for access, authorization, authentication, service maintenance, information transfer and hosting; all of these third parties may only specialize in one particular service as a critical or dependant function.
Currently any relevant web-site as dictated by the popularity of use via ranking services such as “Alexia” have demonstrated that not only must a web-application function within itself, it must depend on external services. Google uses 3rd party maps and satellite imagery to generate Google maps; Microsoft relies on 3rd parties for service delivery; even Apple's iTunes could not function without Pay-pal which was originally developed as a platform for eBay.
Not only does current web-development require the use of web-services, but the business success of any web-application requires that it integrate well with other Web 2.0 sites via these now standardized interfaces. The future of web development is anyones guess as to weather or not JASON, JAVA, HTML, PHP, Javascript, XML or HTML5 become standards; the only certainty is that most platforms will inter-operate to deliver a service to a client regardless of operating system type or browser and that this operation will be seamless. Not because it's cheap, nor because it's simple but because we the users demand it.

References

iRichardson, Lenord, Ruby, Sam; (O'reilly Media, 2007) Restful Web Services P.299 ISBN: 978059652960
iiBell, Micheal (Wiley, February 2008) Service Analysis, Design and Architecture P 2 ISBN: 9780470141113
iiiSharma, Prashant (Techpluto, November 28 2008) Core Characteristics of Web 2.0 Services [Online] World Wide Web, Available from: http://www.techpluto.com/web-20-services/ (Accessed on December 16th 2010)
ivSamuleson, Paul A. Nordhaus, William D; (McGraw Hill, Yale University, 2010) Economics Glossary of Terms ISBN: 9780073511290

No comments:

Post a Comment