In this new age of the network economy, businesses and organizations are in pursuit of new opportunities, and they are finding new ways of conducing business using the Internet. They look for technology solutions that reduce costs and improve efficiency. They must at the same time, ensure that their exposed information assets remain secure, without sacrificing the quality and productivity of the existing system.
The lure of deploying business web applications in a highly compressed time frame and/or lack of expertise, often draw IT pseudo-professional away from following a structured methodology to coping with the intricacies of transient technologies. Complexity now is at the head of the challenges facing both the organization and the developers, forcing them to inventing clever tricks to overcome their limitations.
To set the stage for our discussion, we will incapsulate in 4 layers, requirements that are often assumed but not well-defined as part of the process. Those layers are:
The Presentation Layer
The Search Engine Optimization Layer
The Functionality or Business Logic Layer
The Security Layer
The Presentation Layer
For years we have held up Google as the ultimate example of the "simplicity rules" mantra. But simplicity is not what users are experiencing and want to experience on the web as a whole. They expect rich, personalized, visual, user-driven, interactive web as a whole; while at the same time maintain a mastery of the fundamentals of designing a solid, usable site and offering well-organized information.
Studies indicate that novice users make almost instantaneous and quite persistent judgments about websites on the sole basis of the site's "look and feel". Those studies also demonstrated that this judgment happens in about one-twentieth of a second, invalidating the premise that the information architecture is what makes an impact. Equally demonstrated that initial impressions also tend to be persistent. Research also shows that poor designs affect a site's credibility, and a stellar content and good services may lose its relevance if the design and layout were loosely conceived.
Web application specialists need to invest time and resources into presentation and find new ways of engaging users to their content and services. Richness, interactivity, usability, accessibility and personalization rule.
The Search Engine (SOE) Layer
In 1989 the storage, access, and searching of document collections was revolutionized by an invention named the World Wide Web, which became the ultimate signal of the dominance of the Information Age. As was natural, this inordinate hope was followed by an excessive depression for users looking for the proverbial needle in an enormous, ever-growing information haystack.
All this changed in 1998 when link analysis hit the information retrieval scene allowing the most successful search engines to dramatically improve the quality of search results, and web searchers religiously used and promoted their favorite engines.
Today it is fashionable to talk about Web 2.0 which Wikipedia defines as is a term describing the trend in the use of World Wide Web technology and web design that aims to enhance creativity, information sharing, and, most notably, collaboration among users. These concepts have led to the development and evolution of web-based communities and hosted services, such as social-networking sites, wikis, blogs, and fokksonomies.
From the Semanticist perspective, the World Wide Web has migrated from a web where people was talking to machines(Web 1.0) to a web where people is talking to people through machines(Web 2.0). The failure of so many companies during the dotcom era in opposition to the actual strength of Internet commerce, is a warning for organizations about the way they do or think business is done on Internet, while threatening them to add new layers of difficulty. Nowadays, the reality is: If you want to emerge as a hero from the dust of the next Internet collapse, you need to work with information retrieval and search engines. Treat them well and they will treat you friendly. Play according to their rules and they will work for you.
It is important to mention that Search engines are not equipped with optical character recognition (OCR). In other words, a Website should be content-oriented; while text embedded in a GIF, Flash animation, Java applet are strongly not recommended cause they are not indexed.
According to Tim O'Reilly, the Internet has evolved to become a platform, thus mandates to be incorporated into the development software process.
The Functionality Layer
It is often difficult to separate a web application's functionality from its quality. In the Information Technology, quality refers to the totaly of features and characteristics of a product or service which bear on its ability to satisfy a given need.
The overall responsibility of a modern and competitive web application is to execute as fast as necessary in an asynchronous world using the smallest amount of code and with the highest level of predictability or reliability.
A system is considered reliable, if its probability of not failing in a specified length of time is very low, typically less than 1%. By definition, in an asynchronous world, inputs are unpredictable and probe the robustness of the software constantly.
Today, Web servers deliver services that go far beyond the original ones. For instance, in a modern-day automobile, there is more computational power than there was in the Apollo 13 moon lander. Every time a piston in the engine expands (input), the car has to measure temperature and pressure to decide how much gasoline and air to inject into the cylinder before the next compression (data processing). If the car is running at 130 mph on a deserted highway, it will force the car's computer to make that decision thousands of times per second because the car will be running at 6000 RPM. Every reading will supply different values that require different decisions.
Modern Web sites are set up as Web applications, which means sophisticated Internet software now exploit in a secure manner, features implemented by Web servers such as to store data across Web page requests (input) to keep them connected, forwarding intelligent responses (data processing). Thus, the Internet platform puts into individuals, Businesses and organizations' hands huge conextivy and processing powers to extend their off-line commerce online or/and to strengthen their existing online one. But before this can happen, the web application has a critical score to play in this concert. Its functionality is a sine qua non of satisfaction.
In order for a software to meet its inherent challenges, it has to be designed and deployed by professionals following structured and proven methodologies that provide systematic results. This is an essential consideration and when it is missing or erode as the system evolves, the resulting program grows barnacles of complexity, often with frequent and inexplicable failures. The end-user is then lost in a mass of spurious details and hopefully develops workarounds. Infortunately, a system built on flawed concepts cannot be rescued no mater the amount of refactoring. The problem, as Bertrand Meyer once called it, is wishful thinking. The computer's processor admits no vagueness whatsoever, and gross errors are quickly revealed.
A powerful, dependable, and enjoyable-to-use software is the one whose architecture, design and development are based on proven methods with clear and simple concept.
The Security Layer
Security must be omnipresent throughout your infrastructure in order for you to begin to feel your application or service is secure. To incorporate security into your software, it should be baked into the development process right from the beginning.
Security requirements are the key drivers for the reliability and availability of the business services provided by an online portal. (see security job number 1 on my site).
Conclusion
Building a Web application still represents an engineering problem. There are common challenges associated with all successful Internet application such as a good understanding of the problem and the necessary skills to fullfil the requirements.
We have grouped those requirements in four layers in an intent to outline the complexity of the problem. We started with the presentation layer, which aimed to demonstrate the relevance of the first impression of a web application to its users and to emphasized that even thought we cannot judge a book by its cover, we all admit that the cover make us recognize the book. However, we also saw that working with the presentation layer has its constraints if we consider the actual importance of the SEO layer. We then passed to the Functionality layer, which represents the central point of any application. Finally, the Security layer is mentioned as a key aspect of the application, and when it is absent, it might cause the annulation of all effort in other areas.
The point is: "Today, web application is at once easier and more challenging than ever"
Thank you for voting. If your vote meets our 