2010 - VantWioud Book - TheIntegratedArchitectureFrame (H1 & H2)
2010 - VantWioud Book - TheIntegratedArchitectureFrame (H1 & H2)
To answer the question ‘Why was IAF developed?’ we need to understand why
architecture has become such an important topic in the IT industry. In the 1980s
life in the IT industry was relatively straightforward. There were centrally man-
aged computer systems with ‘dumb terminals’ to do the work. Then departmental
or mini computers started to show up. Short after that, personal computers and
various integration aspects entered into the arena. The IT landscape became
more and more complex. Part of the complexity was that we had to design
solutions in terms of both software and hardware, whereas until then the main-
frame always was implied, and only additional terminals, additional disk space,
and additional processing power were to be considered. Thus we needed tools to
manage this complexity. Architecture was the term that was coined to describe
our activities to successfully manage the complexity. Architecture and Infrastruc-
ture seemed interchangeable notions – we still see some residues of that here and
there – but the link with other aspects was obvious and needed a broader view.
Within Capgemini work began to formalize what we meant with architecture as
part of a transformation program called Snowball that was intended to intro-
duce client-server technology and iterative development into the organization.
Architecture was our approach used to explain how we defined which infrastruc-
ture was needed to support the business. The architecture development method
(ADM)1 became part of the training material in the transformation program. The
ADM was originally developed in the UK and deployed worldwide. It demon-
strated that architecture was a justifiable set of activities in the overall business
transformation process. It provided us with standardized mechanisms and tem-
plates to communicate our architecture development work. The ADM as an
infrastructure architecture method taught us how very beneficial it was to have a
common language, approach and set of tools to do our work.
Another reason for having IAF was that projects were getting bigger and more
complex. The requirement for transnational staffing of the projects also
increased. It was hard to get the right architect in the right place, as they all
did their architecture work their own way, except for the infrastructure archi-
tecture part, which was better aligned across the architects in this area. Within
Capgemini we realized we needed to standardize more of the architecture
activities that we performed.
An additional reason for having IAF was that it would provide us with a means
to communicate what we did, and align ourselves with other professions that
were working on the projects. IAF should not only help us structure our own
work but also allow us to innovate the way we do architecture.
We knew we could not do it all at once, so we needed a ‘framework’ in which we
could position the various architectural subjects to cover. We studied the
available industry frameworks and architecture approaches and could not
find anything that suited our requirements. Thus we decided to develop our
own, and the Integrated Architecture Framework (IAF) was born.
For more than 16 years, since 1993, IAF has proven its value. The framework
has been used in over 3000 projects worldwide, ranging from chip design to the
creation of complete new lines of business for global players. It has been
formally adopted by many organizations outside of Capgemini. Implicitly it
has been adopted by even more organizations, as they requested us to create an
IAF based architecture for them. In doing that we trained their staff to use IAF.
IAF has an elemental line of thought that has proven to be valuable and robust
in many different types of projects. The core mechanisms that form IAF’s basis
are sacrosanct. Traceability of decisions, basing decisions on principles, and
reducing complexity by separating concerns are three of these mechanisms that
can be applied in any situation.
IAF has also proven to be flexible. It can be adopted by all the different types of
projects in which architecture is required. It has been used standalone and in
1
Despite having the same acronym this ADM is not related to the TOGAF ADM.
1.4 IAF Strategy 3
combination with other methods and approaches. This works so well because
IAF was designed as a flexible toolkit, and not as a rigid cookbook. Of course
this flexibility also has its drawbacks. Since IAF is not prescriptive, it is more
difficult to initially understand and use because users have to select their own
tools. They are not told what to do in a step by step fashion.
One of the core principles of the framework, a traceable link between the
business and IT, has proven its value to our customers many times. They
could understand and explain why specific investments were being made. It
was relatively simple to understand the impact of change in a specific area
because of that traceability. One was able to trace back which parts of the
business would be impacted by a specific change in IT, for example in case of an
upgrade of a server, package or database management system.
Another factor that demonstrates IAF’s value is productivity. It is not uncom-
mon to expect an IAF architect becoming productive within hours after on-
boarding a new project. They understand the ‘language’ used, and can almost
immediately start to contribute to the result. For example, a colleague from the
UK once joined a Dutch project and indeed spotted a flaw in the network
architecture within half an hour. Second opinions on architectures created in
one country are sometimes executed by colleagues in another country to ensure
quality. This could not be done effectively without our common IAF language.
IAF is also based on practical experience and knowledge. All Capgemini
architects are encouraged to share their best practices. All version upgrades
have been based on input from real life practitioners. IAF has always focused
on describing what was needed to be done, as well as providing guidance on how
it could be done. This makes it one of the most sophisticated, practically proven,
and documented architecture frameworks in the IT industry.
Because of its focus on architecture content, IAF has proven to be a valuable
tool in combination with TOGAF2. TOGAF 8 focuses on process, and advises
to incorporate other frameworks for the content. This results in a good fit
between TOGAF and IAF which led to the incorporation of IAF elements
into the recently released TOGAF 9. How TOGAF (versions 8 and 9) and IAF
fit together is explained in more detail in Chap. 4.
2
An industry standard architecture framework of The Open Group.
4 1 IAF Background, Value and Strategy
answer this with a clear ‘no’. There are a number of reasons why we intend to
continue with IAF. The three most important ones are elaborated below.
The most important reason for continuing with IAF is the fact that many of our
customers have adopted the framework. They want to protect that investment.
They expect support from Capgemini, and we intend to deliver that support.
A second reason for continuing with IAF as a non open standard is the fact that
Capgemini wants to continue to play a leading role in increasing the maturity of
the architecture profession. To do that Capgemini needs a vehicle that can be
used to improve and test architecture tools under their own control. As IAF is in
our own control we intend to use it as an innovation platform that continuously
provides input to open standards bodies like The Open Group.
Thirdly we want to protect our investment in what matters for us: our
architects.
2.1 Introduction
Explaining IAF must start with the basics, the core elements of the framework.
Actually, our aim is that you understand IAF’s own architecture. Once you
understand IAF’s structure and underlying ideas it will be easier to apply it to
the specific situation you are in. This chapter is all about helping you under-
stand the architecture behind IAF.
IAF applies the basics of general construction methods. All construction meth-
ods have a common approach. They address questions in a specific order. The
order is expressed as interrogative pronouns: Why, what, how, with what.
There are reasons for the sequence of the questions.
If you don’t understand why you need to do something, you can’t work out what
needs to be done. You have to understand the context before you can start
working effectively. Studying the context helps define the scope and objectives,
and thus helps with staying focused. So understanding ‘why’ is the first thing to do.
If you don’t understand what needs to be done (the requirements), you will
never be able to craft the solution. You have to define the requirements before
creating the solution. Once you understand the requirements you are often able
to produce a concept of what is needed. So after understanding why you are
doing something you need to address the ‘what’ question by defining the
requirements (both functional and non-functional) and getting a concept of
the solution.
With a good understanding of the requirements you should be able to design a
logical solution to the problem, answering the question ‘How will the solution
look like’. In other words you structure the solution. You create the solution on
a logical level to enable flexibility. All architectures will take time to implement.
Circumstances as well as real life physical solutions change over time. By
describing the architecture on a logical level you will be able to deal better
with new insights and adapt it at the moment you physically implement a
specific part of the architecture.
Finally you can decide with what physical things the solution can be realized.
This implies allocation of physical things to the logical solution.
A practical example will demonstrate how this all works.
Imagine you are living in a city that has
been built on both banks of a large river.
There are a number of bridges crossing the
river, but traffic has grown through time
and there are constant traffic jams. In two
years time the city is planning to host a big
cultural event, and it wants to show a
modern, young city that is well prepared
to handle all the tourists that are visiting
the event. So, the scope and context of the
problem become clear. A new bridge
needs to be built in the city within 2
years and it should reflect the ‘young,
modern’ look that the city wants. The
‘why’ question should be clear by now.
Now we need to address the ‘what’ question. We need
to find out what the bridge has to do. Does it have to
carry pedestrians? Does it have to carry cyclists? Does it
have to carry cars and trucks? Does it have to carry
trains? How many of each type does it have to be able to
carry during average and peak hours of usage? Which
types and numbers of boats have to be able to pass
under the bridge? What is the river’s required water
flow capacity and what would happen if that were reduced if the bridge were
to have many pillars? What does the patron want it to look like to reflect the
young, modern look? Once these types of questions are answered we have a
clear understanding of the ‘what’ question. We know the requirements and are
able to craft the solution.
The third main step is creating a logical model of the solution, thus answering the
‘how’ question. Now there is a slight snag here. Real life has shown us that there
never is one solution. There always choices, and all solutions are trade-off of
different aspects like cost and performance. So, in
effect, if you think there is only one solution, you
might have to think a little longer. There are solution
alternatives that have to be considered. In this case we
can identify different types of bridges that could pro-
vide sufficient river-crossing capabilities. Some of
them will fit the principles we have defined regarding
‘young and modern’ better than others. Others might
not be able to be built within 2 years. We could even
2.2 The Context: The ‘‘Why’’ of IAF 7
2.2.1 Vision
The vision we had when we started to develop IAF consisted of a number of
elements. The most important goal was that we wanted to be able to provide
world-class services to our clients, and were convinced that architecture was key
in this. The ever increasing complexity and risk in the engagements we were
working on made this obvious. We also needed a robust and mature toolset to
deliver a constant quality of architecture services and a consistent experience
where a client is engaged many times over a period of time. The toolset had to
successfully address the alignment of business and IT. It had to be independent
of a specific architect: the way we work and approach architecture should be
common across all architects. In this perspective we now speak of IAF as a
8 2 IAF’s Architecture
‘design school’, with very specific style, approach and characteristics that we
feel make a difference: for us as Capgemini being a global company delivering
services, and for our clients ranging in size from the Fortune-500 to the local
medium enterprise. In addition to this it had to provide a platform on which we
could expand and improve the architecture profession. We decided up-front
that it had to be based on real-life experience, and not on pure theory. We knew
that we were embarking on a journey with an uncertain destination, and wanted
to base that journey on things that had been proven in the field.
2.2.2 Scope
The original slogan we used in regard to IAF was: ‘For a system to work as a
whole, it must be architected as a whole’. This slogan nicely depicts many
elements that are part of the IAF scope.
The first striking word is ‘system’. What do we mean by ‘system’? We have small
projects that upgrade existing applications to very large programs in which we
support complete post merger integrations of global companies or companies
constantly reinventing themselves. All these types of projects potentially require
some form of architecture. They all create or change a ‘system’. Thus IAF’s scope
needs to cover all types of architecture engagements at all levels in an organization.
Enterprise level – spanning business units –, Business unit (business domain) level
and Solution level. Enterprise and Business unit level are commonly meant for
supporting planning activities. Solution level is aimed at guiding the engineering of
the solution.
The second important word in the
slogan that is related to IAF’s
scope is ‘whole’. Capgemini
always approaches IT from the
viewpoint that it has to support
the business. This implies that
architecture should always be jus-
tified in business terms and trace-
ability to business requirements.
Even when we are architecting a
purely IT system, the business
should provide the objectives
and drivers for the architecture.
The third word in the slogan that
is related with scope is ‘archi-
tected’. IAF is aimed at the architects profession, and should only describe
things for which the architect has the main responsibility. Therefore IAF does
not provide support for the creation of an organization’s vision, mission and
strategy. These are defined as input for IAF. Some basic input that the
2.2 The Context: The ‘‘Why’’ of IAF 9
architect usually derives from the vision, mission and strategy is contained in
IAF to assist architects in collecting input if it is not there. On the other end,
migration planning has also been put out of scope of IAF, because that
activity is not the architect’s main responsibility. In general, migration plan-
ning is a joint exercise with the engagement manager as the responsible person.
IAF also tries to avoid overlap with other professions like business analysis
and engineering. There are many touch points between the architects and
these professions, just like there are many touch points between architects
and engineers in real life construction architecture. This creates a gray area.
Where does the architect stop and the engineer start? The most pragmatic
answer to this question is that there is a difference in focus. The architect
focuses more on how the ‘system’ fits into its environment. The engineer
focuses more on the internal structure of the ‘system’, within the boundaries
that have been set by the architect. In other words: the architects focuses on
the behavior and non functional requirements (‘black box’) while the engineer
on the internal construction (‘white box’).
2.2.3 Objectives
Through time IAF’s objectives have not changed much. The framework has
evolved due to increased understanding of architecture in the IT industry as a
result of the pursuit of the objectives.
IAF’s core objective is to provide a common way of architecting. Originally it
was intended to do this within Capgemini. Nowadays more and more organiza-
tions also adopt this common way of working.
IAF also must provide a communication framework to achieve the common
way of architecting. This ‘common language’ needs to be adopted through-
out our organization and across the regions where we operate, particularly
when serving global clients such as General Motors. This objective has
proven to be difficult to realize – but we feel we succeeded. One word can
have the same definition in multiple countries and still be perceived to be
different. An example that is popular in Capgemini is the confusion we
had around the term ‘Business event’. In the Netherlands this was perceived
as ‘something that can happen in an organization’. In the UK it was
perceived as ‘something that has happened in an organization’. Therefore
it was very understandable for the Dutch to propose basing a to-be archi-
tecture on business events. The UK architects tended to disagree. Their coun-
terargument was: ‘How can you base a to-be architecture on something that has
happened in the past?’
Sometimes we have even invented new words to resolve terminology discus-
sions. A nice example is the term ‘archifact’ that was used in IAF version 3
because we could not come to an agreement at that time on the usage of the term
10 2 IAF’s Architecture
‘artifact’. Another example is the term ‘scenario’ which we later replaced by the
term ‘solution alternative’. Many US architects were confused with the term
‘scenario’, as they associated this term with the movie industry.
The common way of working and common language were enablers for the third
objective that was defined by Capgemini. We have always had the need to staff
large projects from around the world. One of the challenges in doing this was
getting the right person with the right skills in the right place. IAF has proven to
be a great help in achieving this objective specifically due to the common
language.
The fourth main objective also comes from the large projects we work on.
Managing their complexity and thereby reducing project risk is important for
Capgemini because it raises the quality level of the results we deliver to our
clients. Clients have the same objectives.
2.2.4 Constraints
One of the major constraints for IAF is related to its scope. IAF focuses on
things that are the architect’s main responsibility. Topics, that (a) we assist in
and (b) are the main responsibility of other roles in the project, are not to be
positioned within IAF. They will be covered in frameworks that the other roles
use to standardize and professionalize their work.
Another constraint we have implicitly used in the development of IAF is the
focus on business and IT. Real life has proven that any change in an organiza-
tion should be realized by addressing a large number of topics. An acronym that
is sometimes used to describe these topics is COPAFITHJ. In the preparation of
any organizational change we should consider the Commercial, Organizational,
Personnel, Administrative, Financial, Information processing, Technological,
Housing and Judicial impact of that change. In line with the mission of
Capgemini, IAF focuses on process, information and technology. However
the basic structure within IAF can be used to extend the topics that are
addressed. For example one client wanted to add a ‘product architecture’ to
the framework to address commercial aspects while another client wanted a
‘financial architecture’ to address financial aspects.
The vision, scope, objectives and constraints mentioned in the prior sections
are the basis for the requirements that have been defined for IAF. This
section describes the requirements behind IAF. We have chosen an informal
descriptive approach of defining them, in contradiction to IAF based archi-
tectures itself, in which requirements are documented in a formal and
2.3 Requirements: The ‘What’ of IAF 11
Fact: When you define and agree the scope with your principal, you
demonstrate to the client that you really understand the problem. This
frequently leads to a modified scope (larger, smaller, shifted) because
you show what the actual, real problem is.
Fact: When you clearly recap the context, more information about the
scope will emerge.
The objective of the architecture;
Fact: When you don’t have a clear understanding of the objectives of the
architecture (the question which the architecture will answer), you will
not know when your architecture is good enough. A clear objective will
prevent you from going into details that are not relevant from the
perspective of the architecture.
12 2 IAF’s Architecture
Fact: You will almost never architect a green field solution, in which you
will have no constraints from the current state on the architecture you are
designing.
Many architectures can become relatively large and complex. A tried and tested
way to solve large and complex ‘configuration problems’ – which an architec-
ture is – is to split the overall problem into smaller ones that can be resolved, as
long as the identification of the smaller problems is in line with ideas that you
have about the overall solution. IAF is required to support this approach as we
typically design architectures in response to complex situations.
Not every type of architecture requires the same amount of detail when addres-
sing a given topic. For example interfaces might only need to be identified at
enterprise or domain level, while it is very relevant to specify them in detail when
working on a solution or software architecture. Also the granularity of the
architecture’s elements has to be variable. The topics we talk about at enterprise
level (sales, marketing, HR production and finances) are often larger than the
topics we talk about at solution level (order entry, stock level checking, order
picking and order packing).
The content of IAF must be able to cope with these differences and should not
depend on the industry sector where it is applied.
As Capgemini works for many different clients they encounter many differ-
ent situations. Ask any Capgemini architect if they have used the exact same
process to deliver an architecture twice. We promise you that they will say
‘no’ most of the time. For this reason we need to have process flexibility. In
fact we actually need to split process and content. Often we need to be able
to create similar content using different processes. We might be working
together with Capgemini transformation consultants in one engagement
and with consultants from another consulting firm in the other. Both
14 2 IAF’s Architecture
Where possible we need to solve similar problems in similar ways, thus working
toward the common way of architecting. By standardizing the organization of
architecture elements, we will discover similar problems and enable ourselves to
solve them in similar ways.
provide support for both functional and non-functional aspects. IAF must
cover this, in order to develop balanced functional solutions that perform as
desired; for instance, it makes a big difference if you need to support Straight
Through Processing of 100 million orders a day as opposed to manually
supporting 100 orders a day.
If a building architect would deliver results that were insufficient for the
engineers to build the building correctly, the architect would be sued. The
same should go for IT architects. They have to deliver standards, rules, guide-
lines, and specifications in such a way that engineers can build the desired
solution. An additional dimension for this requirement is that engineers are
evolving their way of working, just as we are. When we started forming IAF,
linear development was commonplace, and RUP was just starting to be used.
Nowadays RUP is commonplace, and methods like XP and Agile are becoming
more and more common. The different development methods have different
input requirements. IAF has to cope with that.
A city planning architect would also be fired if he could not deliver what the
city planners needed. Enterprise and domain level architectures are mainly
aimed at supporting planners and portfolio managers. Our output needs to
address their input requirements. Here too we need to be flexible, as planning
and portfolio management in the IT industry are not part of the business
fabric yet.
16 2 IAF’s Architecture
Capgemini has always adopted open standards where they added value to
the products that were being delivered. We have also contributed to an
early architecture standard, IEEE 1003.23. This standard is now obsolete.
It provided input for the famous IEEE 1471/2000 standard, which is
commonly known and used in IT architecture. IEEE 1471 is now also
ISO/IEC 42010. Currently Capgemini is member of The Open Group. We
participate in the development of TOGAF, The Open Group Architecture
Framework.
2.3 Requirements: The ‘What’ of IAF 17
Common questions IT architects have to answer are: ‘How do you know we have
everything?’ and ‘How do you know everything is consistent?’. Many times our
only answer was: ‘You have provided me with the input. You know your
business. Aren’t you confident that we are complete and consistent?’. Of course
this is the wrong answer. IT architects need to be able to demonstrate complete-
ness and consistency. IAF needs to provide mechanisms that demonstrate it.
Thinking in terms of service orientation has been adopted in very early stages
within Capgemini. It clearly added value because it helped address a number of
requirements.
Services have to be defined in such a way that they provide value to the service
consumer. So the consumer has to be able to understand what the service will
provide. This makes communication to the different stakeholders easier, and
helps us to get decisions made.
Services encapsulate their internal structure and expose themselves through well
defined, standardized interfaces. This helps manage complexity and thus sup-
ports one of the main reasons architecture has become a necessity in the IT
industry – managing that complexity.
The quality of service that a service can deliver has to be well defined in order to
the consumer to judge its value. Quality of service covers many non-functional
aspects of the architecture.
Cost reduction is one of the ubiquitous requirements in our industry. Re-use of
services is one of the things we use to reduce costs. Service orientation promotes
re-use.
All the reasons above clarify why IAF needs to apply service oriented principles.
Please note that we use the concept of a service not only in a technological way.
We use this concept as well at business level, e.g. drilling a whole to find oil.
environment through time, simply because they might solve a problem we could
not solve at the moment we created the architecture. One major example in this
area is network bandwidth. Who could have imagined the speed we currently
have 5 years ago? This is the reason to support ‘implementation independent
models’. These models show the structure of the architecture, but do not
contain real life constraints. They can be used as a reference model at the time
a certain part is being implemented.
As our industry is still rapidly evolving, different architecture styles are also
evolving. Two tier client-server has been succeeded by 3-tier and cloud comput-
ing. Product oriented business organization is being replaced by customer
oriented business organization. IAF has to be independent of these evolving
architecture styles to be stable. On the other hand, IAF also has to be able to use
the styles to create a specific architecture.
Different customers will have different tools to create and maintain architec-
tures. We will have to be able to use the different tools in combination with IAF.
We will not link ourselves to one tool environment. Capgemini has developed
a meta model and certification scheme for tool vendors so they can embed IAF
support in their tools.
2.4.1 Introduction
The previous section has described the requirements we have defined for IAF.
Here we will describe the logical structure that has been created to fulfill the
requirements.
2.4 Logical Structure: The ‘How’ of IAF 19
‘With what’
2.4.2.4 Artifacts
Artifacts are the core ele-
ments of IAF and fundamentally describe the architecture.
There are a number of core types of artifact within IAF that are essentially the
same across any of the aspect areas in which they reside. This section describes
these core artifacts. Other artifacts that are specific to an aspect area and
abstraction level will be elaborated in Chap. 3.
Architecture Principles set out the general characteristics of the desired archi-
tecture and why it should be as it is. Principles are initially represented at the
start of an architecture engagement; however they are often expanded and
enumerated throughout the architecture process as architecture details are
expanded, or as a result of better understanding of the business objectives.
Services are the architecture’s fundamental building blocks. A service describes
an ‘element of behavior’ or function needed in the architecture. The description
of a service describes what it does, rather than how it is done. This implies that
services are defined in the ‘what’ abstraction level.
Components are sets of services that are organized in accordance with the
Architecture Principles and business objectives. The way IAF works with
services and components is much different from many other architecture frame-
works. See Sect. 2.4.2.10 for a detailed explanation. Components are defined in
the ‘how’ and ‘with what’ abstraction level.
Collaboration contracts describe the interaction behavior between services and
components. In effect they capture the non-functional aspects of the architec-
ture. They document for example how often, how fast, how secure, and how
controlled the interaction needs to take place.
Standards are documented statements that describe what has to be adhered to
during the realization of the architecture. We often distinguish two types of
standards, based on the moment they have to be adhered to. If a standard can be
adhered to in the next change of the system, then it is a normal standard, and
can be treated as described. If adherence to the statement has to be realized
before a certain date, like with law changes, then we use the term ‘rule’.
Commonly standards and rules are non-negotiable. Senior business manage-
ment needs to decide if they can be breached.
2.4 Logical Structure: The ‘How’ of IAF 21
1
IEEE Computer Society (1999) IEEE P1471 Recommended Practice for Architectural
Description. IEEE, US.
22 2 IAF’s Architecture
‘operational view’ and ‘performance view’ where others have used terms like ‘opera-
tional architecture’ and ‘performance architecture.’
A viewpoint captures the rules for constructing and analyzing a particular kind of
view. It is a template for a view which can be reused across many architectural
descriptions. The term ‘view type’ was considered as an alternative for viewpoint
because of the strong analogy of view and viewpoint to instance and type; but we
chose ‘viewpoint’ because of its use in existing standards and the requirements
engineering literature.
TOGAF version 82 and 93 use the following definitions:
View: A ‘view’ is a representation of a whole system from the perspective of a related
set of concerns. A view is what is seen from a viewpoint. An architecture view may be
represented by a model to demonstrate to stakeholders their areas of interest in the
architecture. A view does not have to be visual or graphical in nature.
In capturing or representing the design of a system architecture, the architect will
typically create one or more architecture models, possibly using different tools. A
view will comprise selected parts of one or more models, chosen so as to demonstrate
to a particular stakeholder or group of stakeholders that their concerns are being
adequately addressed in the design of the system architecture.
Viewpoint: A definition of the perspective from which a view is taken. It is a
specification of the conventions for constructing and using a view (often by means
of an appropriate schema or template). A view is what you see; a viewpoint is where
you are looking from – the vantage point or perspective that determines what you see.
IAF uses views and viewpoints in the same way that IEEE 1471 and TOGAF
do. Often we define the stakeholder and the concern the stakeholder has along
with the description of the view. We do not prescribe modeling or diagramming
techniques in the viewpoints as that would be in contradiction with our require-
ment regarding diagramming model independence.
2
The Open Group (2007) TOGAF Version 8.1.1 Enterpise Edition. The Open Group, US.
3
The Open Group (2009) TOGAF Version 9. The Open Group, US.
2.4 Logical Structure: The ‘How’ of IAF 23
aspect area can be merged into one overall analysis of the solution alternatives
for the whole architecture. There are two basic approaches to solution alter-
natives, the ‘fast track’ and the ‘full analysis’ approach.
Within each approach you need to define the criteria that are used to compare
the different alternatives. After that the different alternatives need to be identi-
fied. It is best practice to base alternatives on architecture principles that have
been defined. That enables you to rationalize the identification of the solution
alternative, and the scoring against the defined criteria and principles.
The fast track approach scores each solution alternative against each criterion.
The amount in which the alternative fulfills the criterion determines the score.
The solution alternative that fits all criteria the best, wins.
The full analysis approach enables the usage of relative weights for the different
criteria, thus making some criteria more important than others. The table below
shows how it works.
This approach takes more time because you do not only have to agree the
criteria and scores, but also the weight of each criterion.
Solution alternatives obviously should also take the different interests different
stakeholders have into account. For example, centralization might be in the
interest of the corporate staff departments, whilst being strongly opposed by
business unit management because centralization implies loss of control for them.
2.4.2.7 Domains
Architectures can become relatively large, simply because they have to describe
many services and components. An enterprise level architecture can easily
contain hundreds of services and components. It is especially difficult to com-
municate and visualize services, as they are the fundamental building blocks of
the architecture, and therefore the most abundant. Architects using IAF have
implicitly solved the communication and visualization challenges they had with
services by grouping them together in ways the stakeholders can relate with.
They often used the term ‘domain’ or ‘segment’ to describe the groups. As of
IAF 4.5 we have formalized the usage of domains, especially in the ‘what’
abstraction level, as that is where services are defined. There has been much
debate regarding this subject, as many people argue that grouping services into
domains implies creating a structure, and thus is part of the ‘how’ abstraction
level. There is a fundamental difference between the way we use domains and
the way we construct components.
24 2 IAF’s Architecture
2.4.2.8 Synonyms
For a long time we did not have a formal mechanism to document the terms we
use to communicate artifacts to non-architect stakeholders. This has lead to
situations in which architecture teams caused confusion due to incorrect usage
of terminology. As of IAF version 4.5 we have formally introduced the usage of
synonyms. The IAF glossary has been extended to allow the definition and
usage of synonyms. This can be done on a per project or per client basis.
Another advantage of synonyms is that it makes it easier to link to terminology
that is already being used in the organization.
2.4.2.9 Mechanisms
Wikipedia4 describes the term ‘mechanism’ like this:
A mechanism is some technical aspect of a larger process or mechanical device, or
combination of parts designed to perform a particular function. Sometimes an
entire machine may be referred to as a mechanism. Examples are the steering
mechanism in a car, or the winding mechanism of a wristwatch.
The term ‘mechanism’ was used in IAF version 1 and 2 to describe parts of the
overall architecture that provided a distinct function. Often they consisted of
combinations of artifacts from multiple aspect areas. The mechanisms were
even described in mechanism catalogues. The usage of the concept mechanism
has been less prominent in the current versions of IAF. This does not mean that
they cannot be used.
Common and current usage of mechanisms is often within quality related areas.
Mechanisms that ensure specific quality aspects can be described and even re-
used in different parts of the architecture. Examples of mechanisms that could be
described are a high availability mechanism that prescribes the different services
and components that need to be used to achieve a certain level of availability, like
synchronous replication and hot standby. Another example could be the use of
biometrics mechanism for implementing strong authentication as opposed to
weak authentication based on the combination user-id + password.
4
Information available via Wikipedia. Http://en.wikipedia.org. Accessed December 2008.
2.4 Logical Structure: The ‘How’ of IAF 25
IAF takes a different approach. First we define the services at the level of
detail required without explicitly putting them into a hierarchical structure.
Then we define grouping criteria that are based on the architecture
principles. After that we create components by grouping the services into
components based on the grouping criteria. The figure below visualizes the
IAF approach.
26 2 IAF’s Architecture
Advantages of the IAF approach are that it is easy to define and create solution
alternatives as we are not influenced by structures already created. We also
explicitly split the ‘what’ from the ‘how’ question by first defining services and
then grouping them. Of course there is a drawback to this approach: visualiza-
tion and communication of the services is more complex. This has been solved
by the introduction of domains.
A group of services is a component for which a solution as a whole exists, and
that can function as a whole. In general each architecture will only contain one
group for each required set of services.
5
This term was chosen to align with the open standard WS-Policy, which describes how the
capabilities of a web service can be documented and published.
2.4 Logical Structure: The ‘How’ of IAF 27
2.5.1 Introduction
In Sect. 2.2 we addressed the ‘why’ question in regard to IAF. Sect. 2.3 describes
IAF’s requirements and thereby addresses the ‘what’ question. The ‘how’
question has been addressed in Sect. 2.4 by describing IAF’s logical elements.
This section uses the logical elements to describe which real life physical
elements are part of IAF. An example: We described that we use abstraction
levels in Sect. 2.4.2. In Sect. 2.5 we will describe which physical abstraction
levels are really there.
architect, and as the planning depends on many other aspects, it has not been
incorporated as a formal part of the IAF model.
topics etc. People with information systems skills do not naturally have the
capabilities to define and structure the computing systems and network tech-
nology needed to let the information systems run.
This all leads to the conclusion that the four aspect areas defined in IAF are
needed to create an architecture that supports business and technology trans-
formation, and that each area requires distinct skills which helps in getting the
right architect in the right place, enabling effective communication across the
borders of each architect’s discipline.
security and governance were often neglected as topics, were only addressed at
the end of the process and then required the collection of additional information
from the business, and at this point were often looked at only from an IT
perspective. People were only focusing on the main aspect areas. The merge
was done by the addition of attributes to artifacts in the main aspect areas and
defining mandatory security and governance views in the relevant cells of IAF.
This has the effect of both ensuring that the information can be collected from
the business as early as possible, relates directly to the business needs and is
treated in a holistic manner across the whole architecture.
2.5.2.4 Artifacts
As Chap. 3 will describe all artifacts per aspect area and abstraction level, we
will use this section to explain where artifact types are positioned in the IAF.
The contextual level is the area where all our ‘input’ is positioned. The
input help us understand (1) the context of the business (mission, strategy,
drivers, . . .), (2) the architecture engagement (scope, objective, . . .) and (3) the
architecture principles.
Services and collaboration contracts are used in the conceptual level to docu-
ment architecture requirements. What services are needed and how do they
collaborate? Services are defined within all aspect areas, so they can be business
services or technology services.
Actually this way of documentation can be used to describe functional and non-
functional aspects of anything. The service describes what can be delivered
(functional aspects) and how it should behave (non-functional aspects). The
collaboration contract describes the way in which it is to be delivered in terms of
the communication mechanism to be used and the syntax and semantics of how
it can be requested. The communication
mechanism effectively defines how fast,
how secure, how often etc things can hap-
pen. An example will clarify this. If you
were in a conversation and you were
asked what your age is, then nine out of
ten times you would answer the question
within a few seconds. This is an example of
two services executing a collaboration con-
tract with each other. The requested and
delivered service are: ‘Collect age’ and
‘Provide age’. The communication
mechanism is sound waves generated by
vocal chords. Syntax and semantics are the English language. The communica-
tion mechanism implicitly defines behavior: you know the other expects an
answer within a few seconds. You also know you can lie about your age, and the
32 2 IAF’s Architecture
Is grouped into
Is grouped into
sc
De
Is basis for
Is basis for
‘How’– n
Logical – ee n
Logical e tw Logical ee
Structure ... nb ... etw
cti
o nb
component er
a component tio
int ac
s Collaboration
nter Collaboration
ribe contract si contract
c be
Is allocated to
es cri
Is allocated to
D s
De
Is basis for
Is basis for
n
ee n
‘With what’– etw ee
Physical – Physical b Physical etw
tion b
Allocate ... r ac ...
ction
component nte component ra
si i nte
be Collaboration
es
Collaboration
cri b
De
s contract
s cri contract
De
The collaboration contracts between services are the basis for collaboration
contracts between components. Collaboration contracts between components
can be the result of merged collaboration contracts between services, if their
characteristics allow them to be merged. If they cannot be merged, then we
can conclude that there will be two ‘interface types’ between the components.
A simple example is one interface for single, high priority service requests,
e.g. airline ticket bookings. The second interface type could then be grouped
requests for lists of bookings done during the last 24 hours. Collaboration
contracts in one area also form the basis for the collaboration contracts in
other areas. A business area collaboration contract could define the max-
imum business response time for a service request to be 3 seconds. We can use
that as the basis for the response time for the IS services that support the
business service. We could assume that IS processing would take 2 seconds.
That implies that the maximum infrastructure response time would have to
be 1 second.
Logical components are ‘allocated’ to physical components. What does this
‘allocation’ actually mean? Well, in its essence the mechanism is simple. Logical
processes are mapped to the real life physical parts of the organization that will
be executing the processes. Logical IS components are allocated to products
that have been selected to implement them, or we have decided to build them in
a specific physical environment like .NET or Java. Logical TI components like a
34 2 IAF’s Architecture
server, mobile workstation, SAN or backbone switch have been allocated to the
real life physical products with which they will be implemented.
This basic approach and meta-meta model has proven to work in all architec-
ture aspect areas. It keeps the overall architecture as simple as possible and
ensures traceability across aspect areas.