People look towards the internet in order to get information at a more productive and cost-effective rate. From the very beginning, the goal of Internet technology has been a dream to use the Internet as a universal medium for exchanging information over computer networks. Web Application is an application that is accessed via the Web browser over a network such as the Internet or an intranet.
An example of such an application would be an online store accessed via Netscape Navigator or Internet Explorer. Perhaps you are already familiar with Amazon.com, which has developed a proprietary "Web Store" application to sell books and compact discs online.
How to Design your own Web Application?
The Web application development process has 4 phases:
1. Envisioning the nature and direction of the project – the management and developers assigned to the project establish the goals that the solution must achieve. A Common Sense Approach to Web Application Design (New Rider Press, 2006), has a suggestion, one that echoes Donald Norman’s advice: “Ignore the demands of specific audiences and make the product work for anyone by focusing on the activity instead of the user.”
The trick to designing effective support for an activity is to develop a rich picture of what the activity is about, what it involves, and what participants are trying to accomplish.
2. Devising the plan - a designated team determines the workings of the application, such as which features should be included, what scripting language to use, and how long will the project take? Microsoft’s Chris Capossela put it, “When we asked [what users wanted in] Office, nine times out of ten, they named something…already in the product; they just couldn’t find it.” Don Norman expressed the root of the problem this way: “Listening to customers is always wise, but acceding to all their requests can lead to overly complex designs....[that become] more complex and less understandable with each revision.”
All human activity is hierarchical and can be understood at three levels of analysis: activity, action, and operation. An Activity Map represents how various activities fit together and provides a rich picture of their composition in terms of actions and operations. The application can be accordingly designed.
- Google Docs : Create and share your work online
- Upload from and save to your desktop
- Edit anytime, from anywhere
- Pick who can access your documents
- Share changes in real time
- Files are stored securely online
Microsoft Office Online Marketplace
3. Development - web programmers begin the coding, testing and publishing of the data. This is when things like data variables, entities and coding procedures are established.
Applications are usually broken into logical chunks called "tiers", where every tier is assigned a role. Traditional applications consist only of 1 tier, which resides on the client machine, but web applications lend themselves to a n-tiered approach by nature. Though many variations are possible, the most common structure is the three-tiered application.
In its most common form, the three tiers are called presentation, application and storage, in this order. A web browser is the first tier (presentation), an engine using some dynamic Web content technology (such as ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Perl, Python, Ruby on Rails or Struts2) is the middle tier (application logic), and a database is the third tier (storage). The web browser sends requests to the middle tier, which services them by making queries and updates against the database and generates a user interface.
For more complex applications, a 3-tier solution may fall short, and you may need a n-tiered approach, where the greatest benefit is breaking the business logic, which resides on the application tier, into a more fine-grained model. For example, creating a separate business logic tier. Or adding an integration tier that separates the data tier from the rest of tiers by providing an easy-to-use interface to access the data.
you would access the client data by calling a "list_clients()" function instead of making a SQL query directly against the client table on the database. That allows replacing the underlying database without changing the other tiers.
There are some who view a web application as a two-tier architecture. This can be a "smart" client that performs all the work and queries a "dumb" server, or a "dumb" client that relies on a "smart" server. The client would handle the presentation tier, the server would have the database (storage tier), and the business logic (application tier) would be on one of them or on both. While this increases the scalability of the applications and separates the display and the database, it still doesn't allow for true specialization of layers, so most applications will outgrow this model.
4.Testing, support and stability - all code and network connections are thoroughly tested using professional testing procedures. Policies and procedures are established for a successful support.
Web applications undergo the same unit, integration and system testing as traditional desktop applications. But because web application clients vary so greatly, teams might perform some additional testing, such as:
- Performance, Load, and Stress
- HTML/CSS validation
Advantages and Disadvantages of Web Application Development
Browser applications typically require little or no disk space on the client, upgrade automatically with new features, integrate easily into other web procedures, such as email and searching. They also provide cross-platform compatibility (i.e., Windows, Mac, Linux, etc.) because they operate within a web browser window.
Standards compliance is an issue with any non-typical office document creator, which causes problems when file sharing and collaboration becomes critical. Also, browser applications rely on application files accessed on remote servers through the Internet. Therefore, when connection is interrupted, the application is no longer usable. Google Gears is a platform to ameliorate this issue and improve the usability of browser applications.
Just as with a traditional desktop application, web applications have varying levels of risk. A personal home page is much less risky than, for example, a stock trading web site. For some projects security, software bugs, etc. are major issues. If time to market, or technical complexity is a concern, documentation, test planning, change control, requirements analysis, architectural description and formal design and construction practices can mitigate risk.
What is the future of Web Application Development?
Although Web application frameworks have come a long way during the course of the last few years, there are still outstanding issues with currently available frameworks that aggravate existing problems in Web application development and deployment.
What does scripting language mean?
- Separation of content from presentation: Foremost among the outstanding issues is the difficulty that arises when content and presentation are mixed. When this mixture occurs, collisions are bound to occur between those responsible for the development and maintenance of a Web application, namely web page designers and programmers.
- Tools used to develop Web applications: especially front-end design tools, need to catch up with the rest of the technology, and support integration and cooperation with these frameworks.
- Keeping Complex Processing Out of the Page: The page is not the appropriate place for complex business logic, or even for deciding which of several possible views should be presented. If such processing is required, its place is within the application code
- Drag and drop widgets to build Web applications, in minutes, with minimal code
It means the core set of protocols and languages associated with Web applications.
This includes, of course,
which are fundamental to the creation and transmission of Web pages.
It also includes the older Internet protocols like
Protocols used for message transfer like
- HTTP (Hypertext Transfer Protocol) and
- HTML (Hypertext Mark-up Language),
Plus advanced protocols and languages like XML.
Additionally, it includes knowledge of databases and multimedia presentation, since many sophisticated Web applications make use of these technologies extensively.
They must be familiar with
- relational databases,
- graphic design
- server technology,
- information architecture
Web Application Development is the future of the Web. “The system is the network" - so a system is as good as the network its connected to. A standalone sys is as good as a paper weight. With such a connected workplace emerging, and collaboration being emphasised on every step of the way, web applications are the real deal with thousands embracing it every day.