Friday, 29 May 2009

WK7:End of the line

What are the hosting solutions?

There are many web hosting solutions in the market. The hosting services allows individuals and organizations to provide their own website accessible via the World Wide Web. In the context of the Rail application, OTBS, we can start with a simple a hosting solution at the development stage. Later, when we move to the production stage, a complex hosting solution for a more comprehensive package that provides database support and application development platforms, is required. According to Wikipedia (2009), the following hosting solutions can be considered for OTBS.

Shared web hosting (development stage) - one's Web site is placed on the same server as many other sites, ranging from a few to hundreds or thousands. Typically, all domains may share a common pool of server resources, such as RAM and the CPU. This solution will be more cost-effective as we can run a few projects one server.


Virtual Dedicated Server (production stage) - It divides server resources into virtual servers, where resources can be allocated in a way that does not directly reflect the underlying hardware. This solution will be more cost-effective as we can run a few projects one server.
Dedicated hosting service - The user gets his or her own Web server and gains full control over it. The user has full administrative access to the box, which means the client is responsible for the security and maintenance of his own dedicated box.
Managed hosting service - the user gets his or her own Web server but is not allowed full control over it. The user is disallowed full control so that the provider can guarantee quality of service by not allowing the user to modify the server or potentially create configuration problems. (Engine Yard provides this service, managed ralis hosting.)

Will our Rails applications run on a cloud computing service in future?

Cloud computing is a new type of hosting platform that allows customers powerful, scalable and reliable hosting based on clustered load-balanced servers and utility billing. Removing single-point of failures and allowing customers to pay for only what they use versus what they could use Wikipedia (2009). Without doubt, OTBS will be moved to the cloud computing service one day as this is the trend for web applications. The internet will be the platform on which the web application run.

Can we make a deployment and maintenance plan by team consensus?

According to Hartl & Prochazka (2007), I work out the following deployment and maintenance plan for OTBS.

Software/Hardware option - Use Mongrel as the OTBS appliaction server and deploy to some flavour of Linux. This is recommended to run Apache in front of a single Mongrel if taking dedicated hosting solution.

Run OTBS in production mode - Deployed OTBS needs to be run in the production environment. The purpose of this section is to practice the steps need to deploy OTBS.

Configure Production Server - Install the same software on the production server that we have running on the development machine and configure them accordingly.

Scaling - Use caching to off load the the production server. Rails has a powerful caching system to help avoid the computational and database access expense of generating dynamic HTML.

Version Control - Capistrano is vey good version control system which can automate deployment and roll back of application source code. It optimises single-server or multiserver deployments.

Debugging
- Use production.log to debug OTBS, the entire application.


References



Hartl, M. & Prochazka, A. 2007, Railspace, Building a social networking site with Ruby on Rails. Addison Wesley Professional, pp.505-516.



Wikipedia 2009, web hosting service, last updated 17 June, Wikimedia Foundation Inc., US, viewed 22 June 2009, <http://en.wikipedia.org/wiki/Web_hosting_service>.

Thursday, 28 May 2009

WK6:Enjoying the Ride

Are we certain that Ruby on Rails is the right platform for Web development?

Ruby on Rails (ROR) is a good choice for the development of OTBS in terms of the cost, flexibility and scalability. ROR is an open source web application framework for the Ruby programming language. In the market, ROR is getting more popular and is welcomed by developers. We can find many plugins and programs on the Internet. Apart from that, the Agile development methodology can enable us to build the scaffolding of OTBS and put it on production within a short time. Later, we can enhance it or add a new module subject to the business needs.

.Net and Java are the most common programming frameworks in the market. Both can be considered to develop OTBS.

Microsoft .NET’s Common Language Runtime (CLR) and Java’s Java Virtual Machine (JVM) are the most popular web application development frameworks. Without installing either one on your computer, many web applications will be able to run on your computer.

