Web Application Development: Mawaqaa’s Guide to Success


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 Application Projects.

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 user services then grab business logic and procedures from the Business Services. This tier can range from Web scripting in ASP/PHP/JSP to server side programming such as TCL, CORBA and PERL, that allows the user to perform complex actions through a Web interface.

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.

After assessing all your resources, you and your team come to a conclusion that the company is unable to do data backups on a daily basis. After further discussion, you realize that this is a very important part of the setup for your client, and you should not risk taking a chance with the project. It’s very likely that you will be more prepared next time around, when a similar project lands on your desk, so you decline the job and recommend someone else who has the capabilities to do it right now.

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 management and developers assigned to the project 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 documentation on what the application will achieve.

2. Devising the plan

In this phase, you and your team 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. The programmer/s or Web developer/s 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. A milestone document is prepared by the development team, which is then handed to management for review.

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.

Web Application Development – A Guide to Success

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/Linux Web Servers

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 Websites 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

Every scripting language has its pros and cons. As I’m not writing a book here, I’ll use the ASP model as my language of illustration. When working with Windows servers, there are several important parameters that the developer needs to throw into the equation, including security, scalability, speed and application design. So below I’m going to help you formulate a successful plan to accomplish all kinds of Web projects.

Planning for a Successful Web Development Project

In order to drastically minimize the risk of project failure, I’ve always approached my application development projects in the following sequence.

1. Identify business logic and entities

Start by gathering information on everything you have. If you are going to be working with databases, begin by enumerating how many entities will be used in the business logic. For example, if your program implements sales data, a sales ticket would be an entity.

Once you’ve identified all your entities, establish a clear guideline for their relationships. This can be done via presentations, flowcharts or even reports.

2. Create a functional specification and project plan

This part, in my opinion, is the most important part of the project. Functional specifications (or functional specs) are a map, or blueprint for how you want a particular Web application to look and work. The spec details what the finished product will do, user interaction, and its look and feel.

An advantage of writing a functional spec is that it streamlines the development process. It takes discrepancies and guesswork out of the programming process, because the level of detail that goes into the plan makes it possible to minimize the misunderstanding that’s usually associated with project mishaps. See examples of well written functional specs at RayComm.com.

Once the functional spec is finished, a project plan must be devised. A project plan is a timeline of tasks and events that will take place during the project. The project or program manager is normally the person who creates a project plan, and their primary focus is to detail task notes while being able to accommodate scheduling and resource information. You can download a sample Excel file for a project plan at Method123.com.

3. Bring the application model into play

As discussed earlier, the application model consists of 3 tiers – The User, Business and Data service tiers, each of which serves a substantial purpose.

Practically speaking, it’s always best to start with the data tier, because you’ve already identified your entities and understand their relationships. The data tier can be an SQL server database, a text file, or even the powerful and robust Oracle. Create tables, relationships, jobs, and procedures depending on what platform you have chosen. If the data is a warehouse (i.e. the data already exists and does not depend on real time interaction), then make sure that new and additional data can be added securely and in a scalable fashion.

A quick tip: using views in SQL server/Oracle can improve dramatically the productivity and performance of your application. They increase speed because they are “stored queries” that don’t have a physical existence.

The Business services tier, in my opinion, is the heart of the application. It involves the implementation of business logic into the scripting or programming language.

At this stage, make sure you’ve already set up your environment for testing and debugging. Always test on at least 2 instances in your application, after all, what may work perfectly for you, may not do so well on other platforms or machines. ASP, XML, PHP, JSP and CGI are some examples of server side scripting languages used at the business service level. Whichever language you choose, make sure that it’s capable of handling all the business logic presented in the functional specification.

The last is the user tier, which is absolutely vital for the interactive and strategic elements in the application. It provides the user with a visual gateway to the business service by placing images, icons, graphics and layout elements in strategic areas of interest, most commonly, based on management research. If you’ll be developing the user tier yourself, be sure to have studied your competition. The last thing you need is for your application to look exactly the same as someone else’s.

4. Develop a support scheme

Being able to support and stabilize your application is very important. Define a procedure call for cases of failure, mishaps or even downtime. Give your customers the ability to contact you in the case of an emergency relating to the program.

A good example of a support scheme is a ticket tracking system. This system allows users to file cases pertaining to a support request and the support team, then makes the case track able. This means that the request is identifiable by a unique code or number. Although ticket-tracking systems are normally used by hosting companies or large scale ASP’s (Application Service Providers), they still serve a valuable purpose in helping keep the application stable.

Over to You…

So there you have it – a framework from which you can begin to plan and develop your own successful Web applications.

Web applications will be around for a long time to come. As we move further on into the future, they will become less manual and more automated. This will eventually lead to new kinds of research, but for now, we can be happy with the fact that it is this that drives the Web.

Best Windows SharePoint Hosting development Wikis in SharePoint Hosting sites with WSS 3.0


