Building
blocks and services – more detailed analysis
Copyright 2017 Graham Berrisford. One of about 300 papers at http://avancier.website. Last
updated 08/03/2018 17:00
TOGAF® and ArchiMate® are registered trademarks of The Open
Group.
This second paper is a supplement to a paper you probably ought to read first.
TOGAF
Building Blocks and Services
That first paper maps TOGAF to ArchiMate
and looks at TOGAF more widely.
This second paper adds more detail to the first paper above,
by way TOGAF building block concepts and examples.
Contents
TOGAF’s
generic concepts and principles (REPEAT)
Services
in the different domains
The
structural view of a system
Building
blocks in TOGAF’s Architecture Development Method
Building
blocks in TOGAF’s Content Framework
Logical
and physical building blocks
Notes
on the use of ArchiMate symbols
“The Open Group is a global consortium that enables the achievement of business objectives through technology standards.”
TOGAF is management framework for designing, planning and governing changes to business systems – under change control.
Before putting technologies to use, TOGAF encourages logical technology-independent specification of business systems.
Understanding TOGAF’s logical architecture definition principles helps
to people to read it in a coherent and consistent way.
TOGAF says of enterprise architecture:
“EA regards the enterprise as a system, or systems of systems”
“Systems are built up from … building blocks [that] interoperate
with other building blocks.”
“The major work… consists of identifying the architecture building
blocks required to meet the business goals and objectives.”
“An
architecture is a set of building blocks depicted in an architectural
model.”
“A building block’s
boundary and specification should be loosely coupled to its
implementation."
“For each building
block, build up a service description portfolio as a set of non-conflicting
services.”
"A service is
a logical representation of a repeatable business activity that has a specified
outcome”
“It is important
that the interfaces to a building block are published and reasonably stable.”
TOGAF 9.1
The Open Group’s (executable standard) principle is to abstract from the
internal behaviors of structural components by
defining the services they offer.
The approach to architecture definition in TOGAF may be distilled as:
· The Architecture Requirement Specification includes contracts for services offered by business and IS/application building blocks.
· Architecture building blocks (ABBs) are logical components defined by the services or flows they provide to each other and to external entities.
· Solution building blocks (SBBs) are physical components hired, bought or built to realise ABBs, and so deliver the required services or flows.
· SBBs are defined by the ABBs they realise, along with vendor-specific and implementation-specific details.
The implicit generic meta model is: required services <are assigned to> logical ABBs <are realised by> physical SBBs.
The generic meta model is specialised in three architecture domain/layers thus.
|
Required behaviors |
aassigned to logical structures |
realised by physical
structures |
|
Services |
ABBs |
SBBs |
Business |
Business Services |
Functions |
Organisation Units |
Roles |
Actors |
||
IS/Applications |
IS/Application Services |
Logical Application Components |
Physical Application Components |
Technology |
Platform Services |
Logical Technology Components |
Physical Technology Components |
Which can alternatively be tabulated thus.
ArchiMate-compatible generic concept definitions |
Business |
IS/Applications |
Technology |
Required behavior element Service: a requestable
behaviour that has entry conditions (preconditions, trigger, inputs) and exit conditions or
outcomes (outputs and post-conditions). Process: a flow of activities
that runs from a start to an end result. |
Business Service Process |
IS/Application
Service |
Platform/Technology
Service |
Logical structure element An abstract specification of
what one or more physical actors can do |
Function Role |
Logical
Application Component |
Logical
Technology Component |
Physical structure element An encapsulation of behaviors and other resources. It realises services by
performing activities in processes. |
Organisation Unit Actor |
Physical
Application Component |
Physical
Technology Component |
The TOGAF standard (reflecting The Open Group’s principle) has always been thoroughly service-oriented.
A service is a logical representation of a
repeatable activity that has a specified outcome.
TOGAF is about the logical architectural specification of systems at an
enterprise portfolio management and/or solution architect level.
TOGAF says its physical components are “considerably abstracted” from implementation, from components that actually perform behaviors.
ArchiMate is normally used at level closer to physical implementation, and so a more natural fit to specification at the solution and/or software architect levels.
The table below maps ArchiMate elements to TOGAF elements.
ArchiMate-compatible
generic concept definitions |
Business |
IS/Applications |
Technology |
|
Required behavior
element Service: a requestable behaviour that
has entry conditions (preconditions, trigger, inputs) and exit conditions or outcomes (outputs
and post-conditions). Process: a flow of activities that runs from a start to an end
result. |
TOGAF |
Business service Process |
IS/Application service |
Platform service |
ArchiMate |
Business service Business process |
Application service |
Technology service |
|
Logical structure element An abstract specification of what one or more physical actors
can do |
TOGAF |
Function Role |
Logical application component |
Logical technology component |
ArchiMate |
Business function Business role |
Application function OR interface |
Technology function OR interface |
|
Physical structure element An encapsulation of behaviors and
other resources. It realises services by performing activities in processes. |
TOGAF |
Organisation unit AND Actor |
Physical application component |
Physical technology component |
ArchiMate |
Business Actor |
Application Component |
Node |
Read the earlier paper for more detailed comparison of TOGAF and ArchiMate.
Services in the business layer
“The TOGAF content framework differentiates
between the functions of a business and the services of a business.
Business services are specific functions
that have explicit, defined boundaries that are explicitly governed.”
The use of
the term functions in the definition of services is confusing – fails to
differentiate them.
Business
organization units, functions and roles are structural building blocks.
Business
services and processes are discrete behaviors that
deliver “specified outcomes”.
“Services are distinguished from functions
through the explicit definition of a service contract.
A service contract covers the
business/functional interface and also the technology/data interface.”
A service may depend on the state of stored
business data, and may change that state.
So the functional rules in a service
contract may define preconditions and post conditions with reference to
business state data.
Services in the applications layer
“The organization’s Application Portfolio is captured as a catalog within the Architecture Repository.
Catalogs are hierarchical in nature and capture a decomposition of a metamodel entity and also decompositions across related model entities
(e.g., logical application component -> physical application component -> information system service).”
This seems a mistake
because the meta model says: physical
application component <-> logical application component <->
information system service.
The III-RM is a
three-layer service-oriented architecture with discrete service requests
passing from client apps to service provider apps.
“Information Consumer Applications deliver content to
the user of the system, and provide services to request access to information
in the system on the user’s behalf
“Brokering Applications manage the requests from any
number of clients to and across any number of service providers.
“Information Provider Applications, which provide
responses to client requests and rudimentary access to data managed by a
particular server.”
Services the technology layer
The Technical Reference
Model is the biggest sources of service examples.
It defines both groups of services (sometimes called
service portfolios) and individual or discrete services.
E.g. Electronic Mail services include the capability
to send, receive, forward, store, display, retrieve... messages.
Each of those is a
discrete event-driven service, which encapsulates a start-to-end process.
Similarly,” Transaction
manager services include starting a transaction… committing or rolling back a
transaction”
(Committing a
transaction is process that probably involves thousands of atomic process
steps.)
This table shows TOGAF and ArchiMate share much by way of core concepts, and use a variety of terms for them.
|
Behavior elements names |
Structure element names |
External view |
Service,
Service Contract |
Interface,
Boundary, Service Portfolio |
Internal view |
Process,
Value Stream, Scenario |
Building
Block, Component, Function, Organisation Unit, Role, Actor, Node |
The structural view of a system features
these terms and concepts.
Interface: a collection of services requestable by a client; one
way to specify a building block, component or other structural node.
Building block: an active structure, a performer of required activities, which interoperates with other building blocks.
Component: a building block defined by the one or more services it offers to clients.
Function: a logical component that clusters cohesive behaviors by some cohesion criterion other than sequence; a subdivision an organisation’s capability (cf. a capability).
A node connectivity, communication or value network diagram can relate structure elements of any kind by the exchange of flows or services.
Encapsulation behind interfaces is
general principle of all business system design, not just software design.
In this Harvard Business Review piece <https://hbr.org/2011/12/first-lets-fire-all-the-managers> Gary Hamel talks about Morning Star.
“Every year, the 23 business units negotiate customer-supplier agreements [interface specifications] with one another.
And each employee negotiates a Colleague Letter of Understanding [an interface specification] with associates most affected by his or her work.
“As a colleague, I agree to provide this report to you, or load these containers into a truck, or operate a piece of equipment in a certain fashion.” [i.e. I agree to provide this collection of services]
This [interface specification] covers as many as 30 activity areas and spells out all the relevant performance metrics.”
ArchiMate says an interface is a point of access where services are made available.
TOGAF tends to use the terms “interface”, “boundary” and “service portfolio” interchangeably.
(Aside: TOGAF’s “interface catalog” would be better called an information/data flow catalog.)
It is a principle of The
Open Group that clients should invoke services via “open” interfaces.
The rationale of TOGAF 1
to 8 has been obscured in TOGAF 9, but it still says:
“For each building block, build up a service description portfolio as a set
of non-conflicting services.
The term building block
is sometimes replaced by “component” or some other term.
“A key goal of architecture development is for service modules to be capable of
replacement by other modules providing the same service functionality via the
same service API.”
Those “service modules”
are building blocks that each provide multiple
discrete services via an interface.
TOGAF divides the architecture of an enterprise into building blocks - of many shapes and sizes.
Building block varieties include functions, organization units, roles, human actors and application/technology components.
Building blocks interoperate by requesting and providing services.
Building blocks and the services they offer
are composed and decomposed.
One large building block may offer scores of
discrete services.
On the other hand, a coarse-grained
enterprise-level service may require scores of interacting building blocks.
“A good choice of building blocks can lead
to improvements in legacy system integration, interoperability, and flexibility
in the creation of new systems and applications.” TOGAF.
TOGAF guidance features the declaration of component-based design principles quoted in the table below.
Note that the definitions below apply to business functions/capabilities and roles - as well as application and technology components.
A
Building Block in
TOGAF 9.1 (quoted from chapter 37) |
An
Internal Active Structure Element in ArchiMate 3.0 (written
here to match) |
·
is
generally recognizable as "a thing" by domain experts |
is
a structure element rather than a behavior element. |
· is a package of functionality defined to meet the business needs across an organization. |
clusters* cohesive behavior elements required by
business users (directly or indirectly) |
·
has published interfaces to access the functionality. (TOGAF 9 replaced
“interfaces” by “boundary”) |
exposes behaviors in one or more published interfaces. |
· may interoperate with other, inter-dependent, building blocks. |
interoperates with others, which implies client-server or sender-receiver dependencies |
· considers implementation and usage, and evolves to exploit technology and standards. |
may be specified with a particular implementation or standard in view. |
· may be assembled from other building blocks. |
is recursively composable. |
· may be a subassembly of other building blocks. |
is recursively decomposable. |
· is, ideally re-usable and replaceable, and well specified. |
should be re-usable and replaceable, and well specified. |
· may have multiple implementations but with different inter-dependent building blocks. |
should offer services via interfaces that hide implementation variations. |
· is therefore simply a package of functionality defined to meet business needs. |
clusters* cohesive services required by business users (directly or indirectly). |
Systems are built up from … building
blocks [that] interoperate with other building blocks. |
is related
to others by requesting or delivering services. |
It is important that the interfaces
to a building block are published and reasonably stable. |
is encapsulated behind one or more
interfaces that are reasonably stable. |
For each building block, build up a service description portfolio as a set of non-conflicting services. |
clusters cohesive services that are cohesive and performable by an instance. |
* In general system theory (and TOGAF) terms:
Abstract/logical building blocks (functions, roles, and logical components) cluster behavior types that concrete building blocks can be nominated to perform.
Concrete/physical building blocks (organisation units, actors and physical components) are nominated to realise or perform instances of behavior types.
The table below illustrates these concepts in accord with TOGAF’s terminology.
General concepts |
Required Behaviors |
Logical Structures |
Candidate Physical Structures |
Generic concepts |
ABB |
SBB |
|
TOGAF elements |
Service portfolios |
Functions/Capabilities, Roles |
Organisation Units, Actors |
Business example |
Hairdressing service portfolio ·
Wash hair ·
Perm hair ·
Cut hair ·
Manicure |
Hairdresser |
“Curl up
and dye” “Cutters
and clippers” “Headmasters” Betty
next door |
Business example |
Marketing service portfolio ·
Research
customer requirements ·
Design
campaign ·
Promote
product or service ·
Analyse
customer responses |
Marketing |
In-house marketing department Out-sourced marketing department |
TOGAF elements |
Service portfolios |
Logical Components |
Physical Components |
Application example |
Customer relations service portfolio ·
Gather
sales leads from social media ·
Promote
product or service ·
Capture
order details ·
Close
deal ·
Maintain
a customer profile ·
Forecast
sales ·
Send
message to sales or service agent ·
Display
dashboard-style analytics |
CRM Application |
amoCRM Bitrix24 HubSpot Infusionsoft Oracle
Siebel Pipedrive Salesforce.com Teamgate
CRM |
Infrastructure Technology
example |
The footnote contains technology-specific
examples of service portfolios, logical and
physical components |
TOGAF defines systems elements at
several levels of abstraction removed from an implemented system.
"building blocks can be defined at various
levels of detail, depending on what stage of architecture development has been
reached."
Architects describe building blocks at several levels of abstraction, depending on what stage of architecture development has been reached.
Phase A: Architecture Vision
Architects gather
contextual information (business drivers, principles, goals, visions and plans;
system stakeholders and their concerns).
They present, refine and agree this information, getting approval to proceed.
They may name business system components (say
Billing, or CRM), with a sketchy description.
"At an early stage, a building block can simply consist of a name
or an outline description."
Phases B to D: Architecture Development
Architects proceed to define logical application and technology
components, and they services they provide.
“A building
block’s boundary and specification should be loosely coupled to its implementation”
The description of logical ABBs tends to be generalised, logical and coarse-grained.
Ideally, architects specify ABBs as interface definitions, decoupled from specific solutions. E.g.
·
A
Billing function is defined by the 20 business services it provides.
·
A
CRM application is defined by the 15 critical use cases it offers via its interface,
and 50 business data entities it maintains.
·
An
RDBMS is defined by conformance to standards such as SQL, ODBC.
Phases E and F: Planning
Architects identify physical building blocks to realise logical building blocks.
“It should be possible to realize a building block in several different ways without impacting the boundary or specification of the building block.”
They might a select a COTS package, e.g. Salesforce.com, Oracle DBMS.
Or produce a technology-specific
description of a system to built.
These SBBs are still abstract
descriptions, tending to be coarse-grained, and perhaps still somewhat
generalised.
“physical elements in an enterprise architecture may still be considerably abstracted from Solution Architecture, design, or implementation views.”
"Later on, a building block may be decomposed into multiple
supporting building blocks and may be accompanied by a full
specification."
Architects help managers plan the work to implement the physical building blocks
Phases G and H: Implementation and change governance
Remember phase G is not implementation, it is governance of implementation projects carried out in parallel.
“in parallel with Phase G, there is the execution of an organizational-specific development process, where the actual development happens.”
Not all building blocks have been
defined at the start of phase G.
“In phase G, the specific SBBs required [to fill gaps] will be the identified by the solutions architects.”
These SBBs are still coarse-grained – they even may be project-sized.
“These solution architecture building blocks may have a one-to-one or many-to-one relationship with the projects.”
Architects monitor
the projects that implement new/changed business systems.
“The solutions architects need to define exactly how [reuse of software components] will be done.
There may be other projects working on these same capabilities [here meaning SBBs] and the solutions architects need to ensure that they can leverage best value from these investments.”
(For me, TOGAF abuses the term “solution architects”, this is really the level of software architects, but I quote the TOGAF terminology above.)
Architects ensure compliance of deployed systems with ABBs, changing them if need be.
Later, under change management, maintainers maintain concrete elements of the implemented systems.
Architects continue to ensure the compliance of deployed/operational systems with ABBs, changing them if need be.
The generic meta model is specialised in different architecture domains thus.
|
Required behaviors |
aassigned to logical structures |
realised by physical
structures |
|
Services |
ABBs |
SBBs |
Business |
Business Services |
Functions |
Organisation Units |
Roles |
Actors |
||
IS/Applications |
IS/Application Services |
Logical Application Components |
Physical Application Components |
Technology |
Platform Services |
Logical Technology Components |
Physical Technology Components |
Implicit in TOGAF are the equations: function = logical business component, and organisation unit = physical business component.
The abstract/logical building blocks cluster behavior types that concrete building blocks can be nominated to perform.
The concrete/physical building blocks are nominated to realise or perform instances of those behavior types.
The generic architectural entities discussed above have different generic qualities.
E.g. behaviors run over time, whereas physical components occupy space and do work.
Common attributes of Behaviors e.g. Services, Processes, Value Streams, Scenarios
The inputs and outputs of a behavior can include materials/goods as well information/data flows.
The preconditions and post conditions of services and processes can refer to system state, as may be recorded in databases.
Common attributes of Logical Building Blocks e.g. Roles, Business Functions/Capabilities, Logical Application and Technology Components
· name
· provided interface(s) that group services offered
· required interface(s) that group services needed
· behaviors performed
· physical building blocks that implement the logical building block
·
+
generalised requirements for some of the more physical attributes below.
Common attributes of Physical Building Blocks e.g. Actors, Organisation units, Physical Application and Technology Components
· name
· deployment place(s) or location(s)
· abilities possessed: power and memory, or skills and knowledge
· physical resources used: materials and/or energy
· cost to employ
· predicted life span or retirement date
· logical building blocks realised.
Building blocks in the enterprise continuum
Building blocks are described in artefacts (e.g. an actor/role matrix or business function decomposition) and in deliverables (most notably, an architecture definition document).
TOGAF proposes architects describe building blocks at several levels of abstraction, depending on what stage of architecture development has been reached.
The content framework proposes these specifications are stored in an enterprise repository that is subdivided into requirements, architecture and solutions repositories.
The four rows of the table below map
the phases of TOGAF’s architecture development method to these three levels of
abstraction, and to operational systems.
Phase of ADM |
Elements |
Enterprise
Continuum Enterprise Repository |
Notable
deliverables |
Quotes |
Preliminary A |
Principles,
Vision, and Requirements |
Context and
requirements Requirements
repository |
Drivers and
goals Principles
catalogue Stakeholder
communications plan Architecture
requirements specification Architecture
vision |
"Architecture
Principles, Vision, and Requirements artifacts are
intended to capture the
surrounding context of formal architecture models, including
general architecture principles, strategic context that forms input for architecture modeling, and
requirements generated from the architecture." |
B, C and D |
ABBs: e.g. Sales function, CRM, RDBMS. |
Architecture
continuum Architecture
repository (landscape) |
Architecture
definition document |
“Building
blocks are defined in relation to a set of contextual factors." “An Architecture Definition is “a collection of artifacts
that document an architecture”. “The Enterprise
Architect has the responsibility for architectural
design and
documentation at a landscape
and technical reference model level.” |
E and F |
SBBs e.g.
Salesforce.com, Oracle DBMS. |
Solution
continuum Solution
repository |
Architecture
road map Implementation
and migration plan |
|
G and H |
Concrete
elements in deployed solutions. |
Deployed solutions |
Operational
systems |
“This
Architecture repository … provides the capability to link architectural assets to components of the Detailed Design, Deployment, and Service
Management Repositories." |
“[Cybernetics] depends in no
essential way on the laws of physics or on the properties of matter.” (Ross
Ashby)
A physical component is a material thing that is hired, bought or built to implement/realise specified interfaces (described as “SBB” in TOGAF).
A logical component is a material-independent component description – often specified in terms of a service portfolio provided (an “ABB” in TOGAF).
The Open Group encourages the specification of business systems in an open, vendor-neutral and portable way.
The ADM is an architecture project management method designed to encourage and facilitate EA-level governance.
To this end, it encourages the open, vendor-neutral and portable specifications of SBBs.
It specifies them as vendor-neutral ABBs, each defined by a required service portfolio (and/or a logical data model).
It encourages the EA team to maintain this "open" specification in architecture definition documents and an architecture repository.
And it applies this service-oriented principle to business architecture as well as technical architecture.
An aim is to increase agility by reducing impact analysis and EA-level architecture change management time.
And to help the enterprise whenever it wants to, or needs to, migrate from baseline solutions to new solutions.
In procurement, the EA team can evaluate new solutions or products against the current or required ABBs.
If the ABBs are little or not at all affected by a change, then the EA team can readily approve the change.
So, TOGAF divides building blocks between logical specifications and identifiable hireable/buyable/buildable SBBs.
Eventually, the SBBs are the implemented as physical instances in the run-time or operational system.
Those physical instances could be called "operational building blocks"; however, TOGAF is not designed to address the grey sections of the table below.
It allows the naming of individual human actors and organisation units, but does not expect an architect to identify software classes, objects or component instances.
Structural element types |
Structural element instances |
|
Logical ABBs |
Physical SBBs |
Physical
instances in deployed systems (which
occupy space and respond when asked to peform behaviors) |
A UML class is a logical specification of
the behaviors (operations, methods) one or more
physical objects can perform. |
E.g. A class
coded in Java or C# |
An object instantiated or deployed in the
software system of interest, along with physical resources it needs, so it
can respond to requests. |
A component is a logical specification
of the behaviors (services, uses cases) one or more
physical components can perform. |
E.g. A named
CRM package or DBMS |
A component instance deployed in the software
system of interest, along with physical resources it needs, so it can respond
to requests. |
A role is a logical specification of
the behaviors (services, duties) one or more
physical human actors can perform. |
Named actors |
A human actor employed or deployed in the
business system of interest, along with the rewards and physical resources it
needs, so it can respond to requests |
A business function is a logical specification
of the behaviors (services, processes) one or more
physical organisation units can perform. |
Named organisation units |
An organisation unit instantiated in the
business system of interest, along with the budget and physical resources it needs,
so it can respond to requests. |
A building block is an encapsulated unit of functionality or behavior.
(Or in the case of a data component, it is an encapsulated persistent data structure.)
ABBs = logical component types = vendor and technology neutral service portfolio specifications.
SBBs = physical component types = vendor or technology-specific specifications of what is hired, bought or built to realise the ABBs.
Note that SBB documentation does not necessarily specify the building blocks in more detail than ABBs.
TOGAF says specification at the SBB or physical component level is still "considerably abstracted" from implementation.
Ideally, one ABB maps to one SBB.
Ideally, the ABB is a well-defined service portfolio, and a SBB can be found to deliver it.
Or the ABB is a service portfolio reverse-engineered from a known SBB.
Or the ABB is a service portfolio already defined in an “open” interface standard.
In these cases, the SBB may be little more than a vendor/technology name and version number.
E.g. if the ABB is the international FTP interface specification, then the SBB might be simply "the FTP server embedded in our Unix OS".
So, that particular FTP server component should be replaceable with minimal EA-level impact analysis and architecture change management.
The same principles apply in the human domain.
Given ABBs in the form of a logical function/capability structure, then the SBBs might be the units of a corresponding "functional organisation structure".
The EA team does not worry if the management reorganises the organisation structure, providing it can be mapped to the same logical function/capability structure.
First, three things to know.
· ArchiMate's generic meta model is a little flaky and/or misinterpreted.
· TOGAF is based on a different generic meta model, so no perfect mapping is possible.
· People use the terms "Building Block" and "Service" to mean anything they fancy.
Note that ArchiMate’s definition of interface appears to
embrace two things that may be decoupled.
· a passive interface specification (e.g. a restaurant menu)
· an internal active structure element via which services can be accessed (e.g. a waiter).
The latter might better be modelled as a business role or
function rather than a business interface.
Note also that an ArchiMate interface is bound to one and
only one internal active structure element, which prevents the decoupling of
interfaces from components/roles.
TOGAF recommends defining an Architecture BB by its service portfolio (a potential interface).
The general relationship is that Solution BBs <realise> Architecture BBs.
Which is to say physical components <realise> logical components.
If your Architecture BB defines an Interface, then you can use the Interface symbol.
Else use the Function symbol (a logical component that ArchiMate misplaces alongside Process.)
Using the Function symbol avoids the constraint in ArchiMate that Interface acts as a façade Component to 1 and only 1 server Component.
You may use the Component symbol (since Function is a specialisation of Component).
But do not use the Service symbol, which is a contract for a discrete, unitary, behavior in TOGAF.
(Surely also in ArchiMate, though example diagrams confuse Service with Interface or Component.)
Remember, in TOGAF, Solution BBs <realise> Architecture BBs.
The relationship is
realisation rather than other plausible candidates like specialisation or
assignment.
(Specialisation is left to right in TOGAF’s Enterprise Continuum, not top to
bottom.)
(Assignment in
ArchiMate is primarily for assignment of structural elements to behavioral
elements.)
ArchiMate rules won’t let you connect Interface to Component by realisation or specialisation.
Which is another reason to use the Function symbol for the Architecture BB.
This table contains technology-specific examples of service portfolios, logical and physical components.
General concepts |
Required Behaviors |
Logical Structures |
Candidate Physical Structures |
Generic concepts |
ABB |
SBB |
|
TOGAF elements |
Service portfolios |
Logical Components |
Physical Components |
Infrastructure Technology
example |
Operating System service portfolio as defined in The
Open Group’s Unix standard. |
UNIX OS |
BSD
(variations) Coherent GNU Linux.
Android. Chrome OS. LynxOS MINIX. Plan 9 QNX.
BlackBerry 10. |
Infrastructure Technology
example |
App
server service portfolio ·
Administration ·
Caching (perhaps distributed) ·
Clustering ·
Compression ·
Deployment API (perhaps distributed) ·
Failover ·
Security ·
SSL ·
Transactions ·
URL rewriting ·
Virtual Hosts ·
Web Services standards ·
Java Authentication and Authorization Service
(JAAS) ·
Java EE ·
Java Management Extensions, ·
Java Message Service (JMS) ·
Java Naming and Directory Interface (JNDI) ·
Java Persistence API (JPA) ·
Java Remote Method Invocation (RMI) ·
Java Server Faces (JSF) ·
Java Server Pages (JSP) ·
Java Transaction API (JTA) |
Application Server |
Glassfish
(Oracle) JBoss
Enterprise Application Platform Wildfly Apache
Tomcat Apache TomEE Apache
Geronimo Jetty JOnAS Resin Servlet Container (Open Source) Blazix |
Infrastructure Technology
example |
Messaging
service portfolio (see table
below this one) ·
Route messages ·
Convert between protocols ·
Convert between data types ·
Validate data against schema ·
Invoke services ·
Orchestrate services ·
Split and merge messages ·
Managed messages ·
Manage transaction ·
Encrypt data ·
Secure messages |
Enterprise Services Bus |
JBoss ESB Apache
Service Mix Mule ESB Spring
Integration WSO2 ESB OpenESB Petals
ESB |
This table says
more about messaging service categories.
Messaging
service categories |
|
Route
messages |
static routing, content-based routing,
rules-based routing, policy-based routing |
Convert
between protocols |
conversion between standard communication
protocols |
Convert
between data types |
conversion between data types, formats and
values |
Validate
data against schema |
validation of data items against types in
predefined data schemas or canonical data models |
Invoke
services |
synchronous and asynchronous invocation,
service mapping (locating and binding), reliable delivery |
Orchestrate
services |
coordination of invocations within a
single aggregate service |
Split and
merge messages |
splitting and combining messages and
handling exceptions |
Managed
messages |
monitoring, auditing, logging, metering of
messages (perhaps reported on a console) |
Manage
transactions |
starting, committing and rolling back of
transactions |
Encrypt
data |
encryption and signing of messages |
Secure
messages |
identification, authentication and
authorization of ESB use |
References to TOGAF refer to version 9
or 9.1 unless otherwise stated.
This is a
supplement to three related papers you might read.
·
The TOGAF standard Building Blocks and Services - based on analysis
done in 2009 for the British Computer Society.
·
The TOGAF standard mapped to “Capabilities” in the
NATO Architecture Framework
·
The TOGAF standard mapped to “Capabilities” in
Business Architecture
Read also TOGAF,
CBD and SOA for more on the
principles of service-oriented component specification in TOGAF.
All free-to-read materials on the http://avancier,web site are
paid for out of income from Avancier’s training courses and methods licences.
If you find them helpful, please spread the word and link to the
site in whichever social media you use.