The .NET framework's Common Language Runtime (CLR) is much similar to Java Virtual Machine (JVM), in terms of garbage collection, security, just in time compilation (JIT).

Java platform views the Internet world as one language running on different operating systems (OS), whereas .NET framework views the world running on one OS with a programmers having choice of multiple languages. Therefore Java platform interpolates multiple operating systems, and .NET framework interpolates multiple languages. Therefore, SUN Java does not focus on the GUI development as we know the server side programming does not really need GUI. On the contrary, Microsoft dominates the client side desktop market.

So far Microsoft has issued three development tools including C#, VB.NET and C++, including for developments plus five execution containers hosting this runtime, namely: ASP.NET, Windows Shell, VBA scripting host for Office suite, Visual Forms container and IE (Internet Explorer). Much like Java it contains a rich set of API and lib.

Besides, Microsoft has done an excellent job to standardise .Net framework CLI/CLR in European Computer Manufacturing Association (ECMA) and standardise Simple Oject Access protocol (SOAP) through W3C. These will help to take hold the web application development market.


Reference
Banerjee A 2001, .NET framework comparison with Java Architecture, Mindcracker Network, viewed 26 April 2009, <http://www.c-sharpcorner.com/UploadFile/abanerjee/DotNetforJava11292005023419AM/DotNetforJava.aspx>.

Wednesday, 27 May 2009

WK5:Admiring the scenery

Part A: Survey of mobile device capability and Web 2.0 tools

What is Web 2.0?

First of all, we need to have an idea of what Web 2.0 is about. It has been a very hot topic in the Internet world. At this stage, Web 2.0 is still very cloudy and many people (including researchers, developers and users) are having different interpretations on it. I have actually read through a few comtemporary research arcticles and can only give a very general summary based on the majority views.

