Web Applications & Client-Server Applications
A Web application is different from traditional client-server applications. In client-server application, the client maintains a connection with server while the application is being executed. The client sends and receives data from server. It also checks to see if the connection is active at regular intervals. If the server goes down, the client sends an error message to the user before exiting.
On the other hand, a web-enable application uses internet which is a connection less network. Secondly, Web pages are stateless. When a client makes a request for a page, the web server sends the page to the client. The server does not keep the track of the request even if the request is for the same page.
In a typically two-tire client client-server application, the application connects to a data source on the server. In a three-tire system, data source can be accessed indirectly. The application access a server program on the intranet or internet. The server program connects to the data source and process the required data. The data return to the client application. The client does not connect directly to the data source.
Web Application Requirements:
The architecture and requirements to develop a Web-enabled application is also different from traditional client-server applications. A Web-enabled application cannot work as isolated application. It requires several networks and application components to deliver the desired results to the users.
A client machine is connected to Proxy Server with an organization. The proxy Server contain firewalls required to filter information that is being send to and received from the internet or corporate Intranet. A web server provides access to other resources, a database server and other data stores.
Proxy server is software element used to pass network traffic between networks with an organization. Proxy Server contains firewalls required to filter information that is being sent to and received from the internet or intranet. Typically, the client browser sends a request for a page to proxy server. Proxy Server forwards the request to the web server. The Web server processes the request and sends the response to proxy server. The proxy server then sends the response to client browser.
Proxy server is typically used for security purposes. It can configured to monitor request sent to and data received from the internet or intranet.
Most of the Web application use data. The application is required to store, retrieve and maintain data in a database. Typically, the user can search through the database of products and services being offered.
A database server is used to store the data in database. Users can access and manipulate data. A web application can provide the user with the interface to the database. For an example, user can browse through the catalog of an online book store before placing the order for a book. Once an order has been placed, the stocks are updated to show current availability.
The internet is a network of networks that is open to all the users. Many organizations use the internet as an extension of their private’s networks. They provide access to the internal information through the internet. The user may be their own employees or even external users searching for information about an organization. This access cans security problems. Organization has to ensure that only authorized users can access internal information. Similarly, it is very important for the users to be sure that the information they provide is secure. For example, no user can provide his credit card to an unauthorized person. Certificate servers are used to ensure data integrity of the website or application. Data integrity in involve two phases:
- Client and Server Authentication: It can be maintained through the use of digital certificates. These certificates are maintained by certificate server. It ensures that only authorized users are allowed to access the website or an application.
- Data Integrity in Transit: Data that is being transferred over the internet must be secured to prevent unauthorized access. The certificate server uses digital certificates with client and server encryption techniques. For example, Secure Socket Layers (SSL) can be used to ensure data integrity.
Web Application Development Cycle
The phases of web application development are as follows:
- Planning the web application: In this stage, the functionality of the web application is planned. You should identify the audience of the application and where it will be deployed. Users may access the application through intranet, the internet or intranet. It helps in specifying the purpose of the web application. Once the purpose is identified the contents of the application can be defined. Finally, the resources for developing the application are also identified.
- Designing the Web Application: A Web Application my may consists of many projects. It may contain ActiveX components that to be developed and used in the project. In this phase, you create the prototype of web application. The basic theme and layout of the application defined. The HTML or ASP pages for the web application are identified. It is also determined which type of scripts should be used. Visual InterDev Site Diagram can be used to plan the structure of the web application and define the navigation scheme for the project.
- Constructing and Testing the Components of Web Application: In this phase, application components are created such as HTML pages, ASP documents, ActiveX components etc. Visual InterDev has an integrated debugger to debug errors that may occur as the application is being developed and tested.
- Web Application Development: In this phase, various components of the application are deployed on the Web Sever. Users now access to the web application.
- Production and Maintenance: In this phase, the contents of the web application are updated at regular intervals. The web application can also be upgraded if required.