UML Deployment Diagrams Examples

Here we provide some examples of UML deployment diagrams:

Web Application Manifestation

This is an example of UML deployment diagram which shows manifestation of components by artifacts and internal structure of artifacts. I would call this kind of deployment diagrams manifestation diagrams or implementation diagrams as they actually do not show any deployments.

Example of manifestation diagram for web application.

Example of manifestation diagram for web application.

Web application archive artifact book_club_app.war contains several files, folders and subfolders. Stereotypes «file» and «library» are standard UML stereotypes applicable to artifacts. This diagram also shows non-standard stereotype «folder» which is rendered as package.

Several components are shown on the diagram manifested (implemented) by jar archive files.

Web Application Deployment

An example of deployment diagram for web application. Book club web application artifact book_club_app.war is deployed on Catalina Servlet 2.4 / JSP 2.0 Container which is part of Apache Tomcat 5.5 web server.

The book_club_app.war artifact manifests (implements) OnlineOrders component. The artifact contains three other artifacts, one of which implements UserServices component.

The Application Server «device» (computer server) has communication path to Database Server «device» (another computer server).

UML deployment diagram example - web application deployment.

An example of deployment diagram for web application.

Multilayered Load Balancing

An example of deployment diagram with hardware and software load balancing and clusters.

A network load balancer is an appliance device that is used to split network load across multiple servers. An example shows jetNEXUS ALB-X hardware load balancer. It combines the functions of OSI Layer 7 (Application Layer) load balancing, HTTP compression, SSL offload and content caching in one solution.

UML deployment diagram example - hardware load balancing.

An example of deployment diagram with hardware load balancing.

Configuration shown has 2 active hardware load balancers connected to 2 to 4 Sun Fire Servers. Each server has 3 instances of IBM WebSphere 7 J2EE application servers installed, so we have both vertical and horizontal clustering.

When database connection is requested by application, Oracle run-time connection load balancing selects connection that belongs to the best instance from the connection cache provided by Oracle RAC (Real Application Clusters) database.

Clustered Deployment of J2EE Web Application

Another example of deployment diagram for J2EE web application with load balancing and clustering which shows specific server instances involved.

Incoming HTTP requests are first processed by Apache web server. Static content such as HTML pages, images, CSS, and JavaScript is served by the web server. Requests to JSP pages are load balanced and forwarded to 2x2 Apache Tomcat servers using both vertical and horizontal clustering.

All 4 instances of Apache Tomcat servers save/receive data to/from a single instance of Oracle 11g DBMS, which could become a performance bottleneck if web application is data-intensive.

UML deployment diagram example - load balanced and clustered deployment of web application.

Load balanced and clustered deployment of J2EE web application

Apple iTunes Deployment

An example of deployment diagram for Apple iTunes application.

The iTunes setup application could be downloaded from iTunes website and installed on a home computer. After installation and registration iTunes application could communicate with Apple iTunes Store. Customer can buy and download music, video, TV shows, audiobooks, etc. and store it in media library.

Mobile devices like Apple iPod Touch and Apple iPhone could update own media libraries from home computer with iTunes through USB, or could download media directly from Apple iTunes Store using some wireless protocol like Wi-Fi, 3G, or EDGE.

UML Deployment diagram example - Apple iTunes Deployment.

An example of deployment diagram for Apple iTunes

Android Application Deployment

This is an example of UML deployment diagram which shows deployment of an application to Android.

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Android relies on Linux OS for core system services such as security, memory management, process management, network stack, and driver model. The Linux kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

Android applications are written in Java. Android SDK tools compile and package the code along with any required data and resource files into Android application archive file having .apk suffix. The .apk file represents one Android application to be deployed to the Android-enabled mobile devices.

Example of application deployment to Android.

Example of application deployment to Android.

Android applications are composed of one or more application components (activities, services, content providers, and broadcast receivers). Each component performs a different role in the overall application behavior, and each one can be activated individually (even by other applications).

The manifest (deployment specification) file AndroidManifest.xml describes application requirements, such as the minimum version of Android required and any supported hardware configurations, and it also declares all components in the application.

With Android API Level 8 or later, application could be installed on the external storage (for example, on the SD card). This is an optional feature that could be requested for the specific application using a manifest attribute. By default, application is installed on the internal storage of the mobile device and cannot be moved to the external storage.

Next  Web application network diagram example

Comments
blog comments powered by Disqus