Without doubt, Web 2.0 encourages interaction and collaborative work through the Internet no matter you are a developer or an user. Nowadays, many popular websites such as FaceBook, Google Maps and My Space are operating according to this concept (O'Reilly 2005). Social networking is one of the outcomes of Web 2.0. From the perspective of developers, web becomes the development platform by which applications the services are delivered (Pilgrim 2008).


Wigand, Benjamin & Birkland (2008) claims that '...Web 2.0 is a paradigm shift how users use the web, a development that questions everything that has been developed and applied so far. Pilgrim (2008) also agrees with the shift in the paradigm of users' behaviour. In addition, he criticises that the rush to embrace Web 2.0 has resulted in many developers overlooking principles of good design and usability established over the last decade. This is an imperative issue for designing OTBS with the concept of web 2.0 but shouldn't go beyond the pre-defined scope.

1.Find out and recommend what type of mobile devices are suitable for:Just the SMS message service;

a.Just the SMS message service;

I have reviewed a few taxi-booking systems in the major cities such as Perth, Ho Chi Minh City, Sinagaporeb and etc. This is practical and economically and technically feasiable to use the SMS message service the OTBS. In the market, there are many taxi booking systems are available and they employs SMS as one of the communication means between the passengers and the service centre.


b.The full user experience via SMS, GPS Taxi tracking and Google Maps

In Ho Chi Minh City, the taxi booking system, DiaDiem integrates the global positioning system (GPS) and touch screen devices inside a vehicle with the ability to communicate with a mobile phone or website. It focuses on three different perspectives: the customer, call center and taxi.The customer will first use a website, a mobile application or an SMS message to place a taxi pickup order. The website will be launched by DiaDiem later. The order placing process is conducted with the support of a DiaDiem software via a transmission medium (SMS, GPRS or Wi-Fi)( TN 2009).


2.Describe any new hardware, networking, software, systems, procedures and personnel that would be needed by the taxi company Website to support this stage 2 development.


Hardware: touch screen devices with GPS in each taxi, Cell phone or wireless devices with GPRS or 3G that can browse Google map

Software: OTBS backend server and WebSMS software used by the service centre; and Google map used by both passengers and drivers

Networking and system: SMS system including WebSMS, GPS system for GPS tracking

Implementation/Training: cost incured on the implementation and training


Part B: The enhanced customer experience through Web 2.0 technology

1.Use a table to describe how the customer experience is improved by:
a.Horizontal scalability (eg ordering a taxi by mobile phone call or SMS, mobile Internet, desktop or laptop computer)
b.Service oriented features (eg SMS updates using location data, knowing the driver’s name before the ride and being greeted by your name etc)
c.Other customer services enabled by Web 2.0 (eg reputation system)

Part C: Online Taxi Business Process Modelling

Apart from the business basics of offering a clean car, safe driving, being on time, consider the business processes involved and construct a Simple Online Taxi business process model using any suitable drawing tool.



References


O'Reilly, T 2005, What Is Web 2.0:Design Patterns and Business Models for the Next Generation of Software, O'Reilly Media, Inc, viewed 27 May 2009,
<http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html>.



Pilgrim, JC 2008, 'Improving the usability of web 2.0 applications', Conference on Hypertext and Hypermedia:Proceedings of the nineteenth ACM conference on Hypertext and hypermedia, Pittsburgh, PA, USA, pp. 239-240, <http://delivery.acm.org/10.1145/1380000/1379144/p239-pilgrim.pdf?key1=1379144&key2=9831173421&coll=GUIDE&dl=GUIDE&CFID=38231369&CFTOKEN=10579826>.



TN 2009, First GPS Integrated Taxi booking system to debut, Vietnam Business Finance, posted 27 April, viewed 6 June 2009, <http://www.vnbusinessnews.com/2009/04/first-gps-integrated-taxi-booking.html>.



Wigand, TR, Benjamin, IR & Birkland, LHJ 2008, 'Web 2.0 and beyond: implications for electronic commerce', ACM International Conference Proceeding Series: Proceedings of the 10th international conference on Electronic commerce, Innsbruck, Austria, vol 342, article 7, also available in pdf format, <http://delivery.acm.org/10.1145/1410000/1409550/a7-wigand.pdf?key1=1409550&key2=9823863421&coll=GUIDE&dl=GUIDE&CFID=38172456&CFTOKEN=67009489>.
Zajicek, M 2007, 'Web 2.0: Hype or Happiness?', ACM International Conference Proceeding Series:Proceedings of the 2007 international cross-disciplinary conference on Web accessibility (W4A), Banff, Canada, vol 225 pp. 35-39, <http://www.w4a.info/2007/prog/k2-zajicek.pdf>.

Sunday, 17 May 2009

Evaluation Report for Assignment 1

Dear all peers,
The following is my elevator pitch for this blog.
I have shared my research on E-system through this blog. I really wrote down my experience of doing the exercise and workshops of course, including my joys and frustrations.

I have been an IT specialist for over 15 years and truly I have gained my expertise through my job. I am good at database management, business process analysis and project implementation. This time is really a good chance for me to extend my knowledge to e-commerce systems. To refresh me a lot even though I have got many troubles to get PHP, MySQL, Apache and Instant Rails to work on my computers. This is a good experience to expose myself to Open Source World and Online community.

I think I have spent quite some time on the research of Online Community or social networking. This is my favourite topic. You can enjoy it.

All the while, I have been very behind in the class. This is the main reason I don’t interact very with my course mates. I do get helps from Sam Kwong and Dennis Leung and refer to their blogs a lot. Like Workshop 3, I found it difficult to complete it until I read through Sam’s blog.

Honestly, the coverage of ITC 594 is very broad and not easy to complete the programming exercise. Anyway, I have been benefitted through the practical work. Now I know the free tools such as MySQL Query Browser, Aptana Studio ... which are not worse than MS SQL Query Analyer, Visual Studio...

If I had more time, I believe I would do much better.

Thank you for reading my blog.

Saturday, 16 May 2009

WK4: Riding the Rails with Ruby

1.)If you are running Instant Rails, you can start Ruby Console Windows as illustrated below:

