Microsoft Word - Deployment Diagram - An - An Introduction

6
Deployment Diagram - An Introduction The deployment model describes how an application is deployed across an infrastructure. It is used to show the distribution of components, typically across a multi-tier system or the deployment of components around a heterogeneous environment. In other words, The Deployment diagram shows the physical configuration of run-time processing components of a distributed system. The intention of the deployment model is not to describe the infrastructure, but rather the way in which specific components belonging to an application is deployed across it. Thus, deployment diagrams act as the link and reference point between how the system is built and where system components are deployed. For example, a three-tier web application has three distinct nodes: a front-end web server, an application server, and a database server. There is also the browser running on an end-user client node. Note: A deployment diagram shows components and artifacts in relation to where they are used in the deployed system. A component diagram defines the composition of components and artifacts in the system. Deployment Diagram Elements Let's examine the UML components that make up a deployment diagram. There are only a few elements used, but they can quickly become complicated if your development environment requires a lot of details. The following elements are used in a deployment diagram: Node A node is a physical object that represents a processing resource. Instance of Node A node is shown as a figure that looks like a 3-dimensional view of a cube. Component A component represents a distributable piece of implementation of a system. There are two types of components: Executable component File component Page 1 of 6

Transcript of Microsoft Word - Deployment Diagram - An - An Introduction

Page 1: Microsoft Word - Deployment Diagram - An - An Introduction

Deployment Diagram - An Introduction

The deployment model describes how an application is deployed across an infrastructure. It is used to show the distribution of components, typically across a multi-tier system or the deployment of components around a heterogeneous environment. In other words, The Deployment diagram shows the physical configuration of run-time processing components of a distributed system. The intention of the deployment model is not to describe the infrastructure, but rather the way in which specific components belonging to an application is deployed across it. Thus, deployment diagrams act as the link and reference point between how the system is built and where system components are deployed. For example, a three-tier web application has three distinct nodes: a front-end web server, an application server, and a database server. There is also the browser running on an end-user client node.

Note: A deployment diagram shows components and artifacts in relation to where they are used in the deployed system. A component diagram defines the composition of components and artifacts in the system.

Deployment Diagram Elements Let's examine the UML components that make up a deployment diagram. There are only a few elements used, but they can quickly become complicated if your development environment requires a lot of details. The following elements are used in a deployment diagram:

Node A node is a physical object that represents a processing resource.

Instance of Node

A node is shown as a figure that looks like a 3-dimensional view of a cube.

Component

A component represents a distributable piece of implementation of a system. There are two types of components:

Executable component

File component

Page 1 of 6

Page 2: Microsoft Word - Deployment Diagram - An - An Introduction

Deployment Diagram - An Introduction.doc

Connection

A connection is a physical link between two nodes or two executable components. It is defined by its name and stereotype.

Dependency

Dependency between elements can be represented graphically.

A dependency from a node to an executable component means the executable is running on the node. A dependency from a component to a file component means the component needs the file to be built. A dependency from a node to a file means that all the executable components running on the node need the file to be

built.

MyComponent runs on MyNode and needs MyCode.c file to be built.

Artifacts

Artifacts are model elements that represent the physical entities in a software system. Artifacts represent physical implementation units, such as executable files, libraries, software components, documents, and databases.

You can also show the allocation of Artifacts to Nodes according to the Deployment defined between them.

Page 2 of 6

Page 3: Microsoft Word - Deployment Diagram - An - An Introduction

Deployment Diagram - An Introduction.doc

An alternative notation to containing the deployed artifacts within a deployment target symbol is to use a dependency labeled «deploy» that is drawn from the artifact to the deployment target.

You can also use the textual list based representation to describe the deployment location of artifacts

Devices

A Device is notated by a Node annotated with the stereotype «device». It is a type of node that represents a physical computational resource in a system, such as an application server.

Deployment specifications Page 3 of 6

Page 4: Microsoft Word - Deployment Diagram - An - An Introduction

Deployment Diagram - An Introduction.doc

A deployment specification is essentially a configuration file, such as an XML document or a text file that defines how an artifact is deployed on a node.

Execution environment

An execution environment is a type of node that represents a particular execution platform, such as an operating system, EJB Server or a database management system. You can use execution environments to describe the context in which the execution of a model takes place.

Aggregation

A node can be subdivided of nodes.

VmeRack node is subdivided of NewtorkBoard and ControlBoard

Node and components identifiers

Attributes are used by connected nodes or components to identify each other.

Page 4 of 6

Page 5: Microsoft Word - Deployment Diagram - An - An Introduction

Deployment Diagram - An Introduction.doc

CptB can connect to cptA1 via myNet connection by using NodeA1 myNet.id attribute and CptA1 myNet.id attribute.

Nodes' attribute can be omitted if not needed.

An Example: ATM

The deployment architecture of an ATM system typically consists of three major nodes: the ATM stations, the consortium computer, and the bank computer. The topology is a simple star; the consortium communicates with all the ATM stations and with all the bank computer. The architecture uses the station code and the bank code to distinguish the phone lines to the consortium computer.

Another Example: A Java Online Web Application

Users invoke the web client through a Java enabled web browser such as IE or Firefox with the Java JVM plugin installed. Through the Java Applet, user can select product item(s) they would like to order online by using the online Shopping Cart. As the online transaction involves the credit card and personal information, users communicate with the web host using SSL “Provided Interface” of the Java Servlet Component and it will then update the status to the Database Component through the “Provided Interface” JDBC.

Page 5 of 6

Page 6: Microsoft Word - Deployment Diagram - An - An Introduction

Deployment Diagram - An Introduction.doc

Figure – Deployment Diagram for a Typical Java Online Web Application

Page 6 of 6