What is layered architecture

Web architecture

Web

The web (World Wide Web, WWW) was initially designed and used in the 1990s for a networked presentation of information in the context of largely static HTML pages. In addition, the web is used today in a variety of ways in the context of the implementation of distributed IT systems. A distributed IT system comprises subsystems (components in the broadest sense) that are linked to one another within the framework of a specific architecture and that handle tasks cooperatively. In particular, application systems with a web-based presentation can be implemented in a distributed manner (see below).

"Web’s major goal was to be a shared information space through which people and machines could communicate." [Berners-Lee 1996]

The web is based on the infrastructure of the Internet (global computer network based on the communication protocols TCP / IP) and the possibility of adding application-oriented protocols and representation languages ​​within the framework of an open layer architecture. Three components are essential and also serve the web-based design of distributed application systems:

  • a protocol for the transmission of information (certain representations of resources in corresponding documents): HTTP (Hypertext Transfer Protocol);
  • an addressing standard: in particular URL (Uniform Resource Locator) as a specialization of URI (Uniform Resource Identifier) ​​for the realization of a global address and name space;
  • standardized representation formats: in particular HTML (Hypertext Markup Language) for human-machine communication on the basis of corresponding websites or XML (Extensible Markup Language) for machine-machine communication.

Web-based application systems

In operational application systems, certain function bundles are usually implemented by delimited subsystems that often interact with one another on the basis of client-server architectures within the framework of distributed IT systems [Vogel et al. 2009, pp. 216-252]. A layered client-server architecture of an operational application system usually includes tasks of data management, processing (application logic) and presentation (user interface) in separate subsystems that build on one another. In this context, the web can act as a presentation layer for application systems. The presentation to the user is implemented using the web browser, which interacts with a server via HTTP. Depending on the specific technical implementation, the user interaction is handled cooperatively between the web browser and components on the HTTP server. This generally leads to the architecture shown in Figure 1.

Fig. 1: Typical web architecture of application systems

As part of the website-based presentation, HTML text is supplemented by program text modules that can be executed on the client or server side. For the latter, for example, PHP, JavaServer Pages (JSP) or Active Server Pages .NET (ASP.NET) are used. Processing requests directed to the HTTP server are implemented by an application server.

JavaScript can be used for the client-side implementation of a dynamic presentation. By embedding JavaScript program text modules in web pages, applications with extensive user interaction can be designed (without synchronous communication between client and server having to take place after each user input). A combined use of JavaScript and XML to process communication is referred to by the abbreviation AJAX (Asynchronous JavaScript and XML). In corresponding applications, this often combines various contents and modules (mashup). As an alternative to the use of JavaScript, other special runtime environments (plugins) embedded in the web browser are sometimes used; this includes Java applets and programs based on Adobe Flash or Microsoft Silverlight.

In addition to the web-based realization of the presentation, the web supports the coupling of sub-systems on the basis of encapsulated web services, which today is also referred to in a larger context under the term service-oriented architectures (SOA). A web service implements a function (or a bundle of functions) on the web in a form that enables automatic execution within the framework of machine-machine communication without the intervention of personnel. There are essentially two approaches available for the technical implementation of such a web-based coupling of application system components:

  • Web services in the sense of the WSDL and SOAP specifications for the description of services or the actual access to the services.
  • Web services according to the REST architecture style, with services being addressed via URI / URL and communication taking place directly on the basis of the basic mechanisms of HTTP; see [Tilkov, Stefan 2011].

literature

Berners-Lee, Tim: WWW - Past, Present, and Future. Computer 29 (10), pp. 69-77, 1996.

Tilkov, Stefan: REST and HTTP, 2nd edition Heidelberg: Dpunkt, 2011

Vogel, Oliver; Arnold, Ingo; Chughtai, Arif; Ihler, Edmund; Kehrer, Timo; Mehlig, Uwe; Zdun, Uwe: Software Architecture: Basics - Concepts - Practice. 2nd Edition. Heidelberg: Spectrum Academic Publishing House, 2009.

author


 

Prof. Dr. Andreas Fink, Helmut Schmidt University / University of the Federal Armed Forces Hamburg, Faculty WiSo, professorship for business administration, especially business informatics, Holstenhofweg 85, 22043 Hamburg

Author info


Item Actions