I execute "dogyears.rb" at Ruby Console Windows as follows:

2.)The difference between Ruby and Javascript in terms of the syntax. Take "If... statement" as an example, there is no "end" for it in Javascript. I extract the script from the dogyears program and rewrite in Javascript. Please see below.

Ruby

if age <> 110
puts "Frankly, I don't believe you."
else

puts "That's #{age*7} in dog years."
end


JavaScript

if (age<>
{
document.write("Negative age?!? I don't think so.");
}
else if (age <> 110)
{
document.write("Frankly, I don't believe you.");
else
{
document.write("That's #{age*7} in dog years.");
}

3.) JavaScript and Ruby both are metaprogramming tools and object oriented programming languages. They have the following similarities:

  • Both are web appliaction development tools.
  • Both are scripting language (lightweight programming language).
  • Both are usually embedded directly into HTML/XML pages
  • Both are interpreted language (means that scripts execute without preliminary compilation)

4.) I have written the programs "catnames.rd" and "fizzbuzz.rd" illustralled as follows:

The results of the above programs are listed below:


Reference

W3Schools n.d., JavaScript Introduction, viewed on 17 May 2009, <http://www.w3schools.com/JS/default.asp>.

Monday, 11 May 2009

WK3: MySQL and Database design

1.)I install the tool, MySQL Query Browser verson 1.2.17. which is not a bad tool. However, later I realise that PhpMyAdmin bundled with Instant Rails (IR) is even better.


I use MySQL Query Browser to execute the script to create a few databases including (OTBS, dev_OTBS and test_OTBS) and created each database a table, "passengers".


I generated the following script from MySQL Query Browser

CREATE TABLE 'otbs'.'passengers' (
'index' int(11) NOT NULL auto_increment,
'name' varchar(20) default NULL,
'job_id' varchar(5) default NULL,
'contact_number' int(8) default NULL,
'suburb_origin' varchar(15) default NULL,
'street' varchar(20) default NULL,
'street_number' int(4) default NULL,
'building' varchar(8) default NULL,
'suburb_destination' varchar(20) default NULL,
'passenger_number' int(1) default NULL,
'taxi_type' varchar(8) default NULL,
'Call_date' date default NULL,
'time_required' varchar(4) default NULL,
PRIMARY KEY ('index'))
ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;




2.)Start "Manage Rails Applications..." from IR

3.)Create the Rails application by entering "rails -d mysql OTBS" at ..railapps>


4.)Hit "Refresh List", check OTBS and run "Start with mongrel"


5.)Test the connection by entering "http://127.0.0.1:3000/"

I need to copy "libmySQL.dll" from \mysql\bin\ to \ruby\bin\ to resolve the following error

I need to config "database.yml" to resolve the following error:

Mysql::Error in Rails/infoController#properties unknown database

Adding the following entries to "database.yml"
development: adapter: mysql encoding: utf8 database: dev_OTBS host: localhost username: root password:

test: adapter: mysql encoding: utf8 database:test_OTBS host: localhost username: root password:

production: adapter: mysql encoding: utf8 database: OTBS host: localhost username: root password:


6.)Create Model for Passenger by typing "ruby script/generate model passenger" at ..railapps\OTBS>

7.)Create Controller for Passenger by typing "ruby script/generate controller passenger" at ..railapps\OTBS>

8.)Install "Scaffold" plugin to create a set controller methods for CRUD operations of OTBS by typing "ruby script/plugin install scaffolding" at ..railapps\OTBS>

9.)Install paginate plugin to work with Scaffolding by typing "ruby script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination"

