24/7 Solutions - Architecture of server application for the virtual and dedicated hosting
Base architecture of a web-server
At an early stage of development www, an overall objective of application was, granting of information HTML by means of
HTTP. The environment offering such functionalities, consists of system the client-server where the client is a web-browser
which displays HTML-pages, and the server is a web-server which gives to the client the requested information. In general,
HTML-pages and the information connected with them, for example pictures, have the static nature and are stored in file
system of a web-server. For information interchange with each other the client and a server use the HTTP-report. Soon,
the special mechanism which provides means for creation of dynamic web-pages, - the common gateway interface
(CGI or r-CGI) has been added. Owing to this mechanism, installations of a web-server can be configured in such a manner
that inquiries of the certain client are transferred an external executed file by the server machine. This executed file,
it is frequent no more than the simple script, dynamically creates web-page. The well-known example of the similar mechanism
use is a counter of visitors on some web-pages, showing what the user under the account, requested
this page, you are. Usually, as language of scripts for CGI it is used PERL.
Fig 1: Base architecture of a web-server.
Today the majority of web-sites use this scheme: the overwhelming majority of web-pages - static also are stored in file
systems of server machines while any or only a few pages can be instantly generated. All advantage of this architecture
consists that it is based on rather simple and steady report (HTTP) for connection "client-server", HTML which provides
some-links, but connection of widely distributed information having greater opportunity and the general mechanism for
creation of a dynamic content. Moreover, it is easily sold. Actually, all usual web-servers can be configured for work,
according to this scheme.
More than 80% of worldwide web-servers use one of three main products: Apache (55%), Microsoft IIS (Internet information
Server) - 22 %, and Netscape Enterprise Server - 6%.
Development of a web-server base architecture.
The traditional architecture of a web-server provides easy and fast loading a static web-site. While it does not have not
enough the functions demanded by additional web-applications. All these functions mainly from areas:
- Management of data;
- Management of a dynamic content (CMS on the basis of server scripts);
- Management of a session;
- Safety (use of technology Secure Socket Layer (SSL);
- Efficiency, expansibility and reliability (introduction fail-over mechanisms).
New functions are added to traditional architecture of a web-server from various sources. The some people - from
databases developers, such as Oracle, the some people from developers of web-servers, such as Apache Software
Foundation and Netscape. Other new functions proceed from developers of operating systems and from Java-community.
Behind development of universal expansions to traditional architecture of a web-server, introduction of very special
systems which allocate with the certain image the separate web-appendix has followed. As an example of such special
system search engine Google can serve.
Control system of databases/server integration
Integration of a database server with a web-server becomes all more widespread. There are some approaches to this
integration. Developers of web-servers and independent suppliers give specific web-server connected programs for
communication between a web-server and a server of a DBase. Also, some manufacturers of a DBase introduce an own
web-server as the interface web-application to the server of a DBase. Certainly, still probably to connect all both of a
server by means of mechanism CGI.
Fig. 2: Integration of a database server with web-server.
The protocol of safe connections
The protocol of safe connections (SSL) is a universal protocol which protects each dialogue between appendices through the
mechanism of connection sockets. If the client and a server incorporate, using this protocol, a server always
autentification, and the client can be autentificated. SSL it is realized atop TCP and it is independent of protocols
of applications of higher level which are realized atop of it. For web it means, that SSL is between HTTP-and TCP-protocols.
The protocol has been developed by corporation Netscape in 1994 and widely used now. Working group TLS IETF now works above
the Internet-standard, based on SSL - Transport Layer Security, TLS.
Basically SSL it is applied to protection of operations with credit cards through WWW [p-SSL]. All data of the protocol of
the application are transferred ciphered. SSL uses RSA for an exchange of keys and a choice of protocol for the subsequent
enciphering.
Protocol PCT (Private Communications Technology) is an equivalent of Microsoft's protocol - SSL. The protocol has
been offered as the standard in projects Internet. PCT is compatible with SSL, but servers which are
supported by both of the protocol can distinguish PCT-and SSL-clients. The most important distinction
between protocols the improved safety, including correction of mistakes in SSL. Corrections concerned autentification the
client after restoration of the interrupted session. Besides opportunities for achievement of the greatest results in
cryptography have been expanded.
Web-server connected programs
The most popular web-servers have the mechanism for expansion of the functionalities. These expansions, or plug-ins,
usually are very closely integrated with a kernel of a server and consequently can increase efficiency of specific
problems considerably. This integration is realized by programming plug-ins on the basis of API (Application Programming
Interface) a web-server. Server Netscape Ent. Refers to NSAPI; for IIS Microsoft it ISAPI. At Apache too API. Usually,
plug-ins are realized in the form of shared libraries which are loaded by a web-server at start or when plug-in it is
used. It means, that plug-in are written for specific web-servers on specific platforms and in spite of the fact that
potentially they are much faster, than something than type servlets, they are architecturally dependent.
New platforms for web-application
Expansion of web-server traditional architecture causes addition of additional layers or levels to system of a
server. With development of the server environment the term "web-server" gradually transforming in "a server of the
web-application" that means, that the purposes of this environment from simple granting the information by means
of web-pages in granting the whole systems supporting multipurpose, not trivial server application. Typical division
into levels in architecture of a server of the web-application consists of a representation level, a level of
business-logic and a target level. The level of representation provides GUI environment, I use such
web-technologies as dynamic HTML. The level of business-logic is heart of web-application architecture of a server.
Here there are components which supervise work of the web-application and carry out its "business-corrected". These
components cooperate with the user of the appendix through a level of representation and use the services given by a
target level. At the third level there are services which support access to:
- To accumulation of data;
- To corporate (general) directories;
- To e-mail and other systems of an exchange of messages;
- To system of payment and other financial systems;
- To the inherited systems;
- To other appendices.
The environment of a server of web-application can be presented as multilevel architecture. For example, the level
business - logic can extend on other levels if the web-application is under construction on (partially) other applications.
Or service of a target level can be executed by several promoting sub service.
Some manufacturers realize this architecture with the goods in sphere of servers of web-appendices. Some of this goods:
a server of applications WebSphere of firm IBM, a server of applications of firm Netscape, architecture DNA (Distributed
Internet Application) firms Microsoft or a server of applications by Oracle.
Fig.3: Multi-tier web-application server architecture
|