Many features of this site (and many others) use Javascript-dependent tools throughout the layout. To view our site in the best possible manner, please upgrade to Firefox 3.0 or higher, or Internet Explorer 7.0 or higher. If you are currently using a javascript supported browser, follow your browser's instructions to enable javascript.
As websites and web applications evolve, the versatility of functionality that is traditionally found in desktop applications has become more prevalent. One of the contributing factors to this progression is AJAX, or Asynchronous Javascript and XML. AJAX leverages the built-in ability of most web browsers that enable rich client UI interactivity and real-time data updates. AJAX departs from older forms of web page behaviour where the whole page must be reloaded for information to be passed between the client browser and web server. Instead of waiting for the entire web page to be refreshed, part of the page can be updated without the need for a complete postback, and without wasting bandwidth. The result is a web page that provides data updates more instantaneously and presents itself in a more user-friendly manner.
Object-Oriented Programming involves the construction of data structures that are used to embody the functionality of a program. The data structures define both the type of data involved with the data structure, as well as the types of operations that can be applied to the data structure. These data structures are referred to as objects. At the heart of OOP is the ability for programmers to develop relationships between classes which can lead to code re-use and fast program development. Another big advantage of OOP compared to older procedural development methadologies, is that once modules of code are developed they need not be changed, but simply used to create a new module that inherits similar features from its parent module. This makes OOP applications easier to modify.
The first step in OOP is the defintion of objects within a (software) system. In OOP, web application design is approached by the recognition of various objects interacting with each other to produce a certain result. This methodology is in contrast to older approaches which simply endeavoured to produce a logical construct where data is inputted, processed, and outputted in a new format. Objects are identified and defined as more familiar entities such as Customers or Products. The process by which objects within an application are outlined and the relationship between the objects are defined is known as data modelling.