Thursday 17 December 2015

Introduction to ArchiMate

"Enterprise architecture is the organizing logic for business processes and IT infrastructure reflecting the integration and standardization requirements of the company's operating model. The operating model is the desired state of business process integration and business process standardization for delivering goods and services to customers." - MIT CISR




Archimate is an architecture standard adopted by big companies such as Banque de France, European Central Bank, European System of Central Banks... It is an open enterprise architecture modeling language that visualizes, describes and analyses architecture within and across business domains. It is a technical standard recognized by the TOGAF (The Open Group Architecture Framework). It is different from other languages (BPMN and UML) due to the different modelling scope. While the UML is used for modeling software products and BPMN is used for business process modeling, ArchiMate is used for defining relationships between concepts in different architecture domains.

ArchiMate covers three layers:



  1. Business Layer - includes business processes, functions, services and events. This layer shows the business process of a project/system and the services offered by those processes.
  2. Application Layer - includes software applications, services it offers and functions it performs. This layer shows how the application layer supports the business layer, how applications interact between each other (interfaces) and how the application behaves.
  3. Technology Layer - includes hardware and communications at infrastructure level. This layer describes the infrastructure and how it supports the application layer.


To segregate different areas of architecture, ArchiMate utilizes "view" a part of an architecture description that addresses a set of related concerns and is addressed to a set of stakeholders. This is done through "viewpoints".

Some of the most useful viewpoints are:
  1. Organisation viewpoint - shows the actors and roles involved and how they are organised.
  2. Business process cooperation viewpoint - shows how different business processes interact with each other
  3. Application behaviour viewpoint - shows how the application behaves (functions it performs and services it provides)
  4. Application cooperation viewpoint - shows how the application interacts with other applications, which services it uses from other applications and which services it provides to other applications (interfaces)
  5. Application usage viewpoint - shows how application (through services it provides) supports the business process.
  6. Infrastructure viewpoint - shows the infrastructure
  7. Infrastructure usage - shows how the infrastructure supports the application.
  8. Information structure - shows the static view of business objects and data objects used in a business process.

These viewpoints are useful for creating impact map, capability map, landscape, criticality chain, system dependency map, etc. 


Example:


Here is a simple example of the ArchiMate modeling. 

We start off with an event that occurs every 25th of December. It triggers a business process "Check naughty/nice list" which accesses "List of naughty/nice kids" and is performed by Santa. Santa is a business actor that is associated with the business process and the list is a business object that is accessed by the business process. Finally this business process triggers another business process "Deliver presents" which accesses business object "Presents" and is associated with a business actor "Santa".


If you wish to try out modelling in ArchiMate  you can you the free tool called Archi. If you wish to learn more about ArchiMate standards, you can visit TOGAF ArchiMate website.