As the Internet grew into a major player on the global economic front, so did the number of investors who were interested in its development. So, you may wonder, how does the Internet continue to play a major role in communications, media and news? The key words are: Web and Intranet Applications.
Web applications are business strategies and policies implemented on the Web through the use of User, Business and Data services. These tools are where the future lies. In this article, I'll take you through the essential phases in the life cycle of a Web application project; explain what options you have, and help you formulate a plan for successful Web application endeavors of your own. First, though, let's take a brief overview of Web applications.
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 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.
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
- Development
- Testing, support and stability
Let's look at each of these in more detail.
- 1. Envisioning the nature and direction of the project
In this phase, the we come together and establish the goals that the solution must achieve. This includes recognizing the limitations that are placed on the project, scheduling, and versioning of the application. By the end of this phase, there should be clear understanding on what the application will achieve.
- 2. Devising the plan
In this phase, we must determine the "how's" of 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.
- 3. Development
Once the project plan and functional specification are ready, a baseline is set for the development work to begin. We begin 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.
- 4. Testing, support and stability
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.
Knowing Your Options and Using them Wisely
Ok, now that you have an understanding of the architecture and procedures behind Web application development, let's look at what technical options you'll need to consider for the development process itself.
- Windows Web Servers
Microsoft has built a loyal customer base on one important factor - their easy-to-use software. Windows NT/2000/XP Web servers are very fast and easy to administer. The fact that the operating system is a Windows shell means that administrators and authors can easily allow the Web server to interact with other software and hardware applications to transmit and receive data over the Internet. Popular server side scripting languages used with Windows servers are ASP/ASP. net, Java Server Pages, and PHP.
UNIX has long been known for its reliability. It is a powerful and robust Web server and operating system. Unix is the server of choice for many large-scale Web sites that need content management systems or receive an extremely high volume of traffic. Popular server side scripting languages for UNIX are Java Server Pages, PERL, PHP, and CORBA
Unix/Linux is our preferred operating system. Windows operating systems have their place, but we feel the majority of web applications are better suited on a Linux system.
Building web applications for our customers is not just for our Tennessee clients, but we prefer real face time in order to better understand your goals. Please contact us should you have any questions about a project.