Web Application Development - A Guide to Success

From the good old days of the tag, to the XML-savvydevelopment, let's look at what technical options you'll
Web services of today, applied Internet language hasneed to consider for the development process itself.
come a long way. And nowhere is this more evidentWindows Web Servers
than in the field of Web application development.Microsoft has built a loyal customer base on one
As the Internet grew into a major player on the globalimportant factor - their easy-to-use software.
economic front, so did the number of investors whoWindows NT/2000/XP Web servers are very fast
were interested in its development. So, you mayand easy to administer. The fact that the operating
wonder, how does the Internet continue to play asystem is a Windows shell means that administrators
major role in communications, media and news? Theand authors can easily allow the Web server to
key words are: Web Application Projects.interact with other software and hardware applications
Web applications are business strategies and policiesto transmit and receive data over the Internet. Popular
implemented on the Web through the use of User,server side scripting languages used with Windows
Business and Data services. These tools are whereservers are ASP/ASP. net, Java Server Pages, and
the future lies. In this article, I'll take you through thePHP.
essential phases in the life cycle of a Web applicationUNIX/Linux Web Servers
project, explain what options you have, and help youUNIX has long been known for its reliability. It is a
formulate a plan for successful Web applicationpowerful and robust Web server and operating
endeavors of your own. First, though, let's take a briefsystem. Unix is the server of choice for many
overview of Web applications.large-scale Websites that need content management
Who Needs Web Applications and Why?systems or receive an extremely high volume of
There are many entities that require applications fortraffic. Popular server side scripting languages for UNIX
the Web-one example would be Business-to-Businessare Java Server Pages, PERL, PHP, and CORBA
interaction. Many companies in the world todayEvery scripting language has its pros and cons. As I'm
demand to do business with each other over securenot writing a book here, I'll use the ASP model as my
and private networks. This process is becominglanguage of illustration. When working with Windows
increasingly popular with a lot of overseas companiesservers, there are several important parameters that
who outsource projects to each other. From thethe developer needs to throw into the equation,
simple process of transferring funds into a bankincluding security, scalability, speed and application
account, to deploying a large scale Web servicesdesign. So below I'm going to help you formulate a
network that updates pricing information globally, thesuccessful plan to accomplish all kinds of Web
adoption of a Web applications infrastructure is vital forprojects.
many businesses.Planning for a Successful Web Development Project
The Web Application ModelIn order to drastically minimize the risk of project failure,
The Web application model, like many softwareI've always approached my application development
development models, is constructed upon 3 tiers: Userprojects in the following sequence.
Services, Business Services and Data Services. This1. Identify business logic and entities
model breaks an application into a network ofStart by gathering information on everything you have.
consumers and suppliers of services.If you are going to be working with databases, begin
The User Service tier creates a visual gateway forby enumerating how many entities will be used in the
the consumer to interact with the application. This canbusiness logic. For example, if your program
range from basic HTML and DHTML to complex COMimplements sales data, a sales ticket would be an
components and Java applets.entity.
The user services then grab business logic andOnce you've identified all your entities, establish a clear
procedures from the Business Services. This tier canguideline for their relationships. This can be done via
range from Web scripting in ASP/PHP/JSP to serverpresentations, flowcharts or even reports.
side programming such as TCL, CORBA and PERL,2. Create a functional specification and project plan
that allows the user to perform complex actionsThis part, in my opinion, is the most important part of
through a Web interface.the project. Functional specifications (or functional
The final tier is the Data Service layer. Data servicesspecs) are a map, or blueprint for how you want a
store, retrieve and update information at a high level.particular Web application to look and work. The spec
Databases, file systems, and writeable media are alldetails what the finished product will do, user
examples of Data storage and retrieval devices. Forinteraction, and its look and feel.
Web applications, however, databases are mostAn advantage of writing a functional spec is that it
practical. Databases allow developers to store,streamlines the development process. It takes
retrieve, add to, and update categorical information in adiscrepancies and guesswork out of the programming
systematic and organized fashion.process, because the level of detail that goes into the
Choosing the Right Projectplan makes it possible to minimize the misunderstanding
Choosing the right types of projects to work on is anthat's usually associated with project mishaps. See
extremely important part of the Web applicationexamples of well written functional specs at
development plan.Once the functional spec is finished, a project plan
Assessing your resources, technical skills, and publishingmust be devised. A project plan is a timeline of tasks
capabilities should be your first goal. Taking the 3 tiersand events that will take place during the project. The
into consideration, devise a list of all available resourcesproject or program manager is normally the person
that can be categorically assigned to each tier.who creates a project plan, and their primary focus is
The next consideration should be the cost. Do youto detail task notes while being able to accommodate
have a budget with which to complete this project?scheduling and resource information. You can
How much will it cost you to design, develop anddownload a sample Excel file for a project plan at
deliver a complete project with a fair amount of3. Bring the application model into play
success? These are questions that should beAs discussed earlier, the application model consists of
answered before you sign any deals or contracts.3 tiers - The User, Business and Data service tiers,
Let's look at an example. A company called ABCeach of which serves a substantial purpose.
needs to develop a Web application that will displayPractically speaking, it's always best to start with the
sales information created by different sales agents.data tier, because you've already identified your entities
The data is updated daily through a completelyand understand their relationships. The data tier can be
automated process from all 3 service tiers. The clientan SQL server database, a text file, or even the
tells you that this entire project must be done in ASPpowerful and robust Oracle. Create tables,
SQL server and that you should host the applicationrelationships, jobs, and procedures depending on what
as well.platform you have chosen. If the data is a warehouse
After assessing all your resources, you and your team(i.e. the data already exists and does not depend on
come to a conclusion that the company is unable to doreal time interaction), then make sure that new and
data backups on a daily basis. After further discussion,additional data can be added securely and in a
you realize that this is a very important part of thescalable fashion.
setup for your client, and you should not risk taking aA quick tip: using views in SQL server/Oracle can
chance with the project. It's very likely that you will beimprove dramatically the productivity and performance
more prepared next time around, when a similarof your application. They increase speed because they
project lands on your desk, so you decline the job andare "stored queries" that don't have a physical
recommend someone else who has the capabilities toexistence.
do it right now.The Business services tier, in my opinion, is the heart of
The Phases in a Web Application Projectthe application. It involves the implementation of
The Web application development process has 4business logic into the scripting or programming
phases:language.
Envisioning the nature and direction of the projectAt this stage, make sure you've already set up your
Devising the planenvironment for testing and debugging. Always test on
Developmentat least 2 instances in your application, after all, what
Testing, support and stabilitymay work perfectly for you, may not do so well on
Let's look at each of these in more detail.other platforms or machines. ASP, XML, PHP, JSP and
1. Envisioning the nature and direction of the projectCGI are some examples of server side scripting
In this phase, the management and developerslanguages used at the business service level.
assigned to the project come together and establishWhichever language you choose, make sure that it's
the goals that the solution must achieve. This includescapable of handling all the business logic presented in
recognizing the limitations that are placed on thethe functional specification.
project, scheduling, and versioning of the application. ByThe last is the user tier, which is absolutely vital for the
the end of this phase, there should be clearinteractive and strategic elements in the application. It
documentation on what the application will achieve.provides the user with a visual gateway to the
2. Devising the planbusiness service by placing images, icons, graphics and
In this phase, you and your team must determine thelayout elements in strategic areas of interest, most
"how's" of the application.commonly, based on management research. If you'll be
What scripting language is most appropriate, whichdeveloping the user tier yourself, be sure to have
features must be included, and how long will it take?studied your competition. The last thing you need is for
These are some of the questions that must beyour application to look exactly the same as someone
answered through this planning phase. The mainelse's.
tangents at this point are the project plan and4. Develop a support scheme
functional specification. The project plan determines aBeing able to support and stabilize your application is
timeframe of events and tasks, while the functionalvery important. Define a procedure call for cases of
specification outlines in detail how the application willfailure, mishaps or even downtime. Give your
function and flow.customers the ability to contact you in the case of an
3. Developmentemergency relating to the program.
Once the project plan and functional specification areA good example of a support scheme is a ticket
ready, a baseline is set for the development work totracking system. This system allows users to file
begin. The programmer/s or Web developer/s begincases pertaining to a support request and the support
coding, testing and publishing data. This phaseteam, then makes the case track able. This means
establishes the data variables, entities and codingthat the request is identifiable by a unique code or
procedures that will be used throughout the remaindernumber. Although ticket-tracking systems are normally
of the project. A milestone document is prepared byused by hosting companies or large scale ASP's
the development team, which is then handed to(Application Service Providers), they still serve a
management for review.valuable purpose in helping keep the application stable.
4. Testing, support and stabilityOver to You...
The stability phase of the application project mainlySo there you have it - a framework from which you
focuses on testing and the removal of bugs,can begin to plan and develop your own successful
discrepancies and network issues that may otherwiseWeb applications.
cause the application to fail. It is here that policies andWeb applications will be around for a long time to
procedures are established for a successful supportcome. As we move further on into the future, they will
system.become less manual and more automated. This will
Knowing Your Options and Using them Wiselyeventually lead to new kinds of research, but for now,
Ok, now that you have an understanding of thewe can be happy with the fact that it is this that drives
architecture and procedures behind Web applicationthe Web.