From the good old days of the
As the Internet became a major player on the global economic front, the number of investors interested in its development also grew. You may wonder: how does the internet continue to play a major role in communication, media and news? The key words are: Web application projects.
Web applications are business strategies and policies that are implemented on the web through the use of user, business, and data services. These tools are where the future lies. In this article, I will walk you through the essential stages of a web application project lifecycle, explain what options you have, and help you formulate a plan for your own successful web application efforts. But first let’s give a brief overview of web applications.
Who needs web applications and why?
There are many entities that need 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 through secure and private networks. This process is becoming increasingly popular with many foreign companies that outsource projects to each other. From the simple process of transferring money to a bank account to setting up a large-scale web services network that keeps pricing information up-to-date worldwide, adopting an infrastructure for web applications is vital for many companies.
The web application model
The web application model, like many other software development models, is built on 3 levels: user services, business services and data services. This model splits an application into a network of consumers and service providers.
The User Service layer creates a visual gateway for the consumer to interact with the application. This can range from simple HTML and DHTML to complex COM components and Java applets.
The user services then extract business logic and procedures from the business services. This layer can range from web scripting in ASP / PHP / JSP to server side programming such as TCL, CORBA and PERL, which allow the user to perform complex actions through a web interface.
The last layer is the data service layer. Data services store, retrieve and update information at a high level. Databases, file systems and writable media are all examples of data storage and retrieval devices. However, databases are most practical for web applications. Databases allow developers to store, retrieve, supplement and update categorical information in a systematic and organized manner.
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 opportunities should be your first goal. Considering the 3 levels, think of a list of all available resources that can be categorically assigned to each layer.
The next consideration should be the cost. Do you have a budget to complete this project? How much does it cost you to design, develop and deliver a complete project with considerable success? These are questions that need to be answered before you sign deals or contracts.
Let’s take an example. A company called ABC must develop a web application that displays sales information created by various sales agents. The data is updated daily through a fully automated process of all 3 service layers. The client tells you that this whole project has to be done in ASP / SQL server and you also need to host the application.
After reviewing all of your resources, you and your team will conclude that the company is unable to perform daily data backups. After further discussion, you realize that this is a very important part of the setup for your client, and you shouldn’t take the chance to take a chance on the project. It’s very likely that you’ll be better prepared next time when a similar project lands on your desk, so you decline the job and recommend someone else who has the options to do it now.
The phases in a web application project
The web application development process consists of 4 phases:
To visualize the nature and direction of the project
Come up with the plan
Testing, support and stability
Let’s take a closer look at each of these.
1. Insight into the nature and direction of the project
In this phase, the management and developers assigned to the project come together and determine the goals that the solution must achieve. This includes recognizing the limitations placed on the project, planning and versioning of the application. At the end of this phase, there should be clear documentation of what the application will achieve.
2. Come up with the plan
In this phase, you and your team must determine the “how” of the application.
Which scripting language is most suitable, which functions should be included and how long does it take? These are some of the questions to be answered during this planning phase. The main tangent lines on this point are the project plan and the functional specification. The project plan determines a timeframe of events and tasks, while the functional specification describes in detail how the application will function and flow.
Once the project plan and functional specification are ready, a baseline is established to begin development work. The programmer (s) or web developer (s) start coding, testing and publishing data. This phase establishes the data variables, entities and encryption procedures that will be used throughout the rest of the project. The development team prepares a milestone document, which is then submitted to management for review.
4. Testing, support and stability
The stability phase of the application project mainly focuses on testing and removing bugs, discrepancies and network problems that could cause the application to fail otherwise. Policies and procedures for a successful support system are formulated here.
Know your options and use them wisely
Okay, now that you understand the architecture and procedures behind web application development, let’s take a look at what technical options to consider for the development process itself.
Windows web servers
Microsoft has built a loyal customer base based on one important factor: their easy-to-use software. Windows NT / 2000 / XP web servers are very fast and easy to manage. The fact that the operating system is a Windows shell means that administrators and authors can easily allow the web server to communicate with other software and hardware applications to send 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 require content management systems or that receive extremely high traffic. Popular server-side script languages for UNIX include Java Server Pages, PERL, PHP, and CORBA
Each scripting language has its advantages and disadvantages. Since I don’t write a book here, I use the ASP model as my illustration language. When working with Windows servers, there are several important parameters that the developer must process in the equation, including security, scalability, speed and application design. So below I will help you formulate a successful plan to realize all kinds of web projects.
Planning for a successful web development project
To drastically minimize the risk of project failure, I have always approved my application development projects in the following order.
1. Identify business logic and entities
Start collecting information about everything you have. If you are going to work with databases, you must first list how many entities will be used in the business logic. For example, if your program implements sales data, a sales ticket is an entity.
Once you have identified all of your entities, establish a clear guideline for their relationships. This can be done through presentations, flow charts or even reports.
2. Make a functional specification and a project plan
In my opinion, this part is the most important part of the project. Functional specifications (or functional specifications) are a map or blueprint for how you want a particular web application to look and work. The specification describes what the finished product will do, user interaction and the look and feel.
An advantage of writing a functional specification is that it streamlines the development process. It takes differences and guesswork out of the programming process, because the level of detail that is in the plan allows to minimize the misunderstanding usually associated with project accidents. View examples of well-written functional specifications at RayComm.com.
When the functional specification is ready, a project plan must be drawn up. 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 planning and resource information. You can download a sample Excel file for a project plan from Method123.com.
3. Bring the application model into play
As discussed earlier, the application model consists of 3 levels: the user, business and data service layers, each serving a substantial purpose.
Practically speaking, it is always best to start with the data layer, because you have already identified your entities and understand their relationships. The data layer can be an SQL server database, a text file, or even the powerful and robust Oracle. Create tables, relationships, jobs and procedures depending on which platform you have chosen. If the data is a warehouse (i.e. the data already exists and does not depend on real-time interaction), ensure that new and additional data can be added securely and scalably.
A quick tip: using views in SQL server / Oracle can dramatically improve the productivity and performance of your application. They increase the speed because they are ‘saved searches’ that have no physical existence.
The Business Services layer is the heart of the application in my opinion. It includes the implementation of business logic in the script 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, which works perfectly for you after all, may not work as well on other platforms or machines. ASP, XML, PHP, JSP, and CGI are some examples of server-side scripting languages used at the enterprise service level. Whichever language you choose, make sure it can handle all the business logic of the functional specification.
The latter is the user layer, which is absolutely essential 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, usually based on management research. If you are going to develop the user level yourself, make sure you have studied your competition. The last thing you need is for your application to look exactly like someone else’s.
4. Develop a support scheme
Supporting and stabilizing your application is very important. Define a procedure call for malfunctions, accidents or even stoppages. Give your customers the opportunity to contact you in case of an emergency related to the program.
A good example of a support scheme is a ticket tracking system. This system allows users to submit cases related to a support request and the support team, and then track the case. This means that the request can be recognized by a unique code or number. While ticket tracking systems are normally used by hosting companies or large-scale ASPs (Application Service Providers), they still serve a valuable purpose in keeping the application stable.
To you …
So there you have it – a framework from which you can start planning and developing your own successful web applications.
Web applications will be around for a long time. As we go further in the future, they will become less manual and more automated. This will eventually lead to new types of research, but for now we can be happy that this is the internet.