However, this is not very easy to get it installed on your machine based on my experience. First of all, you need to unblock the snv connection from the firewall of your machine. Secondly, the connection is not very stable and get time out very often. Therefore, I switch to another plugin, "Will_paginate". You can download it from the following website. Unfornately, it doesn't work my version of Ruby (1.8.6). Please don't attempt!


http://github.com/mislav/will_paginate/tree/master


10.)Modify the controller of "passenger" (i.e. passenger_controller.rb) by adding "
scaffold:passenger" (Aptana is a good programming tool!)

11.)Test the connection by entering "http://127.0.0.1:3000/passenger" Geat! I can get it to work eventually. It takes me a week to work it out.

I use Mongrel instead of WEBrick even through most of Ruby tutorials are using WEBrick.

I qouted the definition from (trac n.d.)

What is Mongrel?

Mongrel is a fast HTTP library and server for Ruby that is intended for hosting Ruby web applications of any kind using plain HTTP rather than FastCGI or SCGI. It is framework agnostic and already supports Ruby On Rails, Og+Nitro, Camping, and IOWA frameworks. Mongrel was originally written by Zed A. Shaw.

Trac n.d., What is Mongrel, <http://mongrel.rubyforge.org/>.

Saturday, 9 May 2009

WK2: Understanding of MVC

Ruby on Rails is adopting the principle of Convention over configuration.

What is Convention over configuration?

It is a software design paradigm which seeks to decrease the number of decisions that developers need to make, gaining simplicity, but not necessarily losing flexibility.

When the convention implemented by the tool you are using matches your desired behavior, you enjoy the benefits without having to write configuration files. When your desired behavior deviates from the implemented convention, then you configure your desired behavior. In brief, you would write less code and less repetition (Wikipedia 2009).

What is MVC?

I qouted the following paragrahs from (Squeak 2006).

MVC stands for Model-View-Controller, which is a paradigm that the user input, the modeling of the external world, and the visual feedback to the user are explicitly separated and handled by three types of object, each specialized for its task.

The view manages the graphical and/or textual output to the portion of the bitmapped display that is allocated to its application.

The controller interprets the mouse and keyboard inputs from the user, commanding the model and/or the view to change as appropriate.

The model manages the behavior and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller).

After reading the article, "The Model-View-Controller Design Pattern", I can grasp the concept of MVC much better. It illustrates the application of MVC very well by a simple program design. It describes the responsibilities and the characteristics of Model, View and Controller in the design plus the interactions among those three. The followng illustrate the responsbilities of MVC in the program design.



Source: Moock C (2004) http://www.adobe.com/devnet/flash/articles/mv_controller.html

The MVC paradigm can be applied to a full scale project or just a button on an user interface of an application.


References
Moock C (2004), The Model-View-Controller Design Pattern, Adobe Developer Connection, viewed 10 May 2009, <http://www.adobe.com/devnet/flash/articles/mv_controller.html >.

Squeak 2006, MVC, last updated 16 Jan 2006, Squeak Swiki, viewed 9 May 2009, <http://wiki.squeak.org/squeak/1767>.

Wikipedia 2009, Convention over configuration, Wikipedia, The free encyclopedia, last modified 3 May 2009, Wikimedia Foundation, Inc., US, viewed 10 May 2009, ,<http://en.wikipedia.org/wiki/Convention_over_Configuration>.

Friday, 8 May 2009

WK1: What is "Ruby on Rails"?

