Archimate Made Practical 2008-04-28
Archimate Made Practical 2008-04-28
Archimate Made Practical 2008-04-28
Made Practical
PERSONAL USE OF THIS MATERIAL IS PERMITTED. HOWEVER, PERMISSION TO REPRINT/REPUBLISH THIS MATERIAL FOR ADVERTISING OR PROMOTIONAL PURPOSES OR
FOR CREATING NEW COLLECTIVE WORKS FOR RESALE OR REDISTRIBUTION TO SERVERS OR LISTS, OR TO REUSE ANY COPYRIGHTED COMPONENT OF THIS WORK IN
OTHER WORKS MUST BE OBTAINED FROM OR VIA ARCHIMATE FOUNDATION (HTTP://WWW .ARCHIMATE.ORG).
Table of Contents
1 In tr od uct io n 1
1.1 Motive 1
1.2 Goal and Intended Public 1
1.3 Reading Guide 2
1.4 Changes since version 1.0 2
1.5 Website 3
1.6 Call for new good practices 3
2 M od e l in g in t he bu s in es s l a ye r 5
2.1 Overview of good practices 5
2.2 Business service, business function and business process 5
2.3 Constraining business service 7
2.4 Constraining business process 7
2.5 Constraining business function 8
2.6 Business process and business interaction 9
2.7 Viewpoints for process modeling 10
3 M od e l in g in t he ap p l ic at io n la ye r 12
3.1 Overview of good practices 12
3.2 Application landscape 12
3.3 Interfaces between applications 14
3.4 Functionality of an application 16
4 M od e l in g in t he i nf ras t r uct ur e - / t e c h n o l o g y l a ye r 18
4.1 Overview of good practices 18
4.2 Infrastructure services 18
4.3 Infrastructure landscape 19
5 M od e l in g o ve r t h e bo un da r ies o f la ye r s 21
5.1 Overview of good practices 21
5.2 Many used relationships 21
5.3 Product and application services 26
5.4 Support of batch and online processes 26
5.5 Service broker 27
5.6 Domain 29
5.7 Internal and external services 31
5.8 Necessity for the usage of services 32
5.9 Simplification with sustainable consistency 33
Re fer en ces 36
A R C H I M AT E F O U N D A T I O N V
1 Introduction
1.1 M ot i ve
These are all examples of modeling questions that an enterprise architect will be confronted
with. There are many variants of modeling solutions that are being practiced in order to
answer these questions. These variants lead to inconsistencies and can limit good
communication. Behind every model there is an original story, but a model can often
converge into its own new “truth” where the original story will get lost over time, especially if
the originator of the model is no longer involved in the maintenance of that model.
Companies that practice ‘working under architecture’ are using ArchiMate more and more
as a descriptive language for capturing enterprise architectures consisting of domains like:
products/services, processes, organization, data, applications and technical infrastructure.
Using this language it is possible to model the structure within a domain as well as the
relationships between domains. Another important aspect of ArchiMate is the possibility to
visualize models using multiple viewpoints, specific to different stakeholders. Besides this,
the language supports a formal foundation to enable analysis of models (for example on an
aspect such as performance). ArchiMate is deliberately not intended to replace existing
languages like BPMN, UML etc.; it is positioned to deliver value in addition to these existing
languages, the intention is to adapt as much as possible to existing standards and
practices.
In the Netherlands, a lot of experience with ArchiMate has resulted in recognizable models
that are easier to communicate. The population of enterprise architects that use ArchiMate
is growing. The downside to this is that the solution to identical modeling problems is
created multiple times, where it is obvious that not all practices deliver identical value when
being communicated to the stakeholders. Practically speaking, one has to be well skilled to
capture and practice the language. The learning curve to start using it immediately or
without being trained is relatively high.
1.2 G oa l a nd In t en de d Pu b l ic
The ArchiMate Foundation has received a considerable number of questions about how
ArchiMate concepts should be adapted from people using ArchiMate to perform real work.
The aim of this document is to start answering these questions by describing proven
solutions, documented as good practices., This will lower the threshold for applying
ArchiMate in practice and will increase the effective value of the developed models.
A R C H I M AT E F O U N D A T I O N 1
This document is written for enterprise architects who want to apply ArchiMate in practice as
a language for capturing models of organizations, the ICT-support and the relationships
between them.
This document should be treated in addition to existing ArchiMate documentation (see the
appendix for references):
• Enterprise Architecture At Work.
• Inleiding in de ArchiMate-taal.
• Architecture Language Reference Manual.
• Viewpoints Functionality and Examples.
• ArchiMate Quick Reference
1 .3 Re ad ing Gu ide
The following chapters contain a collection of good practices. For each documented good
practice, the following structure is used:
• Name in the paragraph title: a recognizable name that summarizes the contents of the
good practice
• Question: a description of the question that is leading to the development of the good
practice
• Solution: a description and visualization of the preferred solution that gives an answer to
the question
• Consequences: a description of the consequences of the solution, for example in
relation to communication with stakeholders, consequences for implementation, etc.
• Alternatives: a description of alternative solutions with the justification for each
alternative
• Relationships with other good practices: a description of the relationships that exist
with other good practices
This document is a renewed version of the booklet ‘ArchiMate in de praktijk’ which was first
published in 2007 by the working group Usage/Tools within the ArchiMate Foundation. In
this version 2.0, some existing best practices have been modified and some new best
practices have been added.
2 A R C H I M AT E M AD E P R A C T I C A L
• Interface between applications.
• Functionality of an application.
• Service broker.
1.5 W e bs it e
More information about the ArchiMate Foundation, the activities of the working group
Usage/Tools and the collected good practices can be found on the website:
www.archimate.org. On this website, new good practices will be published before these will
be integrated in a next version of this booklet.
The contents of this document is by no means complete and leaves a lot of questions
unanswered. This document is therefore designed to be a living document. It contains an
initial overview of good practices collected from day-to-day practice.
We hope the reader will be able to get started with these good practices, and that new
insights will be revealed which can of course be integrated into this document.
Do you have any modeling questions that you would like answered? Do you have good
practices that you want to share with your peers? Or do you want to participate in the
working group Usage/Tools within the ArchiMate Foundation, where we collect and discuss
good practices and integrate them into this document? You can contact the chairs of the
working group via the email address: usage@archimate.nl Or by telephone, contact Harmen
van den Berg (+31 6 5119 8282) or Egon Willemsz (+31 6 5235 3089).
A R C H I M AT E F O U N D A T I O N 3
2 Modeling in the business layer
Question: In the business layer, the concepts business service, business function and
business process are positioned. The exact difference between these concepts is not clear
in all cases, or to be more exact, in practice there sometimes exists confusion if something
needs to be tagged as a business service, a business function or a business process. In the
next section we give definitions and descriptions of these concepts.
Solution: A business service represents the added value that an organization delivers to its
environment. One can make a distinction between internal and external services: Internal
services represent the added value that is being delivered within the domain that the service
belongs to. External services represent the added value that is being delivered to other
domains or to the environment (for example customers).
A business function is an area that the organization wants to pay attention to ( e.g. by
putting energy into, structurally committing resources to etc) in order to support its business
goals. A business function can therefore be positioned as a grouping of internal behavior
based on a certain criteria (for example location (same department), communication,
required skills, shared resources and shared knowledge). A business function represents a
part of the added value of on organization.
Informally one could say that a business process consists of a number of activities or sub
processes that are being executed in a certain sequence. Every activity is part of a business
function. With other words, a process combines a chain of activities each of which are part
of business functions, such as the figure below visualizes.
A R C H I M AT E F O U N D A T I O N 5
Relations Acceptance Calculation Support
management
reject
request
A single process will not always belong to a single business function (as in this example): a
business function will almost always consist of multiple activities and process steps and a
process will often be realized by multiple business functions.
Business functions as well as business processes describe the inner way of working of an
area or organization. A business service describes the parts of business processes and
functions that are externally visible and usable. It describes the service that can be used,
without making clear how that service is realized by means of processes or business
functions.
In the figure below, the most important relationships between these concepts are visualized
(being a part of the ArchiMate metamodel):
Business
service
realisation realisation
assignment assignment
Business Business
role role
Relationships with other good practices: The distinction that exists between business
service and business process / business function is also valid between application service
and application function. Comparable criteria and heuristics can therefore also be used on
the application layer.
6 A R C H I M AT E M AD E P R A C T I C A L
2.3 C o nst ra i n in g b us i nes s se r vi c e
Question: In the business layer, one of the concepts is the business service. But how does
one distinguish a business service and how is it being constrained?
Solution: If something is tagged as a business service, than that service should in principle
be “consumable” by multiple consumers. Services can be grouped by means of aggregation
relationships. This implies that it is only sensible to decompose a service (via aggregation)
into partial services if these partial services can also be consumed independently of each
other.
Relationships with other good practices: Identical criteria and heuristics can also be
used for application services in the application layer and for infrastructure services in the
infrastructure layer.
Question: In the business layer, one of the concepts is business process. But how does
one distinguish a business process, and how is it being constrained?
A R C H I M AT E F O U N D A T I O N 7
• A business process is triggered by a business event, and ultimately delivers a service or
product to a customer, or partial products or partial services that are used as part of a
service or product for a customer.
• Divide a process into phases that can be being treated sequentially. Examples of phases
are request, handling and after sales. A phase often coincides with a process or function
within the organization. A frequent pattern of phases is the value chain. One can
recognize phases by the assignment of actions to different actors, combined with a
timing sequence between the actions.
• Group actions based on the time that they happen e.g. online- or batch processing,
daytime or nighttime).
• Divide a process into parts based on the knowledge and skills that are required to
execute certain actions. This can be deduced from the functions that are tagged for each
task.
• Divide a process into parts based on geographical boundary (physical location) where
the activities take place, for example a region.
• Divide a process into sub processes that can be executed independently. This can occur
where multiple (partial) products are being delivered.
• Distinguish partial processes that occur more than once. These common partial
processes can be generalized and reused.
• Distinguish partial processes that are repeated as a whole.
Question: In the business layer, one of the concepts is business function. But how does
one distinguish a business function and how is it being constrained?
8 A R C H I M AT E M AD E P R A C T I C A L
• Case distinction: Make distinct functions for activities that are related to different
‘cases’. A company can make distinction between different damage claim cases:
damages less than or greater than € 1000,-. In this example, a function for a small
and a function for a large damage claim case could be distinguished.
• Make a distinct function for each product group, for example for activities related to
damage insurance versus other insurance. A distinction can also be made centered
around any business object:
• Distinction related to business object: Make distinct functions for a group of activities,
if they all work on a certain business object. This way, functions can be distinguished
that are related to invoices, cash flows, offers, customer history etc.
• Make a distinct function for each phase or state that a product can be in. In case of a
damage insurance claim this could be, for example, distinct functions for requesting,
reward raising and handling of damage claims, closing and management.
• Make a distinct function for a group of activities, whenever the activities require special
1) skills, 2) expertise or 3) responsibilities. Examples are judicial knowledge, actuarial
expertise, communication skills or authorizations for certain decisions.
• Make distinct functions for activities that control the primary process, especially planning
and control.
• Make distinct functions for activities that change the primary process or its
implementation. This leads for example to distinct functions for marketing, product
development and system development.
Relationships with other good practices: Comparable criteria and heuristics can also be
used for application functions on the application layer.
Question: Besides the business process concept, ArchiMate also understands the concept
of the business interaction. A business interaction is a process that is executed by two or
more actors (a collaboration of actors). Why is the business interaction concept needed on
top of the business process concept? Isn’t it sufficient to relate a process to a collaboration
of actors and thereby express that the process in itself is in fact an interaction?
A R C H I M AT E F O U N D A T I O N 9
Business Business Business
process process interaction
Business Business
interaction collaboration
Business Business
role 1 role 2
In the top left, a business process is modeled that is assigned to two roles, in the top middle
a business process is assigned to a business collaboration, bottom left an interaction is
assigned to a business collaboration, bottom middle shows a business collaboration
consisting of two roles and to the right an interaction that is assigned to a business
collaboration consisting of two roles.
This redundancy is not without a good cause. In some cases, a business collaboration is not
explicitly modeled (for example if the focus is on the behavior and not on the actors), and at
the same time you want to express that it is about an interaction with multiple roles. Another
example is if one would want to express a collaboration, but not make explicit which parties
or actors the make up the collaboration; this can be useful in, for example, a development
phase where it is not yet clear who the final parties will be that ultimately will add value to a
product of service.
Consequences: The goal the architect has with modeling or visualizing a business
interaction or –collaboration will to a large extent determine which modeling solution is
chosen and which aspect gets focus.
Question: How do you model a process in ArchiMate? The ArchiMate book shows a
number of viewpoints but which combination of viewpoints is required to model a process
containing sequential steps?
Solution: The ArchiMate book shows two viewpoints for process modeling: the Business
process collaboration viewpoint and the Business process viewpoint. The difference
between these viewpoints is that in the Business collaboration viewpoint the relation
between processes and the relation with the environment is visualized, while in the
1 0 A R C H I M AT E M AD E P R A C T I C A L
Business process viewpoint one business process is expressed. We concentrate here on
the Business process viewpoint; the Business process collaboration viewpoint is analogous.
When modeling a process in ArchiMate, the following aspects can be visualized: the parts of
the process, their cohesion, the assignment of process parts to roles, actors of business
parts and the support by applications. This can be realized in the following sequence:
1. Model the business process on high level: Decompose the business process and make
relationships by introducing business events and triggering relationships. One can add to
that the way in which the process delivers business services to its environment.
2. Information-exchange: Model the information-exchange between processes by adding
flow relationships between processes, or reading and writing of business objects.
3. Assignment to organization: Model the organizational part that executes the business
process. This can be visualized by assignment relationships or by using swim lanes.
4. Support by applications: Model how applications support business processes. The
application viewpoint can be used for this.
If required, a more generic distinction can be made between a ‘logical’ and ‘concrete’ level
of modeling. A logical model expresses the functional structure and logical cohesion of
business processes. No detail about time, place, people or machines is given. An
implementation model will closely resemble what you can see or want to realize in reality. It
describes physical aspects like humans and machines, with concrete assigned tasks. If an
organization wants to distinguish a standard type of processes (template) in ArchiMate this
should be defined before starting modeling. The relationship between ‘logical process’ and
‘physical process’ is of the composite type.
A process can be specialized into process types. For example, the process ‘Request
insurance’ can be specialized into the sub processes ‘Request travel insurance’ and
‘Request damage insurance’.
Relationships with other good practices: Refer to the good practices ‘Business service,
business function and business process’ and ‘Constraining business process’.
A R C H I M AT E F O U N D A T I O N 1 1
3 Modeling in the application layer
Question: My application landscape is very complex, how can I get grip on it, how can I
model it?
An overview of applications is often visualized in an application landscape. This is done to
provide an overview of the relationships between applications. This will often produce a
large number of connecting lines and actually no overview at all. This kind of overview often
only shows how complex the application landscape is. It does not give any assistance in
application portfolio maintenance.
1 2 A R C H I M AT E M AD E P R A C T I C A L
Process management
AMC CRS
Figure 3-1: Example of an application landscape organized along type of functionality of applications
Web Risk
portal Assessment
Car Insurance
Application
Figure 3-2: Example of an application landscape organized along usage of front-office and back-office
Consequences: For an overview of all relationships you need multiple views. Use a matrix
for this purpose. A tool can be very valuable in this case to register information and produce
a relationship matrix.
A R C H I M AT E F O U N D A T I O N 1 3
Alternatives: The alternative is the large ‘view’ with all applications and the many lines.
This is only usable to express how complex the landscape is and does not give much
additional added value.
Data
object
Application A Application B
Figure 3-3: Application interface using application function, application service and connected data
object
1 4 A R C H I M AT E M AD E P R A C T I C A L
Data
object
Figure 3-4: Application interface using application service and connected data object
Not every organization will have a service oriented architecture. In that case it is also
possible to model application interfaces using a flow relationship between the applications.
By using an indirect relationship the model as shown below is achieved. Application A
delivers customer data to application B.
In some cases interfaces between applications are not realized directly, but via a database.
One application writes into a table that is read by another application. Below figure shows
this. Application A writes, Application B reads the same data object.
Data
object
Relationships with other good practices: This can be used by constructing an application
landscape using the good practice ‘Application landscape’. It is also applicable with the
good practice ‘Service broker’.
A R C H I M AT E F O U N D A T I O N 1 5
3.4 F un ct io na li t y o f a n ap p l ic at io n
Question: How can you model externally visible functionality of applications with
ArchiMate?
Solution: The ArchiMate concept that was designed explicitly for modeling externally visible
functionality is the application service. This is connected with a realization relationship to an
application function belonging to an application. Corresponding interface(s) can be visualized
if required. The figure below shows this modeling pattern:
Application Application
Service interface
Application Application
function
This way of modeling can be used both for internal and external application services.
Alternatives: This model pattern can be simplified by leaving out the application function
and deduce the realization relationship to the application component (figure below to the
left). If the interface has no relevance for the model, it can be left out (figure below to the
right)
Application Application
1 6 A R C H I M AT E M AD E P R A C T I C A L
Business Business
Process Role
Application
interface
Application Application
function
In the last view the application interface can also be left out. The result is a ‘used by’
relationship between the application and the business role.
Relationships with other good practices: For functionality that is not interactive there is a
relationship with good practice ‘Interfaces between applications’. Visualizing the functionality
of an application resembles visualizing applications within an application portfolio. The good
practice ‘Application landscape’ is also applicable for the functionality of an application.
A R C H I M AT E F O U N D A T I O N 1 7
4 Modeling in the infrastructure- / technology layer
4.2 I n f ra st ruc t u re se r vi ce s
Question: Which services would one want to model on the infrastructure layer?
From maintenance point of view the infrastructure layer often requires a lot of detailed
information: which systems exist and how are these connected to each other? The step in
describing meaningful services for the environment is not commonplace: how does one start
with modeling services on the infrastructure layer and which types of services must be
distinguished?
Solution: Describe those services on the infrastructure layer that support applications. It is
recommended to distinguish processing services, storage services and communication
services. When modeling the infrastructure layer it is essential to use abstraction of internal
details, for example implementation details. Domain specific languages are better suited for
this.
Use the viewpoint ‘Infrastructure usage’ from the ArchiMate book (Lankhorst et al., 2005, p.
187). This viewpoint allows visualizing how applications are supported by software and
hardware infrastructure.
Mainframe
Message
DBMS (DB2)
Queuing
1 8 A R C H I M AT E M AD E P R A C T I C A L
Alternatives: Not applicable.
Use the Infrastructure viewpoint from the ArchiMate book (Lankhorst et al., 2005, p. 186).
This viewpoint gives the possibility to show which essential hardware and software
determine the infrastructure landscape and how this is connected via networks. It is
recommended to group infrastructure elements in this viewpoint based on geographical
location and make these groups explicit.
ArchiSurance
NAS
File server
Intermediary
DBMS
Unix server farm
Unix Unix
CICS server server
A R C H I M AT E F O U N D A T I O N 1 9
Relationships with other good practices: Not applicable.
2 0 A R C H I M AT E M AD E P R A C T I C A L
5 Modeling over the boundaries of layers
A R C H I M AT E F O U N D A T I O N 2 1
Business
role Business service
(sub service)
is used by
is used by
Business Business
process function
• Business process:
• a business process realizes a business service;
• a business process exchanges data with other business processes (via the flow
relationship);
• a business process is triggered by or triggers a business event, a business function or
other business processes;
• a business process is assigned to a business role;
• a business process is part of a business function;
• a business process has access to a business object (a business process creates,
reads, modifies or destroys a business object);
• a business process uses application services.
Business
service
Business
object
realisation
access
Business triggers Business flow Business
event process process (2)
contains
is used by assignment
• Business actor:
• A business role can be assigned to a business actor.
2 2 A R C H I M AT E M AD E P R A C T I C A L
• Business role:
• A business role can be assigned to a business actor;
• A business role can be assigned to a business process, business function or
business event;
• A business role can use a business interface.
Business Business
event function
assignment assignment
Business
process
• Business object:
• A business object is created, read, modified or destroyed by a business process or
business function (via access relationship);
• A business object can have specializations;
• A business representation realizes a business object;
• A business object can point to other objects (aggregation relationship);
• A business object can consist of other objects (composite relationship).
Business Business
function process
access access
realisation Representation
Business
aggregation object
Business composition
object (2) Business
object (3)
Specialisation
• Business product:
• A business product consists of services and contract(s);
• A business product represents a value.
A R C H I M AT E F O U N D A T I O N 2 3
Value Contract
Business
product
Business
service
• Application component:
• An application component realizes an application service;
• An application component has one or more application interfaces;
• A data object is created, read, modified or destroyed by an application component or
application function;
• An application component can be part of an application collaboration (via aggregation
relationship);
• An application component can consist of multiple application components (via
composite relationship);
• An application component can be assigned to an application function;
• An application component uses infrastructure services;
• Data flows can exist between application components (flow relationship).
realisation aggregation
flow
composition
assignment
Application Application
function component (2)
Infrastructure
service
• Application service:
• an application service is realized by an application component or an application
function;
• an application service is used by an application component;
• an application service has access to a data object (an application service creates,
reads, modifies or destroys a data object);
• an application service can consist of other application services and can use other
application services.
2 4 A R C H I M AT E M AD E P R A C T I C A L
Application Application
service (3) service (2)
consists of
is used by
realisation realisation
Application Application
function component
• Data object:
• A data object is created, read, modified or destroyed by an application component,
application service or application function (via access relationship);
• A data object can have specializations;
• An artifact realizes a data object;
• A data object can point to other data objects (aggregation relationship);
• A data object can consist of other data objects (composite relationship).
Application
service
Application Application
function component
access
realisation Artifact
Data object
aggregation
composition
Specialisation
Consequences: Beware; these are a number of frequently occurring situations where the
use of relationships in ArchiMate is much broader than summarized above. A complete
overview can be found in the Architecture Language Reference Manual.
A R C H I M AT E F O U N D A T I O N 2 5
5.3 P r od uct an d a pp l ic at i on s er vi c e s
Question: Isn’t it strange that a product can not only consist of business services but also
application- and infrastructure services? A customer cannot possibly ‘consume’ application
services? So if an application service is used almost directly by a customer, wouldn’t there
be a business service in between? In some examples in the Architecture Language
Reference Manual, a product is composed of application and business services.
Solution: The Architecture Language Reference Manual indeed contains examples where
customers use application services directly. It is better to put a business service in between.
In the product description of the Architecture Language Reference Manual (p. 26) the
application services ‘Account status’ and ‘Money transfer’ will become business services.
The connection between a business service and an application service is routed via a
business process that supports the business service, and is in its turn supported by an
application service. This validates the indirect relationship that a business service uses an
application service.
Consequences: You should consider deleting the aggregation relationship between product
and application service.
Question: How can you model two variants of the same process in ArchiMate whereby one
process is executed as a batch process and the other process is executed manually
(online)?
Solution: Distinguish two variants of the business process: one for manual (online)
processing and one for batch processing. Although the results of the processes can be
identical, the manual (online) processing allows more room for exceptions and often more
granular process steps can be distinguished. In both process descriptions it is sensible to
consider actions as units of time, place and behavior when determining the ‘size’ of the
actions. This will probably differentiate the two process variants.
Based on the two variants of the business process, describe the application services that
support these processes. Use the actions that have been modeled in the business process
as a starting point: the implication of this is that the application services for both variants can
differ! Often it will be that application services that support a batch process are more
granular than application services that support an online process, because in the latter case
more granular actions can be distinguished. Beware, it is very well possible that application
functions that realize the different functions of application services are common: this points
to reuse of functionality in the batch and online processing.
2 6 A R C H I M AT E M AD E P R A C T I C A L
Use the Application usage viewpoint from the ArchiMate book (Lankhorst et al., 2005, p.
184). This viewpoint allows one to visualize how business processes are supported by
applications, via application services.
Register Register
(batch) (online)
Customer Enter
Scanning Enter claim
administration customer
service information
service information
Document Document
CRM CRM
management management
application application
system system
Figure 5-10: Example of a batch and online (manual) variant of the same process
Relationships with other good practices: Refer to the good practices ‘Business service,
business function and business process’, ‘Constraining business processes’ and
‘Viewpoints for process modeling’.
5.5 S e r vi c e b ro ke r
Question: How do you model a service broker (or comparable component, for example a
workflow handler or a middleware-type component)? On one hand it is clear that the broker
is the center point of all services, but on the other hand it is not visible which application
produces which service (via the broker). The goal of a broker is simplification of the many
relationships between different applications. Sometimes the following modeling pattern is
used:
A R C H I M AT E F O U N D A T I O N 2 7
Application service1 Application Application
service2 service3
broker
service
broker
Solution: The core of the solution is in relating the applications and application services on
one hand (the application realizes the corresponding application service), and relate the
application services and the broker service on the other hand (the broker service “contains”
the application services). The situation described above will then be modeled as follows:
Business Business
process (2) process
By generating different views (and leaving out certain relationships or showing these in a
nested manner), different focal points can be achieved. In the following figures the
relationship between applications with and without a broker and the role of the broker are
visualized.
2 8 A R C H I M AT E M AD E P R A C T I C A L
Business Business
process (2) process
Business Business
process process (2) broker
service
Application Application
service (3) service (2)
Application Application
service (2) service (3)
broker
service
Application
service (3)
Application
service (2)
broker
Relationships with other good practices: The service broker is part of the application
landscape. Refer to good practice ‘Application landscape’.
5.6 D o m a in
A R C H I M AT E F O U N D A T I O N 2 9
Sales domain
Offer
Check operability
Present
and profitability
offer
Alternatives: If a targeted domain consists of similar concepts (for example only application
components) an occurrence of such a concept might also be used to construct the domain.
The components in the domain will then be related to the domain with an aggregation
relationship.
Sales
Domain
3 0 A R C H I M AT E M AD E P R A C T I C A L
infrastructure domain, the node seems the most suitable container. There is currently a
study in progress to extend the language with a separate ‘Domain’ concept.
Relationships with other good practices: Refer to good practice ‘application landscape’.
5.7 I n t er na l an d e xt e rnal s er vi c e s
Question: ArchiMate distinguishes services that are used within the own layer and by the
next layer above.
The ‘own layer’ is the business layer for business services, the application layer for
application services and the infrastructure layer for infrastructure services. ArchiMate calls
this “internal services”.
The ‘next upper layer’ for the infrastructure layer is the application layer, for the application
services it is the business layer and for business services it is the environment. ArchiMate
calls this “external services”. The concepts internal and external are therefore relative with
respect to the layer where the service is being realized.
How do you visualize this difference? Also refer to EA at work, p. 86.
Solution: Defining services that are used within the own layer (‘internal services’) is what is
often meant with Service Orientation. The modeled services usually coincide with actually
implemented / to be implemented services (especially with respect to application services
and infrastructure services).
Services that are used by the next upper layer (‘external services’) represent meaningful
functionality that supports the next upper layer; this will not always refer to an implemented
service (with respect to an actual externally ‘callable’ functionality).
We recommend as good practice to handle internal and external services as two dedicated
groups and distinguish these in views, especially in those cases where distinction between
internal and external services is important. External services will often have other demands
than internal services, and other aspects will have to be registered. The service itself will
often have a differing design, depending on the intended support within the own layer or the
next upper layer.
Figure 5-16 is an example of how this distinction can be visualized: the internal and external
services are distinguished by placing (grouping) them in separate layers1. In this example
the Customer management service is an external service and is therefore positioned in the
corresponding layer. The Customer data service is used only within the application layer
and is therefore an internal service. Another possibility is to shape and/or color internal and
external services accordingly.
1
Notice that in Figure 5-16 a simplification has been applied by leaving out the application
function – refer to good practice "Simplification with sustainable consistency".
A R C H I M AT E F O U N D A T I O N 3 1
external application services
Customer administration
service
application services
Customer Assessment
administration Customer data system
system service
Customer administration
service
Customer Assessment
administration Customer data system
system service
Alternatives: In this good practice a distinction is made between internal and external
services. Reasons may exist not to make this but another distinction, for example between
business critical and non critical services, or between services with a gold, silver or bronze
service level agreement. To make a distinction like this an identical approach as described
above can be used, more specifically to use grouping, coloring or shaping to emphasize the
distinction. The model and visualization goal determines the distinction that is so relevant
that it has to be emphasized.
Relationships with other good practices: There is a relationship with good practice
‘Interfaces between applications’.
Solution: Services in ArchiMate are not mandatory. If these are not distinguished and not
foreseen for the future, the services can be left out at will.
3 2 A R C H I M AT E M AD E P R A C T I C A L
Consequences: If not services are distinguished, then no services will be modeled. The
rules applying to good practice ‘Simplification with sustainable consistency’ have to be used
to use the ArchiMate concepts in a consistent manner.
Instead of a process that uses a service (1), this uses an application function (2) or, with
increasing simplification, an application (3).
1) 2) 3)
Present Present Present
offer offer offer
Accepting
Service
Alternatives: Even if currently no services are distinguished, service oriented thinking can
help to achieve another view on the world. This can lead to new insights. By considering the
world from a service oriented viewpoint one often will arrive at other groupings and
responsibilities.
If the service oriented approach is envisioned to be used in the future, that future situation
can be modeled with services.
Relationships with other good practices: Refer to good practice ‘Simplification with
sustainable consistency’.
For structural relationships, a powerful composition rule has been developed based on the
strength of the relationship. In a chain of concepts the most ‘weak’ relationship in the chain
determines the overall relationship between the endpoint concepts of the chain. The table
below shows the strength of structural relationships. Figure 5-18 shows an example of this
composite rule.
In this example, the indirect relationship between the process Registration and the
application function Manage Customer data is a used by relationship because this has a
lower weight than a realization.
A R C H I M AT E F O U N D A T I O N 3 3
Relationship Strength
association 1
access 2
used by 3
realization 4
assignment 5
aggregation 6
composition 7
Present
offer
used by (3)
Accepting
Service used by (3)
realisation (4)
Accepting
system
Financial Status
check update
Checking Accepting
system system
Checking Accepting
system system
3 4 A R C H I M AT E M AD E P R A C T I C A L
Check operability Present
and profitability offer
Checking Accepting
used by (3) Service Service
Checking Accepting
Service Service
Consequences: Views can be simplified in this manner to a level of detail that is relevant
for the goal of the view, without losing consistency.
Not every tool supports this simplification. The consequences are that redundant
relationships may exist. In the above example of the services this implies that the existing
relationship between the processes is registered in the tool (left part). If the relationship
between the services is visualized in another view (right part), the tool may introduce an
extra triggering relationship between these services.
Relationships with other good practices: These simplifications can be applied to any
good practice.
A R C H I M AT E F O U N D A T I O N 3 5
References
3 6 A R C H I M AT E M AD E P R A C T I C A L