A Web application (Web app) is an application program that is stored on a remote server and delivered over the Internet through a browser interface.
With web-based applications, users access the system via a uniform environment—the web browser. While the user interaction with the application needs to be thoroughly tested on different web browsers, the application itself needs only be developed for a single operating system. There’s no need to develop and test it on all possible operating system versions and configurations. This makes development and troubleshooting much easier, and for web applications that use a Flash front end, testing and troubleshooting is even easier.
Unlike traditional applications, web systems are accessible anytime, anywhere, via a PC with an Internet connection, putting the user in charge of where and when they access the application.
The user interface of web-based applications is easier to customize than it is in desktop applications. This makes it easier to update the look and feel of the application, or to customize the presentation of information to different user groups.
In addition to customizing content for user groups, content can also be customized for presentation on any device connected to the internet, including smart Phones, tablets, etc., further extending the user’s ability to receive and interact with information.
Using internet technologies based on industry-wide standards, it’s possible to achieve a far greater level of interoperability between applications than with isolated desktop systems. For example, it is much easier to integrate a web-based shopping cart system with a web-based accounting package than it is to get two proprietary systems to talk to each other. Web-based architecture makes it possible to rapidly integrate enterprise systems, improving work-flow and other business processes.
Installation and maintenance becomes less complicated. Once a new version or upgrade is installed on the host server, all users can access it straight away. There is no need to upgrade each client PC. Rolling out new software can be accomplished more easily, requiring only that users have up-to-date browsers and plugins. And as the upgrades are only performed by an experienced professional to a single server, the results are more predictable and reliable.
Increasing processor capacity also becomes a far simpler operation. If an application requires more power to perform tasks, only the server hardware needs to be upgraded. The capacity of web-based software can be increased by “clustering” or running the software on several servers simultaneously. As workload increases, new servers can be added to the system easily—Google, for example, runs on thousands of inexpensive Linux servers. If a server fails, it can be replaced without affecting the overall performance of the application.
Web-based applications are typically deployed on dedicated servers, which are monitored and maintained by experienced server administrators. This is far more effective than monitoring hundreds or even thousands of client computers, as is the case with new desktop applications.
Any of three core technologies can be used for building web-based applications, depending on the requirements of the application. Open Source platform (predominantly PHP and MySQL), which is best suited to cloud base web applications.