Who Needs Web Applications and Why?
There are many entities that require applications for the Web-one example would be Business-to-Business interaction. Many companies in the world today demand to do business with each other over secure and private networks. This process is becoming increasingly popular with a lot of overseas companies who outsource projects to each other. From the simple process of transferring funds into a bank account, to deploying a large scale Web services network that updates pricing information globally, the adoption of a Web applications infrastructure is vital for many businesses.
The Web Application Model
The Web application model, like many software development models, is constructed upon 3 tiers: User Services, Business Services and Data Services. This model breaks an application into a network of consumers and suppliers of services.
The User Service tier creates a visual gateway for the consumer to interact with the application. This can range from basic HTML and DHTML to complex COM components and Java applets.
The user services then grab business logic and procedures from the Business Services. This tier can range from Web scripting in ASP/PHP/JSP to server side programming such as TCL, CORBA and PERL, that allows the user to perform complex actions through a Web interface.
The final tier is the Data Service layer. Data services store, retrieve and update information at a high level. Databases, file systems, and writeable media are all examples of Data storage and retrieval devices. For Web applications, however, databases are most practical. Databases allow developers to store, retrieve, add to, and update categorical information in a systematic and organized fashion.
Choosing the Right Project
Choosing the right types of projects to work on is an extremely important part of the Web application development plan.
Assessing your resources, technical skills, and publishing capabilities should be your first goal. Taking the 3 tiers into consideration, devise a list of all available resources that can be categorically assigned to each tier.
The next consideration should be the cost. Do you have a budget with which to complete this project? How much will it cost you to design, develop and deliver a complete project with a fair amount of success? These are questions that should be answered before you sign any deals or contracts.
Let's look at an example. A company called ABC needs to develop a Web application that will display sales information created by different sales agents. The data is updated daily through a completely automated process from all 3 service tiers. The client tells you that this entire project must be done in ASP/SQL server and that you should host the application as well.
After assessing all your resources, you and your team come to a conclusion that the company is unable to do data backups on a daily basis. After further discussion, you realize that this is a very important part of the setup for your client, and you should not risk taking a chance with the project. It's very likely that you will be more prepared next time around, when a similar project lands on your desk, so you decline the job and recommend someone else who has the capabilities to do it right now.
The Phases in a Web Application Project
The Web application development process has 4 phases:
- Envisioning the nature and direction of the project
- Devising the plan
- Testing, support and stability