First of all, we need to have an overview on "Ruby on Rails".




  • Ruby is a cross-platform interpreted language which has many features in common with other ‘scripting’ languages such as Perl and Python. However, its version of object orientation is more thorough than those languages and, in many respects, it has more in common with the great-granddaddy of ‘pure’ OOP languages, Smalltalk. The Ruby language was created by Yukihiro Matsumoto (commonly known as ‘Matz’) and it was first released in 1995.




  • Rails (often called simply “Rails”) is a framework for building web applications with Ruby.




    • Honestly, it was not easy to get it to work properly. Basically, it is just a development tool and therefore, I need another two components for the MVC project which are the web server and the database. I chose Apache and MySQL as the other two components. I have some exprience with the MVC development approach. The tools I am familiar with are SQL Server, IIS, ASP, VB script and Javascript. I have ever used these tools for the MVC project.

      I have taken hours to install Ruby and MySQL on my Vista machine. I just think my Vista machine is not very stable and also, I am not sure whether I have installed the right version of Ruby and MySQL on it. With such uncertinty in mind, I decided to take a step back and download the comparatively mature version of Apache, MySQL, PHP and Ruby and installed on my another machine on which Windows XP are running. Finally I take a short cut by installing Instant Rails. However, I can't believe I have been struggling for a couple days with the setup of "Ruby on Rails".

      In the first place, I really wanted to take a shortcut by installing "Instant Rails" on XP machine. However, I couldn't get it tp work very well. The problem is I have actually installed MySQL 5, Apache 2 and PHP 5 on my machince and then, I still put on "Instant Rails". Basically, two different versions of the mentioned software are running on my machines. I have been working very hard to resolve the conflicts among them. Then, I switch to my Vista machine and try to install "Instant Rails" again. Before I do this, I need to uninstall MySQL & Ruby from this machine first. I couldn't believe I could still get a strange error. This time the PHP library couldn't be loaded. Eventually, I could manage it to function as expected after a few tries. The following Youtube video clip is an excellent demonstration on installing "Instant Rails" on Vista. Great ! I can move on.

      http://www.youtube.com/watch?v=xbKV1sndLGo&eurl=http%3A%2F%2Fbroadcast%2Eoreilly%2Ecom%2F2008%2F12%2Finstalling%2Dinstant%2Drails%2Don%2Dwi%2Ehtml&feature=player_embedded

      I summerise the steps as follows:

      1.Unzip InstantRails-2.0-win.zip
      2.Click OK to locate config files
      3.Manage Rails Applications
      4.Creata New Rails App...
      5.Create a New Rails Application by typing "rails hello" at command line
      6.Start with Mongrel
      7.Test the host with IE by typing "http://127.0.0.1:3000/"
      8.Diplay "Welcome aboard" web page



      9.Open Ruby Console Window to generate code
      10.Go to application directory (e.g...rails_apps\hello>ruby script/generate controller hello index)
      11.Open Windows EXplorer to view the files of hello
      12.test "hello" with IE by typing "http://127.0.0.1:3000/hello"

      Great! This is the first web application I created by Ruby on Rails

      References

      Collingbourne, H. 2008, The Little Book Of Ruby, 2nd edn, Sapphiresteel Software, Dark Neon Ltd., also available as pdf file, viewed 9 MArch 2009,

      Saturday, 2 May 2009

      XML Introduction

      It is relatively simple to verify that a document is well-formed or validated XML, because the rules of well-formedness and validation of XML are designed for portability of tools. The idea is that any tool designed to work with XML files will be able to work with XML files written in any XML language (or XML application). You can use Firefox or Internet Explorer (which is embedded with XML parser) to load XML documents. Besides you can parse the XML documents in Ruby (Wikipedia 2009).
      If the XML schema for business sector can be standardised, it will greatly improve the data exchange in e-commerce transactions. As I mentioned earlier, HKIPD provides the efiling services to filers so they can choose to file their Trademark/Patent/Design applications via the internet. Basically, the filers need to convert all the supporting documents to the XML format according to the schema issued by HKIPD and submit them together with the application to the designated website. For patent applications, sometimes the supporting documents are over hundred or even thousand pages and can be found from other overseas IP offices. If the XML schema is standardised in the Intellectual Property context, this will enhance the data exchange among within the industry.
      W3C defines "SMIL" as follows:
      The Synchronized Multimedia Integration Language (SMIL, pronounced "smile") enables simple authoring of interactive audiovisual presentations. SMIL is typically used for "rich media"/multimedia presentations which integrate streaming audio and video with images, text or any other media type. SMIL is an easy-to-learn HTML-like language, and many SMIL presentations are written using a simple text-editor.
      With using it, the multimedia presentations on the Internet will be handled by the same standard. This will greatly ease the multimedia development over the Internet.

      References

      W3C 2003, Synchronized Multimedia, W3C Interaction Domain, viewed on 28 April 2009, <
      http://www.w3.org/AudioVideo/>.

      Wikipedia 2009, XML, Wikipedia, The free encyclopedia, last modified 27 April 2009, Wikimedia Foundation, Inc., US, viewed 30 April 2009, <http://en.wikipedia.org/wiki/XML>.

      Friday, 1 May 2009

      Application Server Platforms in e-commerce

      The top Database Systems suppliers have issued their e-commerce products/solutions. Refer to the following table, you would see MySQL and its partners have issued the most e-commerce applications. All the while, MySQL is an open source database system as being claimed "The world's most popular open source database" in its official website.




      What is AJAX?

      I summarise the information about AJAX from (W3Schools n.d.). AJAX stands for Asynchronous JavaScript and XML, which is not a new programming language, but a technique for creating better, faster, and more interactive web applications. With AJAX, your JavaScript can communicate directly with the server, using the JavaScript XMLHttpRequest object. With this object, your JavaScript can trade data with a web server, without reloading the page. AJAX uses asynchronous data transfer (HTTP requests) between the browser and the web server, allowing web pages to request small bits of information from the server instead of whole pages.The AJAX technique makes Internet applications smaller, faster and more user-friendly.

      The web standards used in AJAX are well defined, and supported by all major browsers. AJAX applications are browser and platform independent. In other words, the web pages that developed by AJAX can be run across different platforms (e.g. .NET or Java). Now "Web 2.0" gives us a direction of future development of the Internet. I quote the following statement from (Wikipedia 2009).

      Web 2.0 is the business revolution in the computer industry caused by the move to the Internet as a platform, and an attempt to understand the rules for success on that new platform.

      Banerjee (2001) believed that Java and .Net will converge one day as a single platform before the concept of "Web 2.0" was introduced in 2004. The Internet is becoming a develpment platform. It is moving a step forward by using AJAX to develop the internet applications. AJAX can enrich the web interfaces so that the interactivities of web applications are highly improved. For example, Flickr adopted the Web 2.0 cencept. Nowadays enterprises are adopting the approach of social network. Instant Message is widely used in some commerical organisation. It also means AJAX will be taking an important role in the enterprise software architecture. The corporate interanet or extranet will be moving to this direction.

      The mode-view-controller (MVC) is the paradigm of distributed system. In MVC, the model represents the information (the data access) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business logics used to manipulate the data to and from the model (Wikipedia 2009).

      Actionscript and Ruby on Rail both object oriented pragramming language and use MVC paradigm to develop web based applications.

      References

      Banerjee A 2001, .NET framework comparison with Java Architecture, Mindcracker Network, viewed on 26 April 2009, <http://www.c-sharpcorner.com/UploadFile/abanerjee/DotNetforJava11292005023419AM/DotNetforJava.aspx>.

      W3Schools n.d., AJAX Introduction, viewed on 24 April 2009, <http://www.w3schools.com/Ajax/ajax_intro.asp>.

      Wikipedia 2009, Web 2.0, Wikipedia, The free encyclopedia, last modified 1 May 2009, Wikimedia Foundation, Inc., US, viewed 29 April 2009, <http://en.wikipedia.org/wiki/Web_2.0>.

      Wikipedia 2009, Model–view–controller, Wikipedia, The free encyclopedia, last modified 1 May 2009, Wikimedia Foundation, Inc., US, viewed 29 April 2009, <http://en.wikipedia.org/wiki/Model-view-controller>.