In a previous article I have described the notation I am using for network diagrams in Software Architecture. This article describes an extensive sample diagram showing a possible solution with a large variety of different aspects. Read this article if you want to learn more about network diagrams in Software Architecture.
Figure 1 shows a more complex example of a Network Diagram. The solution constructed consists of a user interface client application run on the user’s workstation, an application-server tier that consist of static HTTP content as well as services and a database tier. In addition, the solution is designed for availability, scalability and performance.
It is important to note that there are many equivalent solutions to the solutions depicted. The sample is supposed to demonstrate how a typical network diagram for a typical enterprise application looks like.
I am going to – briefly – outline the Network Diagram in the following sections so you can develop an understanding of the application.
The application consists of:
- A wireless client that accesses the application’s services layer in the Intranet hosting zone. The wireless client is connected via the provider’s network.
- A graphical user interface rich client that access HTTP content in the demilitarized zone (DMZ) as well as application logic via the server’s service interface. The services are located in the Intranet hosting zone.
- The actual server application, hosted in the DMZ and the Intranet Hosting zone.
- Centralized services, hosted in the Intranet Hosting zone.
- The interfacing applications, hosted in the Intranet Hosting zone as well as in a partner’s network.
- Infrastructure components for scalability, performance and availability. Those include load balancers (LB), caching proxy servers, caching reverse proxy servers, distributed cache, storage area network and network infrastructure.
Application components are colored orange, infrastructure components green, shared components blue and third-party systems gray.
Locations and Zones
The application is distributed across a number of locations:
- Wireless – For the wireless client which is connected through the mobile network provider’s zone.
- Branch Office – Which accesses application HTTP content as well as services via a wide area network (WAN).
- DMZ & Intranet Hosting Zone – This zone hosts the entire enterprise application, centralized services as well almost all interfacing applications. Important to note is that the hosting zone is split into two physically zones – Zone A and Zone B – for availability.
- Partner Network – This location hosts one interfacing system.
Notable features of the architecture shown are:
- The application is designed for availability with redundant load balancing infrastructure, two physically separate hosting environments (Zone A and Zone B), and clustering on the application- as well as database tier.
- The application is designed for performance and scalability with the use of clustering, and caching on the application-server tier, content-tier and in the rich-client environment.
- The architecture employs the EAI pattern in that connecting systems are integrated via a single message broker.
- The architecture employs single enterprise services to realize synergies. Examples are: authorization and authentication, enterprise application integration, as well as printing/mailing and faxing.
- The application is connected to an interfacing system in the network of a partner.
- The application includes a mobile application that is integrated via the provider’s network.
- The architecture does not detail the architecture of the connected systems. It just shows their existence.
- While the application seems to be hosted on dedicated servers, it can also be hosted on shared servers. There is no particular limitation.
[Pic2010] Pichler, M. 2010, “Diagram: The Network Diagram”, A Practical Guide to Software Architecture [online] available at http://applicationarchitecture.wordpress.com/2010/04/06/diagram-the-network-diagram/
Copyright © 2010 Michael Pichler