CS754 Lecture 1 - 5 On EA Aut 2016-17 STD
CS754 Lecture 1 - 5 On EA Aut 2016-17 STD
CS754 Lecture 1 - 5 On EA Aut 2016-17 STD
Nassir D. /PhD
Assoc. Professor (Software Engineering)
nassir@hilcoe.net
Agenda
• Overview
• Architecture scenario
• Milestones
• Architecture in a program
• Software crisis
• EA Motivation
• Curious?,
• Dismissive?,
• Challenging?
In the same token, what do you think of EA?
• 2001:
– The Working International Conference on Software Architecture
(WICSA) conference series starts
• 2002:
– .NET 1.0 released
• 2003:
– Bass, Clements and Kazman, 2nd Edition
– Practitioners (software Engineers) admit software architecture exists!
• 2005:
– The SOA open Group and software industries IBM, Oracle, Microsoft
– IASA is founded and starts growing; Intr’l Assoc. SA
– New “Perspectives” concept identified
• Nick Rozanski and Eoin Woods Software Systems Architecture viewpoints and
perspectives practitioner-oriented book
– WICSA series (The Working International Conference on Software Architecture )
BPEL, WSDL
Service Oriented
aR oute
U M L - A G enera ted De pend enc y C lass :aR ou teC ol l ec tio n Ass oc iatio n ( 0. 25)
theV ehi cl eC ollec ti on
U M L- A Gener ated As s oc iati on C l as s :aW ar ehous e As s oc iation ( 1.0)
aV ehi cl e
theC ar g oR outer
U M L- A G ener ated As s oci ation C las s:aW ar ehous e A ss oci ation ( 0.5)
theG oods
As s oci
ar ehouse
ation ( 0.5)
As soc iati on ( 0.5)
Nassir D. /PhD
Assoc. Professor (Software Engineering)
nassir@hilcoe.net
Agenda
• Software Crisis
• Architecture Vs Design
• Knowledge Source
• EA Approaches
• EA way of Thinking
– Points of view
• Types of points of view
– Stakeholders
12/28/2016 HiLCoE CS754 - SAC 14
Symptoms of the Software Crisis
– How would you measure the cost and the benefit? How
architecture documentation be useful?
• HENCE?
it requires pre-thought EA.
12/28/2016 HiLCoE CS754 - SAC 24
EA - Approach
EA way of Thinking
• Focus Mission centric
• Approach Principle driven
• Primary concern Properties essential to fitness for purpose
• Target Audience All stakeholders
Properties == Any relevant aspect that matters, including principles
and structural constraints (e.g., structural models), decisions
12/28/2016 HiLCoE CS754 - SAC 26
So, Architecture is?
Technology Architecture;
Network Architecture;
Security Architecture;
Data Architecture;
Systems Architecture;
Software / Application Architecture;
Information Architecture;
Business Architecture;
Etc …
Do they have something in common?
• Business managers
– Use the architecture to understand how system availability and
reliability requirements will be met.
– Use the architecture to help understand how the system can be
implemented on schedule and budget.
• Project manager
– Use architecture for planning and assigning work.
– Use architecture to help clarify how functional scope (Use Cases) will
be supported.
• Analysts, Designers, and Developers
– Use the architectural views and guidelines to ensure consistency with
the architecture.
Nassir D. /PhD
Assoc. Professor (Software Engineering)
nassir@hilcoe.net
Agenda
• Enterprise
• Enterprise Architecture
• Meta Architecture
• The EA – Drivers
• EA Perspectives
• Key goals
– citizen-centered, results-oriented and market-based;
Enterprise Architecture
Project Architecture
• Business strategies
– High level BP (segments) , Functional and quality requirements
• Business Architecture
• Data/Information Architecture
• Application Architecture
• Technology Architecture
Nassir D. /PhD
Assoc. Professor (Software Engineering)
nassir@hilcoe.net
Agenda
• Overview
– EA perspectives
• Framework and Architecture
• EA Framework Models
• Reference Architectural Framework
• EA Framework Approaches
– Pragmatic EA Framework
– The Open Group Architecture Framework – TOGAF
– Zachman Framework
• Appendix
12/28/2016 HiLCoE CS754 - SAC 63
EA Perspectives
Business Architecture
Defines the business vision, strategy, governance,
organization, and key business segments;
Shows how the organization meets its business
goals;
Develop baseline and target architectures and
analyze the gaps.
Data/Information Architecture
Application Architecture
• The EAF should guide the processes concepts, tools, and technology used
within software projects.
– Pragmatic EA Framework
– Zachman Framework
Nassir D. /PhD
Assoc. Professor (Software Engineering)
nassir@hilcoe.net
Agenda
• Overview
• EA Framework models
– Pragmatic EA Framework
– The Open Group Architecture Framework – TOGAF
– Zachman Framework
• Assignment
• References
• Strategic Architecture
– Provide direction and guidelines to DA
– is done in alignment with a business strategy
– is to address business objectives, goals, etc.
– should be done to identify segments or business subject areas
• Segment (or Domain) Architecture
– Business architecture that growth to EA
– Ex. SOBA addresses business agility through identification of key business
subject areas (business capabilities),
• Capability Architecture
– Solution architecture at all levels;
– The ”right granularity” of capabilities is important in that it affects the ability
of change and business service reuse.
– Ex. The risky SOA initiative is where SOA is left to pure solution
implementation at individual projects level - i.e. technology solution project
centric SOA. / Not strategic
Enterprise Continuum
TOGAF Resource Base Solution Architecture
Continuum Continuum
– Lay out the goals, policies, principles, standards and guidelines of the
enterprise.
Use Solution
Conceptual Logical Solution Implementation
Architecture Architecture Architecture projects
Domain
Business
Business Services
identification and Business
Process analysis
Conceptual architecture sets the scope for the architecture work and
defines conceptual target state architecture (vision). It defines the road-map from current
state to the target state at a conceptual high level. This architecture must be validated and
approved by the stakeholders and sponsors in order to continue with the next architecture
phase (i.e. Logical Architecture)
• Drivers input
– New/changes to capabilities, Outstanding gaps/issues/pain points
Technical Objectives (e.g., Simplification),
– Identify the main drivers for this architecture work,
– Documented drivers.
• Alignment input
– Identify Existing business principles, IT Principles, standards and
guidelines.
– and understand the Principles, standards and guidelines that apply to
this architecture.
Business Architecture
Current state business architecture
Develop and/or validate business strategy (i.e. conceptual target
state or vision)
Identify Business capabilities that are new or to be enhanced
Roadmap as to when the business capabilities are required to be
in place
Document any non-functional requirements which may be raised
as a concern by the business stakeholder at this level – example is
performance or transaction integrity or security i.e. Drivers.
Information Architecture
Identify Information/data needed at the conceptual level to
support the conceptual target state
• Application/Services Architecture
Current state application/service architecture related to the
current state business architecture captured earlier in the
business architecture.
Identify IT Capabilities and their inter-dependencies
Develop target state architecture based on the identified IT
capabilities
Buy-versus-build analysis
Roadmap as to when the IT capabilities are delivered in
applications/services based on the business architecture
roadmap defined earlier.
• Technology Architecture
Describe the relevant Current state for technologies;
Identify integration points – conceptual description of the
technology requirement associated with the identified IT
capabilities;
Define conceptual target state technologies that
correspond with the application/services target state
defined earlier;
Technology roadmap based on the application/services
roadmap developed earlier.
Information Architecture
Define the details of Canonical information/data exchange model and
schema (i.e. common data types) for the scope of the work. Define the
details of data types to be used for the business processes and/or entity
services in the scope of this work.
Application/Service Architecture
Identify existing or new applications (i.e. reuse of existing
enterprise applications or buying new packaged applications). Buy-
versus-build analysis must have been done in the conceptual
architecture phase if new vendor packaged applications are
recommended.
Define and document the details of existing or new business
services to support the business process done in logical business
architecture
Define interfaces and dependencies at a logical level.
Define how new and/or packaged applications will be integrated
by specifying the integration technologies and approaches (this
should use the integration patterns from patterns repository).
Make sure that the Application/Services roadmap developed at
the conceptual architecture is still valid – if not, update the
roadmap with detail descriptions.
Technology Architecture
Identify key technology components/building blocks and describe
how they support the IT capabilities identified in the conceptual
architecture phase. That is, infrastructure components/services
required to support the business/IT capabilities
Define in detail the required interface and integration technologies
Develop security architecture and identify (define) required
security technologies or approaches.
Make sure that the technology roadmap developed at the
conceptual architecture is still valid – if not, update the roadmap
with detail descriptions.
Business
Describe how business processes and services will be
implemented – for example, Service Orchestration
Information
Services interfaces WSDL and SOAP defined based on the
canonical data exchange model (i.e. common data types)
• Technology
Describe in detail how the infrastructure services specified in the logical
architecture phase will be built and/or existing services reused.
Describe in detail how the specified platforms/technology
components/products will be configured and deployed
Describe in detail how the performance, scalability, load-balancing,
disaster-recovery, management and monitoring concerns are addressed
Drive
• Application/Service Architecture
• Data Architecture
Drive
Input
Input
Publish Discover
Service Repository
or Registry