Cheap SharePoint hosting with WSS 3.0 offers the user fantastic tools for collaboration; developing wikis in SharePoint Hosting Sites with WSS 3.0 is one such method of collaborating. SharePoint 3.0 hosting allows team members to have access to all the information and documents they require at any given time.

In WSS 3.0 you can create a wiki for specific group of people to quickly capture and share ideas by creating simple pages within SharePoint and linking all these pages together. Adding wikis in SharePoint hosting allows team members to follow best practices and group insights.

Creating a wiki within SharePoint 3.0 can act as a great tool for capturing knowledge, as wikis encourage all team members to participate. A wiki within WSS 3.0 can help your team collect ideas, assemble content from numerous sources, and plan together as a team. Use of wikis within SharePoint 3.0 is a first-rate idea for brainstorming. Wikis are well known for “group editing”. Wikis within hosted SharePoint can be used to create designs, manage information, data bases, and create instruction guides.

To add a wiki to your SharePoint WSS team site simply click under the “Site Actions” tab and click on the “Wiki Page Library”. Wikis in hosted SharePoint are very easy to create, annotate and edit, they also have the ability to track changes and team member contributions.

Wikis in SharePoint hosting and SharePoint services are built on the Windows Server 2003, which provides organizations with the ability to build easily scaleable, web-based applications for business. These are specifically designed to meet the growing and changing needs of any organization.

Using wikis within the WSS 3.0 environment will help you stay on top of assignments wherever you may be with a Microsoft Windows Mobile®, WAP, cHTML, or xHTML enabled mobile device. In this way you can review or update your hosted Sharepoint web site, wikis, task lists, post to your blog, and also send photos via e-mail from camera devices.

Web Hosting & Web Development: Unravel the Technobabble and Create a Great Site


If you’ve ever browsed the World Wide Web and wondered how you could take your claim on the Internet, like the millions of others that have done so already, then web hosting can provide you with the services to do just that. The Internet is a great way of sharing information and it is possible for you to take a portion of the web and make it your own. This article introduces the term “web hosting” and provides some useful tips for web development once you’ve obtained some web space.

What is the World Wide Web?

The “World Wide Web” is the network of computers from all over the world that communicate with each other using the HTTP protocol, a language that allows the transmission of web documents. Be careful as this term is not synonymous with the “Internet” because it is defined as a network of networks, where the computers communicate with protocols other than HTTP. The web is what you see on your Internet browser, the web pages complete with graphics, sound and other information. All this has got to come from somewhere, and this is where web hosting comes in.

Web Hosting

The information that you see from your web browser is contained in web pages. These web pages are kept on computers called web servers. Web hosting is about the storage of the web pages so that people can access them. It is possible to host your own websites yourself but the reasons stopping most people doing this is that there are issues to consider with having the right hardware and software to successfully host your web pages. Your web pages will take a certain amount of space, users will need to download each page to view them and your Internet connection needs to be fast to offer good performance to your viewers. Using specialized companies that offer web hosting capabilities on their web servers will take most of these worries away from you but you will need to choose wisely and weigh up the costs and your needs. In addition to having access to a web server, you will also need to register a domain name (for a cost) that uniquely identifies your website.

What Web Hosting Can Do For You

The most basic service that web hosting offers is that it exposes your web pages for others to see. The other services are: email capabilities that allow for email to be received and sent from your server; database capabilities that allow for large amounts of information to be updated and accessed on the web; and dynamic content which allows for users to interact with the web pages you’ve made.

Website Development

Poorly designed websites will most likely turn away users and harm the credibility of the information it contains. Thought should be put in on the way it looks and the way you intend your users to interact with the content. It is also recommended for more complex websites, a structured development process should be followed. Here is a guide to the logical steps of web development:

• Requirements Analysis: What is the purpose of the website? What content should it contain?

• Design: How should the pages be linked? What structure should they take? How should the pages interact with the user?

• Implementation: This step is the actual coding of the websites in accordance to the previous websites.

• Testing: Does the website do what it should?

• Maintenance: Is the information on the website up-to-date?

Some useful hints for web development below are taken from software quality aspects but they apply to the development of websites as well. They are described in terms of web development:

Reliability: Is the website reliable? Do faults allow for the system to continue running?

Robustness: How does the website respond to incorrect input?

Performance: How fast does the web page respond to user’s actions? Is it efficient in processing requests and inputs?

Usability: Is the website easy to navigate and understand?

Maintainability: Is the website easy to change? Can new functionality be added?

Portability: What software requirements does the website require? Will this limit the amount of potential users?

Understandability: How well do you understand the website you’ve developed?

When designing your website, keep these quality aspects in mind as they will help you develop pages worth visiting. How to choose the way to host your website is half of the problem, the other half is to create a website that people would want to visit and come back to. Knowledge of producing a good design can help you get the most out of your creations.