Monday, November 12, 2007

Ajax: The Shiny Future of the Web

Ajax, Asynchronus JavaScript and XML, will have a significant impact on the development of web forms in the near future. Ajax is not so much a new technology but a way of extending and blending existing technology standards and extending the scope of their operation.



  • JavaScript

  • XMLHttpRequest - JavaScript object with an API that interfaces with HTTP protocol

  • XML

  • HTML/CSS

  • Document Object Model(DOM)

  • Extensible Stylesheet Language and Transformation(XLST)



In short, Ajax allows dynamic web pages to update without refreshing the browser. Ajax handles data in the background to minimize server transactions providing a rich-client interface (Holzner, 2006). It seems to me to be the logical crossroads of the above listed technologies. The server-side web services of the past are beginning to creak under their own weight requiring strong servers and fast connections to maintain web service connectivity. The shift to client-side processing and dynamic web forms that can alter content after download without connection to the server or browser refresh.


JavaScript facilitates the dynamic power of Ajax via the specific JavaScript object HTTPRequest (Zakas, McPeak, Fawcett, 2006). This object that facilitates an API via the HTTP protocol is often referred to as the Ajax engine. All user interaction is carried out via JavaScript calls to the Ajax engine. The Ajax engine processes and initiates all requests instead of the web browser.


Ajax, given some time, will revolutionize the way business looks at web applications, services, and forms. When all the functionality of a rich client application can be joined with the connectivity of a web based application the result is an all "pro" solution existing free of any "cons." Personally, one of the biggest problems I have with web based applications is the constant refreshing and cumbersome, irregular performace. Ajax will provide web applications without these issues. I see a big increase in the market of application hosting over the next 5-10 years in which enterprise businesses will outsource the hosting of business applications and run all information off a leased line connection to an off-site server farm.


I actually disapprove of the above prognostication. A business should not hand away "the keys to the kingdom" to some outfit providing application hosting. There are too many variables and possibilities to worry about for someone like me to allow application hosting off-site. I like my equipment and services nearby, where I can keep an eye, and a lock, on them.

Tuesday, November 6, 2007

OOP and HTML

Most of my time in our new Web Development class has been spent learning how HTML and scripting languages interface with one another to provide dynamic functionality. While searching through my volumes of IT tomes, I found an explanation that succinctly describes the realtionship between JavaScript and HTML. HTML creates the objects with tags whilst JavaScript manipulates the objects using the dot operator. While sifting through the mountains of information available on my library drive, I also discovered that several languages can be used for CGI scripting. If I wanted to, within the tags I could use good old C, PERL, VB, JavaScript, whatever language my heart or mind desires.

The main issue I am having now is with ASP.NET pages and how they relate to the class hierarchy within a solution framework. I understand the concept of objects and classes but when the using the higher level languages, everything is a class or object. I know in ASP that each form is its own class derived from a prototype that isn't even instantiated.

What I am gathering from years of striving to learn programming and lower system runlevels, is that all computers, in terms of programming and operation, have a pattern of functionality. I can't quite articulate what this pattern is yet but I am convinced it exists. Syntactical differences between languages are starting to disappear; the lines between languages are becoming hopelessly blurred into one big category called "Computer." I am beginning to grasp the fact that once you know C or C++ well enough, you basically know all the major OOP languages. JAVA is so close in similarity to C++ it's not even funny. My advice is to get your one programming lanuage learned real well and move on to the others without fear.