“Hephaestus created Hermes winged helment and sandals, the Aegis breastplate, Aphrodite’s famed girdle and Agamemmnon’s staff of office.” ~ IIlad II Homer
The software model used predicates the architecture of the application, its use and design and generally how easily the software may be maintained and updated through its life-cycle. There are many formal software models that have been developed; the most popular is the Waterfall, there is also Agile, Big Design, Chaos, Iterative, Rapid Applciation Development, Bhoem Spiral, V-Model’s. [i]
There are as many methodologies as there are models to software development, these include Agile, Clean room, Iterative, RAD, RUP, Spiral, Waterfall, XP, Lean, Scrum, V-Model and TDD. [ii]
Each of these models have their respective strength’s and weakness; the analysis of all of them would be far too comprehensive for discussion; AJAX being developed by developers trained to use these models however is closer as a methodology to XP, AGILE, RUP and the Waterfall models. With respect to Rich internet applications, AJAX is more of an interface standard than anything else.
As a specification AJAX is great for users, good for servers and excellent for computers. It’s great for users because it removes the tedious aspects of user input within forms and transitions within websites. It’s great for servers because it limits the interface with the client to only what is needed when it is needed. IT’s excellent for computers because it distributes the processing requirements actively from the server to the client and can be used to reduce the cost of running the servers.
Good software design is a very subjective statement; ask a hundred developers what “Good software design is” and you will receive a hundred answers each equally cryptic and unique. Upon further study themes would begin appear. The Systems development life cycle or SDLC for short is the fruits of such work.[iii] The goals of any systems produced using Secure SDLC and SDLC are to produce high quality systems that are maintainable inexpensively, operate in a secure fashion and may be enhanced cost effectively.[iv]
AJAX is good for web-applications, it’s great for instances where applications are running within a client browser; that’s its prime function; and its prime limitation. Software applications run on plethora devices; not all of which are connected to the internet. I do not think we will ever see an implementation of AJAX based software on devices that are used in the automotive industry. AJAX would not be implemented in any systems that are using the MOST protocol to communicate.[v]
AJAX is useful for mobile applications on smart phones which are now the largest emerging device market on the planet; even though there are a number of challenges for smart phones as a platform since the client side processing available is quite limited[vi]; As the Smartphone as a platform increases its computing capacity AJAX will become more common. It’s also great for any web based application which is another large chuck of the application industry.
AJAX will definitely aid in the forward evolution of web-development on many fronts as it’s use simplifies form interaction for both the end-user and the server. I see AJAX as a standard requirement for web application development.
Just as the Hammer, anvil and clamps were Hephaestus tools used to create articles and items of legendary beauty, AJAX is standard that is used to create beautiful and elegant web-tools for people.
References
[i] N.A. (Wikimedia, 2010) Software Development Process: Software Development Models [Online] World Wide Web, Available From: http://en.wikipedia.org/wiki/Software_development_process#Software_Development_Models (Accessed on December 23rd 2010)
[ii] N.A. (Wikimedia, 2010) Software Development Process: Software Development Models [Online] World Wide Web, Available From: http://en.wikipedia.org/wiki/Software_development_process#Software_Development_Models (Accessed on December 23rd 2010)
[iii] N.A. (Office of Information Systems, February 17 2005) Selecting a development Approach [Online] PDF Document, Available from http://www.cms.gov/SystemLifecycleFramework/Downloads/SelectingDevelopmentApproach.pdf (Accessed on December 23rd 2010)
[iv] Howe, Denis (FOLDOC, December 24th 2000) Systems Development Life Cycle (Online) Available from: http://foldoc.org/Systems+Development+Life+Cycle (Accessed December 23rd 2010)
[v] MOST Consortium (MOST, 2010) Introduction to the MOST Protocol [Online] World Wide Web, Available from: http://www.mostcooperation.com/technology/introduction/index.html (Accessed on December 23rd 2010)
[vi] N.A. (StackOverflow, N.D.) AJAX Support in Smart Phones [Online] World Wide Web, Available from: http://stackoverflow.com/questions/849850/ajax-support-in-smart-phones (Accessed on December 23rd 2010)