1
Architecture of Business Systems
Architecture and the Role of the Architect
Sandro Schwedler
Wolfram Richter
3 Sandro Schwedler, Wolfram Richter09.10.2012
Lecture Outline
Building Block: Integration Technologies (W)
Building Blocks: Introduction, Application Server (S)
SOA (W)Building Block: UI Server (S)Architecture Design (W)
Building Block: Content Management Systems (S)
Process of Software Architecting, Requirements (W)
Building Block: Security Components (S)
Building Block: Databases (S)
Introduction (W)– Lecture Overview
– Architecture & role of the
Architect
– Views and Viewpoints
2
4 Sandro Schwedler, Wolfram Richter09.10.2012
Goals of this presentation
� After this lecture, you...
– Understand the concept of IT architecture and how it differs from design
– Understand the role of the IT architect and the skill set required to fulfil it
– Can differentiate the role of an (IT) architect from other typical project roles
5 Sandro Schwedler, Wolfram Richter09.10.2012
What is Architecture?
Architecture (Latin architectura, from the Greek ἀρχιτέκτων – arkhitekton, from ἀρχι-
"chief" and τέκτων "builder, carpenter, mason") is both the process and product of planning, designing and construction. […]
"Architecture" can mean:
– A general term to describe buildings and other physical structures.
– The art and science of designing and erecting buildings and other physical structures.
– The style and method of design and construction of buildings and other physical structures.
– The practice of the architect, where architecture means the offering or rendering of professional services in connection with the design and construction of buildings, or built environments.[1]
– The design activity of the architect, from the macro-level (urban design, landscape
architecture) to the micro-level (construction details and furniture).
– The term "architecture" has been adopted to describe the activity of designing any kind of system, and is commonly used in describing information technology.
http://en.wikipedia.org/wiki/Architecture
3
6 Sandro Schwedler, Wolfram Richter09.10.2012
What is IT Architecture?Definitions according to ISO/IEC 42010 (IEEE 1477) (1/2)
� architect: The person, team, or organization responsible for designing systems
architecture.
� architectural description (AD): A collection of products to document an
architecture.
� architecture: The fundamental organization of a system embodied in its
components, their relationships to each other, and to the environment, and the
principles guiding its design and evolution.
� designing: The activities of defining, documenting, maintaining, improving, and
certifying proper implementation of an architecture.
http://en.wikipedia.org/wiki/ISO/IEC_42010
7 Sandro Schwedler, Wolfram Richter09.10.2012
What is IT Architecture?Definitions according to ISO/IEC 42010 (IEEE 1477) (2/2)
� system: A collection of components organized to accomplish a specific function or
set of functions. The term system encompasses individual applications, systems in
the traditional sense, subsystems, systems of systems, product lines, product
families, whole enterprises, and other aggregations of interest.
� system stakeholder: An individual, team, or organization (or classes thereof) with
interests in, or concerns relative to, a system.
� view: A representation of a whole system from the perspective of a related set of
concerns.
� viewpoint: A specification of the conventions for constructing and using a view. A
pattern or template from which to develop individual views by establishing the
purposes and audience for a view and the techniques for its creation and analysis.
http://en.wikipedia.org/wiki/ISO/IEC_42010
4
8 Sandro Schwedler, Wolfram Richter09.10.2012
What is IT Architecture?Definitions according to TOGAF / The Open Group
TOGAF embraces but does not strictly adhere to ISO/IEC 42010:2007 terminology.
In TOGAF, "architecture" has two meanings depending upon the context:
– A formal description of a system, or a detailed plan of the system at component level to guide its implementation
– The structure of components, their inter-relationships, and the principles and guidelines governing their design and evolution over time
http://pubs.opengroup.org/architecture/togaf9-doc/arch/chap02.html
9 Sandro Schwedler, Wolfram Richter09.10.2012
Architecture vs. Design
All architecture is design, but not all design is architecture.
Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.
-- Grady Booch, IBM Fellow
‚‚
5
10 Sandro Schwedler, Wolfram Richter09.10.2012
Why IT Architecture?
� Methodology to tackle unknown challenges
� Reduce project risk / higher probability of project success
� Improve quality of deliverables: enables sound decisions
� Time-to-market: do not have to reinvent the wheel with regards to documentation,
project participants
� Long-term viability: allows others to understand what has been built
� Allow projects to scale: technique to distribute tasks over many shoulders
� Can do complex projects with less (expensive) resources
� ...
12 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect1. Architects understand end-to-end development
� Consultant: Identifies new business and technology environment opportunities. Aligns processes to technology using knowledge assets and experts. Teams with clients to provide lasting value
� IT Architect: Defines solutions to client business problems through the reasoned application of information technology
� IT Specialist: Supports solution construction working in a team with IT Architects Focuses on the detail of getting things done. Validates the solution in the context of the solution sale
� Project Manager: Initiates, plans, executes, controls, and closes projects. Ensures that projects are completed on time, within budget, and with high customer satisfaction.
Roles in typical client projects, mapped to RUP/OpenUP Disciplines
6
13 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect2. Architects understand their Role
14 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect3. Architects Manage Risk and Manage Change
7
15 Sandro Schwedler, Wolfram Richter09.10.2012
Architecture Stability
%Resources derived from information in “Software Project Management – A Unified Framework” [Royce]
16 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect4. Architects Communicate with Stakeholders
8
17 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect5. Architects Reuse Assets
18 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect6. Architects Right-Size their Involvement
9
19 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect6. Architects Right-Size their Involvement
• Requirements, Functional, Deployment,
Validation, Performance and Security
viewpoints are used to document the architecture. An Information Viewpoint is
added to emphasize this particular aspect
of the architecture.
• Requirements, Functional,
Deployment and Performance
viewpoints are used to document the architecture.
Work product
• An Architecture Overview is created as a
formal work product that is maintained.
• An Architecture Overview is created
as a sketch on a whiteboard and then
photographed (it is not kept up to
date).
Task
• Different individuals are assigned to each
of the architecture roles of Lead Architect,
Application Architect, Infrastructure
Architect and Data Architect. In addition,
the team also includes a Security Architect.
• A single person is assigned to play
the roles of Lead Architect,
Application Architect, Infrastructure
Architect and Data Architect.
Role
Large ProjectSmall Project
20 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect7. Architects Influence the Requirements
ScheduleResources
Stakeholder input
ScalabilityPerformance
DistributionPlatforms
MaintainabilityPortability
10
21 Sandro Schwedler, Wolfram Richter09.10.2012
The role of the IT architect8. Architects Derive Solutions from Business Needs
�Developed at Rational Software (now IBM
Rational)
�Architecturally-significant requirements drive the
architecture
�Each iteration considers the key architectural
elements of the solution, before realizing the requirements across them
The
Rational Unified Process (RUP)
�Developed at Siemens Corporate Research
�An analysis of global factors drives the architecture
� Iteratively addresses challenges across four views (conceptual, execution, module and code architecture)
Siemens’ 4 Views
(S4V) method
�Developed at the Software Engineering Institute
�Quality attributes drive the architecture
�Underpinned by architectural tactics and patterns
Attribute Driven Design
(ADD) Method
22 Sandro Schwedler, Wolfram Richter09.10.2012
Within the industry there are several IT architect “disciplines”*
Business Process
Information
Applications
Middleware
H/W Infrastructure
The Enterprise Architect
focuses on IT concerns that
must be addressed
consistently across the
entire enterprise. Coverage
is comprehensive though
generally not highly detailed.
Generally expressed as
principles, models and
standards (and possibly
services).
11
23 Sandro Schwedler, Wolfram Richter09.10.2012
Within the industry there are several IT architect “disciplines”
Business Process
Information
Applications
Middleware
H/W Infrastructure
The Solution Architect
focuses on the architecture
of a complete IT solution,
including business process
implications, to a business
problem, need or
opportunity, consistent with
the principles, models,
standards and shared
services defined by an
Enterprise Architecture.
24 Sandro Schwedler, Wolfram Richter09.10.2012
Business Process
Information
Applications
Middleware
H/W Infrastructure
Business Process
Information
Applications
Middleware
H/W Infrastructure
Business Process
Information
Applications
Middleware
H/W Infrastructure
Business Process
Information
Applications
Middleware
H/W Infrastructure
Business Process
Information
Applications
Middleware
H/W Infrastructure
Business Process
Information
Applications
Middleware
H/W Infrastructure
Within the industry there are several IT architect “disciplines”
Business Architect
Software Architect
Information Architect
Middleware Architect
Application Architect
Infrastructure Architect
12
25 Sandro Schwedler, Wolfram Richter09.10.2012
T-Shape / Skills required to become an architect
� Breadth
– Know a wide range of technologies and be able to
discuss it with the various specialists
� Depth
– Know how to develop in a technology
� Soft Skills
– Working with people
– Communication
– Build consensus
– Conceptual thinking
– Project Management (needs to know PM but should
not act as PM)
– Politics
� Business Acumen
– Cost
– Licensing
� An IT Architect should not be:
– A “top-level” software designer
– The project manager
– A technology expert
– A product expert
– A lone scientist
http://blog.opengroup.org/2011/02/17/t-shaped-people/
B r e a d t h
Depth
26 Sandro Schwedler, Wolfram Richter09.10.2012
Further Reading
� http://en.wikipedia.org/wiki/ISO/IEC_42010
� http://en.wikipedia.org/wiki/Software_architecture
� The Tao of the Software Architect
http://www.ibm.com/developerworks/rational/library/4032.html
� http://en.wikipedia.org/wiki/Software_architect
� Software Engineering Radio http://www.se-radio.net/
– Episode 110: Roles in Software Engineering I
ISBN 978-0-321-35748-9 ISBN 978-0201835953