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