| From the good old days of the tag, to the | | | | authors can easily allow the Web server to |
| XML-savvy Web services of today, applied | | | | interact with other software and hardware |
| Internet language has come a long way. And | | | | applications to transmit and receive data |
| nowhere is this more evident than in the | | | | over the Internet. Popular server side |
| field of Web application development. As the | | | | scripting languages used with Windows servers |
| Internet grew into a major player on the | | | | are ASP/ASP. net, Java Server Pages, and |
| global economic front, so did the number of | | | | PHP.UNIX/Linux Web ServersUNIX has long been |
| investors who were interested in its | | | | known for its reliability. It is a powerful |
| development. So, you may wonder, how does the | | | | and robust Web server and operating system. |
| Internet continue to play a major role in | | | | Unix is the server of choice for many |
| communications, media and news? The key words | | | | large-scale Websites that need content |
| are: Web Application Projects.Web | | | | management systems or receive an extremely |
| applications are business strategies and | | | | high volume of traffic. Popular server side |
| policies implemented on the Web through the | | | | scripting languages for UNIX are Java Server |
| use of User, Business and Data services. | | | | Pages, PERL, PHP, and CORBAEvery scripting |
| These tools are where the future lies. In | | | | language has its pros and cons. As I'm not |
| this article, I'll take you through the | | | | writing a book here, I'll use the ASP model |
| essential phases in the life cycle of a Web | | | | as my language of illustration. When working |
| application project, explain what options you | | | | with Windows servers, there are several |
| have, and help you formulate a plan for | | | | important parameters that the developer needs |
| successful Web application endeavors of your | | | | to throw into the equation, including |
| own. First, though, let's take a brief | | | | security, scalability, speed and application |
| overview of Web applications.Who Needs Web | | | | design. So below I'm going to help you |
| Applications and Why?There are many entities | | | | formulate a successful plan to accomplish all |
| that require applications for the Web-one | | | | kinds of Web projects.Planning for a |
| example would be Business-to-Business | | | | Successful Web Development Project |
| interaction. Many companies in the world | | | | |
| today demand to do business with each other | | | | In order to drastically minimize the risk of |
| over secure and private networks. This | | | | project failure, I've always approached my |
| process is becoming increasingly popular with | | | | application development projects in the |
| a lot of overseas companies who outsource | | | | following sequence.1. Identify business logic |
| projects to each other. From the simple | | | | and entitiesStart by gathering information on |
| process of transferring funds into a bank | | | | everything you have. If you are going to be |
| account, to deploying a large scale Web | | | | working with databases, begin by enumerating |
| services network that updates pricing | | | | how many entities will be used in the |
| information globally, the adoption of a Web | | | | business logic. For example, if your program |
| applications infrastructure is vital for many | | | | implements sales data, a sales ticket would |
| businesses.The Web Application ModelThe Web | | | | be an entity.Once you've identified all your |
| application model, like many software | | | | entities, establish a clear guideline for |
| development models, is constructed upon 3 | | | | their relationships. This can be done via |
| tiers: User Services, Business Services and | | | | presentations, flowcharts or even reports.2. |
| Data Services. This model breaks an | | | | Create a functional specification and project |
| application into a network of consumers and | | | | planThis part, in my opinion, is the most |
| suppliers of services.The User Service tier | | | | important part of the project. Functional |
| creates a visual gateway for the consumer to | | | | specifications (or functional specs) are a |
| interact with the application. This can range | | | | map, or blueprint for how you want a |
| from basic HTML and DHTML to complex COM | | | | particular Web application to look and work. |
| components and Java applets.The user services | | | | The spec details what the finished product |
| then grab business logic and procedures from | | | | will do, user interaction, and its look and |
| the Business Services. This tier can range | | | | feel.An advantage of writing a functional |
| from Web scripting in ASP/PHP/JSP to server | | | | spec is that it streamlines the development |
| side programming such as TCL, CORBA and PERL, | | | | process. It takes discrepancies and guesswork |
| that allows the user to perform complex | | | | out of the programming process, because the |
| actions through a Web interface.The final | | | | level of detail that goes into the plan makes |
| tier is the Data Service layer. Data services | | | | it possible to minimize the misunderstanding |
| store, retrieve and update information at a | | | | that's usually associated with project |
| high level. Databases, file systems, and | | | | mishaps. See examples of well written |
| writeable media are all examples of Data | | | | functional specs at Once the functional spec |
| storage and retrieval devices. For Web | | | | is finished, a project plan must be devised. |
| applications, however, databases are most | | | | A project plan is a timeline of tasks and |
| practical. Databases allow developers to | | | | events that will take place during the |
| store, retrieve, add to, and update | | | | project. The project or program manager is |
| categorical information in a systematic and | | | | normally the person who creates a project |
| organized fashion.Choosing the Right | | | | plan, and their primary focus is to detail |
| ProjectChoosing the right types of projects | | | | task notes while being able to accommodate |
| to work on is an extremely important part of | | | | scheduling and resource information. You can |
| the Web application development | | | | download a sample Excel file for a project |
| plan.Assessing your resources, technical | | | | plan at 3. Bring the application model into |
| skills, and publishing capabilities should be | | | | playAs discussed earlier, the application |
| your first goal. Taking the 3 tiers into | | | | model consists of 3 tiers - The User, |
| consideration, devise a list of all available | | | | Business and Data service tiers, each of |
| resources that can be categorically assigned | | | | which serves a substantial |
| to each tier.The next consideration should be | | | | purpose.Practically speaking, it's always |
| the cost. Do you have a budget with which to | | | | best to start with the data tier, because |
| complete this project? How much will it cost | | | | you've already identified your entities and |
| you to design, develop and deliver a complete | | | | understand their relationships. The data tier |
| project with a fair amount of success? These | | | | can be an SQL server database, a text file, |
| are questions that should be answered before | | | | or even the powerful and robust Oracle. |
| you sign any deals or contracts.Let's look at | | | | Create tables, relationships, jobs, and |
| an example. A company called ABC needs to | | | | procedures depending on what platform you |
| develop a Web application that will display | | | | have chosen. If the data is a warehouse (i.e. |
| sales information created by different sales | | | | the data already exists and does not depend |
| agents. The data is updated daily through a | | | | on real time interaction), then make sure |
| completely automated process from all 3 | | | | that new and additional data can be added |
| service tiers. The client tells you that this | | | | securely and in a scalable fashion.A quick |
| entire project must be done in ASP/SQL server | | | | tip: using views in SQL server/Oracle can |
| and that you should host the application as | | | | improve dramatically the productivity and |
| well.After assessing all your resources, you | | | | performance of your application. They |
| and your team come to a conclusion that the | | | | increase speed because they are "stored |
| company is unable to do data backups on a | | | | queries" that don't have a physical |
| daily basis. After further discussion, you | | | | existence.The Business services tier, in my |
| realize that this is a very important part of | | | | opinion, is the heart of the application. It |
| the setup for your client, and you should not | | | | involves the implementation of business logic |
| risk taking a chance with the project. It's | | | | into the scripting or programming language.At |
| very likely that you will be more prepared | | | | this stage, make sure you've already set up |
| next time around, when a similar project | | | | your environment for testing and debugging. |
| lands on your desk, so you decline the job | | | | Always test on at least 2 instances in your |
| and recommend someone else who has the | | | | application, after all, what may work |
| capabilities to do it right now.The Phases in | | | | perfectly for you, may not do so well on |
| a Web Application ProjectThe Web application | | | | other platforms or machines. ASP, XML, PHP, |
| development process has 4 phases:Envisioning | | | | JSP and CGI are some examples of server side |
| the nature and direction of the | | | | scripting languages used at the business |
| projectDevising the planDevelopmentTesting, | | | | service level. Whichever language you choose, |
| support and stabilityLet's look at each of | | | | make sure that it's capable of handling all |
| these in more detail.1. Envisioning the | | | | the business logic presented in the |
| nature and direction of the projectIn this | | | | functional specification.The last is the user |
| phase, the management and developers assigned | | | | tier, which is absolutely vital for the |
| to the project come together and establish | | | | interactive and strategic elements in the |
| the goals that the solution must achieve. | | | | application. It provides the user with a |
| This includes recognizing the limitations | | | | visual gateway to the business service by |
| that are placed on the project, scheduling, | | | | placing images, icons, graphics and layout |
| and versioning of the application. By the end | | | | elements in strategic areas of interest, most |
| of this phase, there should be clear | | | | commonly, based on management research. If |
| documentation on what the application will | | | | you'll be developing the user tier yourself, |
| achieve.2. Devising the planIn this phase, | | | | be sure to have studied your competition. The |
| you and your team must determine the "how's" | | | | last thing you need is for your application |
| of the application.What scripting language is | | | | to look exactly the same as someone else's.4. |
| most appropriate, which features must be | | | | Develop a support schemeBeing able to support |
| included, and how long will it take? These | | | | and stabilize your application is very |
| are some of the questions that must be | | | | important. Define a procedure call for cases |
| answered through this planning phase. The | | | | of failure, mishaps or even downtime. Give |
| main tangents at this point are the project | | | | your customers the ability to contact you in |
| plan and functional specification. The | | | | the case of an emergency relating to the |
| project plan determines a timeframe of events | | | | program.A good example of a support scheme is |
| and tasks, while the functional specification | | | | a ticket tracking system. This system allows |
| outlines in detail how the application will | | | | users to file cases pertaining to a support |
| function and flow.3. DevelopmentOnce the | | | | request and the support team, then makes the |
| project plan and functional specification are | | | | case track able. This means that the request |
| ready, a baseline is set for the development | | | | is identifiable by a unique code or number. |
| work to begin. The programmer/s or Web | | | | Although ticket-tracking systems are normally |
| developer/s begin coding, testing and | | | | used by hosting companies or large scale |
| publishing data. This phase establishes the | | | | ASP's (Application Service Providers), they |
| data variables, entities and coding | | | | still serve a valuable purpose in helping |
| procedures that will be used throughout the | | | | keep the application stable.Over to You...So |
| remainder of the project. A milestone | | | | there you have it - a framework from which |
| document is prepared by the development team, | | | | you can begin to plan and develop your own |
| which is then handed to management for | | | | successful Web applications.Web applications |
| review.4. Testing, support and stabilityThe | | | | will be around for a long time to come. As we |
| stability phase of the application project | | | | move further on into the future, they will |
| mainly focuses on testing and the removal of | | | | become less manual and more automated. This |
| bugs, discrepancies and network issues that | | | | will eventually lead to new kinds of |
| may otherwise cause the application to fail. | | | | research, but for now, we can be happy with |
| It is here that policies and procedures are | | | | the fact that it is this that drives the |
| established for a successful support | | | | Web.Caesar Fernandes is currently the |
| system.Knowing Your Options and Using them | | | | Business Development Manager at Iridium Plus |
| Wisely | | | | Technologies, Kuwait's leading web and IT |
| | | | services organization, where he is in charge |
| Ok, now that you have an understanding of | | | | of shaping the company's business strategies, |
| the architecture and procedures behind Web | | | | sales and marketing campaigns and their |
| application development, let's look at what | | | | Enterprise SEO services. Prior to Iridium |
| technical options you'll need to consider for | | | | Plus, Caesar helped develop several |
| the development process itself.Windows Web | | | | developmental and research based web |
| ServersMicrosoft has built a loyal customer | | | | applications for multi nationals such as |
| base on one important factor - their | | | | Radioshack and Lee Jeans both in the United |
| easy-to-use software. Windows NT/2000/XP Web | | | | States and in Kuwait, and has over 10 years |
| servers are very fast and easy to administer. | | | | of experience in web project management, |
| The fact that the operating system is a | | | | application development and SEO. |
| Windows shell means that administrators and | | | | |