Web Application Development - A Guide to Success

From the good old days of the tag, to themeans that administrators and authors can easily
XML-savvy Web services of today, applied Internetallow the Web server to interact with other
language has come a long way. And nowhere is thissoftware and hardware applications to transmit and
more evident than in the field of Web applicationreceive data over the Internet. Popular server side
development. As the Internet grew into a majorscripting languages used with Windows servers are
player on the global economic front, so did theASP/ASP. net, Java Server Pages, and PHP.UNIX
number of investors who were interested in itsLinux Web ServersUNIX has long been known for its
development. So, you may wonder, how does thereliability. It is a powerful and robust Web server and
Internet continue to play a major role inoperating system. Unix is the server of choice for
communications, media and news? The key wordsmany large-scale Websites that need content
are: Web Application Projects.Web applications aremanagement systems or receive an extremely high
business strategies and policies implemented on thevolume of traffic. Popular server side scripting
Web through the use of User, Business and Datalanguages for UNIX are Java Server Pages, PERL,
services. These tools are where the future lies. InPHP, and CORBAEvery scripting language has its pros
this article, I'll take you through the essential phasesand cons. As I'm not writing a book here, I'll use the
in the life cycle of a Web application project, explainASP model as my language of illustration. When
what options you have, and help you formulate aworking with Windows servers, there are several
plan for successful Web application endeavors ofimportant parameters that the developer needs to
your own. First, though, let's take a brief overview ofthrow into the equation, including security, scalability,
Web applications.Who Needs Web Applications andspeed and application design. So below I'm going to
Why?There are many entities that requirehelp you formulate a successful plan to accomplish all
applications for the Web-one example would bekinds of Web projects.Planning for a Successful Web
Business-to-Business interaction. Many companies inDevelopment Project
the world today demand to do business with eachIn order to drastically minimize the risk of project
other over secure and private networks. Thisfailure, I've always approached my application
process is becoming increasingly popular with a lot ofdevelopment projects in the following sequence.1.
overseas companies who outsource projects to eachIdentify business logic and entitiesStart by gathering
other. From the simple process of transferring fundsinformation on everything you have. If you are going
into a bank account, to deploying a large scale Webto be working with databases, begin by enumerating
services network that updates pricing informationhow many entities will be used in the business logic.
globally, the adoption of a Web applicationsFor example, if your program implements sales data,
infrastructure is vital for many businesses.The Weba sales ticket would be an entity.Once you've
Application ModelThe Web application model, likeidentified all your entities, establish a clear guideline for
many software development models, is constructedtheir relationships. This can be done via presentations,
upon 3 tiers: User Services, Business Services andflowcharts or even reports.2. Create a functional
Data Services. This model breaks an application into aspecification and project planThis part, in my opinion,
network of consumers and suppliers of services.Theis the most important part of the project. Functional
User Service tier creates a visual gateway for thespecifications (or functional specs) are a map, or
consumer to interact with the application. This canblueprint for how you want a particular Web
range from basic HTML and DHTML to complex COMapplication to look and work. The spec details what
components and Java applets.The user services thenthe finished product will do, user interaction, and its
grab business logic and procedures from the Businesslook and feel.An advantage of writing a functional
Services. This tier can range from Web scripting inspec is that it streamlines the development process.
ASP/PHP/JSP to server side programming such asIt takes discrepancies and guesswork out of the
TCL, CORBA and PERL, that allows the user toprogramming process, because the level of detail that
perform complex actions through a Webgoes into the plan makes it possible to minimize the
interface.The final tier is the Data Service layer. Datamisunderstanding that's usually associated with
services store, retrieve and update information at aproject mishaps. See examples of well written
high level. Databases, file systems, and writeablefunctional specs at Once the functional spec is
media are all examples of Data storage and retrievalfinished, a project plan must be devised. A project
devices. For Web applications, however, databasesplan is a timeline of tasks and events that will take
are most practical. Databases allow developers toplace during the project. The project or program
store, retrieve, add to, and update categoricalmanager is normally the person who creates a
information in a systematic and organizedproject plan, and their primary focus is to detail task
fashion.Choosing the Right ProjectChoosing the rightnotes while being able to accommodate scheduling
types of projects to work on is an extremelyand resource information. You can download a sample
important part of the Web application developmentExcel file for a project plan at 3. Bring the application
plan.Assessing your resources, technical skills, andmodel into playAs discussed earlier, the application
publishing capabilities should be your first goal. Takingmodel consists of 3 tiers - The User, Business and
the 3 tiers into consideration, devise a list of allData service tiers, each of which serves a substantial
available resources that can be categorically assignedpurpose.Practically speaking, it's always best to start
to each tier.The next consideration should be thewith the data tier, because you've already identified
cost. Do you have a budget with which to completeyour entities and understand their relationships. The
this project? How much will it cost you to design,data tier can be an SQL server database, a text file,
develop and deliver a complete project with a fairor even the powerful and robust Oracle. Create
amount of success? These are questions that shouldtables, relationships, jobs, and procedures depending
be answered before you sign any deals oron what platform you have chosen. If the data is a
contracts.Let's look at an example. A company calledwarehouse (i.e. the data already exists and does not
ABC needs to develop a Web application that willdepend on real time interaction), then make sure that
display sales information created by different salesnew and additional data can be added securely and in
agents. The data is updated daily through aa scalable fashion.A quick tip: using views in SQL
completely automated process from all 3 serviceserver/Oracle can improve dramatically the
tiers. The client tells you that this entire project mustproductivity and performance of your application.
be done in ASP/SQL server and that you should hostThey increase speed because they are "stored
the application as well.After assessing all yourqueries" that don't have a physical existence.The
resources, you and your team come to a conclusionBusiness services tier, in my opinion, is the heart of
that the company is unable to do data backups on athe application. It involves the implementation of
daily basis. After further discussion, you realize thatbusiness logic into the scripting or programming
this is a very important part of the setup for yourlanguage.At this stage, make sure you've already set
client, and you should not risk taking a chance withup your environment for testing and debugging.
the project. It's very likely that you will be moreAlways test on at least 2 instances in your
prepared next time around, when a similar projectapplication, after all, what may work perfectly for
lands on your desk, so you decline the job andyou, may not do so well on other platforms or
recommend someone else who has the capabilities tomachines. ASP, XML, PHP, JSP and CGI are some
do it right now.The Phases in a Web Applicationexamples of server side scripting languages used at
ProjectThe Web application development process hasthe business service level. Whichever language you
4 phases:Envisioning the nature and direction of thechoose, make sure that it's capable of handling all the
projectDevising the planDevelopmentTesting, supportbusiness logic presented in the functional
and stabilityLet's look at each of these in morespecification.The last is the user tier, which is
detail.1. Envisioning the nature and direction of theabsolutely vital for the interactive and strategic
projectIn this phase, the management andelements in the application. It provides the user with
developers assigned to the project come togethera visual gateway to the business service by placing
and establish the goals that the solution must achieve.images, icons, graphics and layout elements in
This includes recognizing the limitations that are placedstrategic areas of interest, most commonly, based
on the project, scheduling, and versioning of theon management research. If you'll be developing the
application. By the end of this phase, there should beuser tier yourself, be sure to have studied your
clear documentation on what the application willcompetition. The last thing you need is for your
achieve.2. Devising the planIn this phase, you andapplication to look exactly the same as someone
your team must determine the "how's" of theelse's.4. Develop a support schemeBeing able to
application.What scripting language is mostsupport and stabilize your application is very
appropriate, which features must be included, andimportant. Define a procedure call for cases of failure,
how long will it take? These are some of themishaps or even downtime. Give your customers the
questions that must be answered through thisability to contact you in the case of an emergency
planning phase. The main tangents at this point arerelating to the program.A good example of a support
the project plan and functional specification. Thescheme is a ticket tracking system. This system
project plan determines a timeframe of events andallows users to file cases pertaining to a support
tasks, while the functional specification outlines inrequest and the support team, then makes the case
detail how the application will function and flow.3.track able. This means that the request is identifiable
DevelopmentOnce the project plan and functionalby a unique code or number. Although ticket-tracking
specification are ready, a baseline is set for thesystems are normally used by hosting companies or
development work to begin. The programmer/s orlarge scale ASP's (Application Service Providers), they
Web developer/s begin coding, testing and publishingstill serve a valuable purpose in helping keep the
data. This phase establishes the data variables,application stable.Over to You...So there you have it -
entities and coding procedures that will be useda framework from which you can begin to plan and
throughout the remainder of the project. A milestonedevelop your own successful Web applications.Web
document is prepared by the development team,applications will be around for a long time to come.
which is then handed to management for review.4.As we move further on into the future, they will
Testing, support and stabilityThe stability phase ofbecome less manual and more automated. This will
the application project mainly focuses on testing andeventually lead to new kinds of research, but for
the removal of bugs, discrepancies and networknow, we can be happy with the fact that it is this
issues that may otherwise cause the application tothat drives the Web.Caesar Fernandes is currently
fail. It is here that policies and procedures arethe Business Development Manager at Iridium Plus
established for a successful support system.KnowingTechnologies, Kuwait's leading web and IT services
Your Options and Using them Wiselyorganization, where he is in charge of shaping the
Ok, now that you have an understanding of thecompany's business strategies, sales and marketing
architecture and procedures behind Web applicationcampaigns and their Enterprise SEO services. Prior to
development, let's look at what technical options you'llIridium Plus, Caesar helped develop several
need to consider for the development processdevelopmental and research based web applications
itself.Windows Web ServersMicrosoft has built a loyalfor multi nationals such as Radioshack and Lee Jeans
customer base on one important factor - theirboth in the United States and in Kuwait, and has over
easy-to-use software. Windows NT/2000/XP Web10 years of experience in web project management,
servers are very fast and easy to administer. Theapplication development and SEO.
fact that the operating system is a Windows shell