The Web Applications Development 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 the most practical. Databases allow developers to store, retrieve, add to and update categorical information in a systematic and organized fashion.
In this phase, we (management and developers) establish the goals of the project. This includes recognizing the limitations placed on the project, scheduling, and versioning of the application. By the end of this phase, there should be clear documentation on what the application will achieve.
In this phase, the development team must determine the blueprint for the application. What scripting language is most appropriate, which features must be included, and how long will it take? These are some of the questions that must be answered through this planning phase. The main tangents at this point are the project plan and functional specification. The project plan determines a timeframe of events and tasks, while the functional specification outlines in detail how the application will function and flow.
Once the project plan and functional specification are ready, a baseline is set for the development work to begin. The programmer or web developer begins coding, testing and publishing data. This phase establishes the data variables, entities and coding procedures that will be used throughout the remainder of the project. A document is prepared by the development team, which is then handed to management for review.
The stability phase of the application project mainly focuses on testing and the removal of bugs, discrepancies and network issues that may otherwise cause the application to fail. It is here that policies and procedures are established for a successful support system.