Blog

ArchiMate vs Other Notations - #4 - UML: IT Infrastructure Modelling

ArchiMate vs Other Notations - #4 - UML: IT Infrastructure Modelling

Welcome to fourth article on our ArchiMate vs Other Notations series. Last time we tried to understand differences between ArchiMate and UML regarding process modelling. [1] This time we are going to switch the domain completely and try to understand possibilities and limitations in both techniques in infrastructure modelling area.

What we consider an infrastructure?

If we look on Gartner’s IT Glossary we could read, that IT Infrastructure is: The system of hardware, software, facilities and service components that support the delivery of business systems and IT-enabled processes.[2] Whenever we design or build infrastructure we refer to hardware and software, where it is located and how it is interconnected

IT Infrastructure modelling in UML

There are limited possibilities to model infrastructure in UML. The closest one, that brings us some look on infrastructure is the deployment diagram. This diagram enables us to model the execution environment for software components. There is no diagram dedicated to pure HW infrastructure and network environment though. You can check an example of deployment diagram below.

Example of deployment diagram

[3] Source: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/

IT Infrastructure modelling in ArchiMate – Technology layer

In last article we explored Business Layer elements from ArchiMate, that is used to model business processes and use cases. To model infrastructure, we use Technology Layer. By using elements from this layer, we could model deployment schemes for software as well as execution environments. Also, you have a possibility to very briefly outline networks and connections between hardware and technology services offered to applications or business users, like database access or messaging system. Below you could check some of elements of language defined on that layer.

Element Definition Notation
Node A computational or physical resource that hosts, manipulates, or interacts with other computational or physical resources.
Device A physical IT resource upon which system software and artifacts may be stored or deployed for execution.
System software Software that provides or contributes to an environment for storing, executing, and using software or data deployed within it.
Technology collaboration An aggregate of two or more nodes that work together to perform collective technology behavior.
Technology interface A point of access where technology services offered by a node can be accessed.
Path A link between two or more nodes, through which these nodes can exchange data or material.
Communication network A set of structures that connects computer systems or other electronic devices for transmission, routing, and reception of data or data-based communications such as voice and video.
Technology function A collection of technology behavior that can be performed by a node.
Technology process A sequence of technology behaviors that achieves a specific outcome.>
Technology interaction A unit of collective technology behavior performed by (a collaboration of) two or more nodes.
Technology event A technology behavior element that denotes a state change.
Technology service An explicitly defined exposed technology behavior.
Artifact A piece of data that is used or produced in a software development process, or by deployment and operation of a system.

[4] Source: http://pubs.opengroup.org/architecture/archimate3-doc/chap10.html

UML vs ArchiMate

To compare UML and ArchiMate we need to come up with basic scenario which we try to model in both notations. We would like to see couple of servers connected to one central switch. There shall be two special servers that host some of applications in a redundant way – to secure we have a backup always available.

The UML example:

The UML example

In above model we used just two elements: device, which is a metaclass of node element and artifact which depicts a piece of software in infrastructure environment. We used also simple association and deployment relationships to connect elements together.

If you take a look on ArchiMate example you could immediately spot a lot of similarities

ArchiMate example

This is because ArchiMate technology layer was based on some of UML elements. Node and Device have same meaning as in UML. The new concept, introduced in ArchiMate is called Communication Network, depicts some kind of network organized with set of structures and protocols.

For basic use cases there is no benefit in choosing UML over ArchiMate or other way around. However, ArchiMate allows you to model a bit more thanks to additional elements like Communication Network, Path or Location – to show physically how network and infrastructure is organized.

So how exactly ArchiMate adds value?

The main advantage of ArchiMate is that it allows to connect multiple architectural domains. That means on one diagram you could model physical infrastructure, interconnections, deployments and applications that use infrastructure elements. Let’s look on an extended ArchiMate view in which we used both Business, Application and Technology layers:

Extended ArchiMate view - Business, Application and Technology layers

By combining layers, we know exactly what infrastructure elements and applications are needed to support business functions. Back Office team is responsible for four business functions. Those functions are supported by three Application Components that are part of bigger Back Office Suite. The Suite itself is stored in two Server Clusters that are standing in two separate locations.
Thanks to ArchiMate we could combine multiple domains on one view. UML could be still used to provide details of implementation regarding deployment, however, the same could be achieved using ArchiMate.

Takeaways

To sum up, let’s look on main takeaways from this article:

• In UML we use deployment diagrams to model infrastructure needs • ArchiMate has a dedicated layer for infrastructure domain called Technology Layer • For deployment views both notations are equally good • For infrastructure modelling that includes, beside deployment, also information about networks or/and physical locations ArchiMate is a better choice • Both notations could be maintained in parallel – UML for precise, low-level deployment diagrams, ArchiMate to make sure infrastructure domain is connected to other architectural domains.

This article is one of articles from ArchiMate vs Other Notations series. Check others:

ArchiMate vs Other Notations - #1 - Why you might need ArchiMate?

ArchiMate vs Other Notations - #2 - UML: Software modelling

ArchiMate vs Other Notations - #3 - UML - business processes

ArchiMate vs Other Notations - #5 - BPMN - overview

ArchiMate vs Other Notations - #6 - UML/ERD - database modelling

[1] https://architecture-center.com/blog/110-archimate-vs-other-notations-2-uml-software-modelling.html

[2] https://www.gartner.com/it-glossary/it-infrastructure/

[3] https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/

[4] http://pubs.opengroup.org/architecture/archimate3-doc/chap10.html

 


Piotr Szpilkowski - trainer at Architecture Center LtdAuthor: Piotr Szpilkowski - Change Leader / Agile Coach, Trainer at Architecture Center Ltd

https://www.linkedin.com/in/szpilkowski/

Quality-oriented leader equipped with both technical and soft skills. Eager to create teams, organize things and make them happen. Experienced in managing various IT projects scattered all around the world. ArchiMate and SAFe trainer.

Architecture Center

Architecture Center Ltd biedt consultancy en opleidingsdiensten aan betreffende enterprise-architectuur, bedrijfsprocesbeheer en IT-systeemintegratie.