Wednesday, November 16, 2011

Creating a Web Application

Our HelloWorld application needs to be accessible from a browser - it has to be a web application.

For this we need to understand the difference between Desktop and Web Applications.

The main difference is that Desktop applications are 'multi-deploy' and 'single-user'.
Web Applications are 'single-deploy' and 'multi-user'.

Because a Desktop Application is tied to the computer on which it is installed, it enjoys implicit security. Only the user who owns the computer can use the application (assuming the computer is physically secured). Secondly, any data that needs to be persisted can be written to files on that computer. Thirdly, if the installation runs into issues, or there is a bug, only the single user is affected.

Web Applications need to be secured via logins and firewalls. Secondly, data needs to be persisted in a database, because with potentially millions of users using it simultaneously, reading and writing to files will not scale. Thirdly, any downtime or bug affects ALL users - for a business critical application, this is a catastrophe!

Inspite of this, web applications are very popular - how else can google and amazon reach out to millions of users?!

Web applications are lot more challenging to design. The good news is that a lot of solutions have already been found. We will learn about these solutions step by step.

No comments: