INTRODUCTION TO SOLUTION AND SOFTWARE ARCHITECTURE– GTAM6

Course Description

This course introduces the students to the fundamentals of Solution and Software Architecture. Within the broader strategic vision that Enterprise Architecture (EA) provides, there is a need to provide structure and guidance around the more tactical solution architecture capabilities that are developed to ensure they are consistent with the broader EA strategy. Within the context of each solution stack, there is additionally a need to properly craft software solutions so that they are in compliance with and help to enable the vision of the larger solution architecture. This course provides the critical linkage between Enterprise, Solution, and Software Architectures.

Throughout the three days, the course content is reinforced through hands-on exercises, group discussion, and case study examination. Students will leave with a balanced understanding of the leading Solution and Software Architecture approaches in the marketplace and a solid grasp regarding how to align those within the context of a broader Enterprise Architecture (EA) strategy.

^^

Duration

3 days

^^

Target Audience

This course is designed for Architects, Developers, Designers and Analysts.

^^

Course Prerequisites

Basic understanding of software development is required to join this course.

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.

^^

Suggested Follow on Courses

Please contact us for further details.

^^

Course Content

1. WHY ARCHITECTURE MATTERS

Architects

Architects and Architecture

Group Discussion

Enterprise Architecture Definitions (Wikipedia)

More Enterprise Architecture Definitions

A Rose By Any Other Name

Enterprise, Solution, and Technical Architectures

City Planners

City Planning and EA

Examples of Enterprise Architecture

Solution Architecture

Examples of Solution Architecture

Solution Architecture Example: SOA for Insurance

Technical Architecture

Examples of Technical Architecture

Technical Architecture Example

Architecture Is Not Only Design

2. SOLUTION ARCHITECTURE OVERVIEW

Understanding Solution Architecture

The Solution Architect

The Solution Architecture Context

Introducing Architecture Domains

Identifying the Architecture Domains

Diving into the Domains

Solution Architecture Realization Process

Requirements and Deliverables

Divide and Conquer

3. SOLUTION ARCHITECTURE STYLES

Case Study

Message Oriented Middleware

MOM Messaging

MOM Qualities

Publish/Subscribe Messaging

Point-to-Point Messaging

MOM Pros/Cons

MOM Example

Service Oriented Architecture

Understanding by Analogy

Service Oriented Architecture

Service Elements

Service Actors

Service Layering

SOA Pros/Cons

SOA Example

Web Oriented Architecture

The WOA Difference

WOA Services

WOA Communities

WOA Pros/Cons

WOA Example

Business Process Management

Process Maturity ½

Process Maturity 2/2

Further Qualifying BPM

BPM Framework

BPM Pros/Cons

BPM Example

Master Data Management

Understanding Master Data

Qualities of Master Data

MDM Implementation Styles

MDM Pros/Cons

MDM Example

4. ARCHITECTURAL PATTERNS

What are Patterns?

Factory Method

Singleton

Command

Modeling the Structure Aspect of Command Pattern

Modeling the Behavior Aspect of Command Pattern

Facade

Adapter

Proxy

Enterprise Integration Patterns

Messaging Systems: Overview

Architectural Style: Pipes and Filters

Root Pattern: Message Channel

Root Pattern: Message

Root Pattern: Message Router

Root Pattern: Message Translator

Root Pattern: Message Endpoint

Root Pattern: System Management

Monitoring Credit Bureau Example

Messaging Problem #1

Asynchronous Queuing Pattern – 1/2

Asynchronous Queuing Pattern – 2/2

Asynchronous Queuing Pattern Illustration

Messaging Problem #2

Event-Driven Messaging Pattern

Event Messaging Pattern Illustration

Messaging Problem #3

Reliable Messaging Pattern

Reliable Messaging Pattern Illustration

Protocol Integration Problem #1

Adapter Pattern

Adapter Pattern Illustration

Protocol Integration Problem #2

Canonical Protocol Pattern

Canonical Protocol Pattern Illustration

Protocol Integration Problem #3

Protocol Bridging Pattern

Protocol Bridging Pattern Illustration

Data Service Problem #1

Canonical Data Format Pattern

Canonical Data Format Illustration

Data Service Problem #2

Data Transformation Pattern

Data Transformation Illustration

Data Service Problem #3

Data Service Problem #3 (cont’d)

Schema Centralization Pattern

Schema Centralization Illustration

Service Design Problem #1

Service Design Problem #1 (cont)

Intermediate Routing Pattern

Intermediate Routing Illustration

Service Design Problem #2

Decoupled Contract Pattern

Decoupled Contract Illustration

Decoupled Contract Another Illustration

Service Design Problem #3

Service Encapsulation Pattern

Service Encapsulation Illustration

Service Design Problem #4

Service Decomposition Pattern

Service Decomposition Illustration

Pattern template

Data Federation pattern – Synopsis

Data Federation pattern – Benefits

Data Federation pattern – Context

Data Federation pattern – Solution

Data Federation pattern – Solution architecture

Data Federation pattern – Considerations

Data Federation pattern – Summary

Data Consolidation pattern – Synopsis

Data Consolidation pattern – Benefits

Data Consolidation pattern – Context

Data Consolidation pattern – Solution

Data Consolidation pattern – Considerations

Data Consolidation pattern – Summary

Data Cleansing pattern – Synopsis

Data Cleansing pattern – Benefits

Data Cleansing pattern – Context

Data Cleansing pattern – Solution

Data Cleansing pattern – Considerations

Data Cleansing pattern – Summary

5. SOLUTION ARCHITECTURE ADOPTION

Adopting Solution Architecture

Architecture Adoption Best Practices

Architecture Adoption – Phase 1

Identify your business drivers

Get Educated

Articulate a Value Proposition

4. Define one or more scenarios

Architecture Adoption – Phase 1

Architecture Adoption – Phase 2

Produce a Road Map

Gain Stakeholder Buy-in

Architectural Adoption – Phase 2

Architectural Adoption – Phase 3

Establish Governance

Invest in Infrastructure

Execute a Pilot Project

Scoping the Pilot Project

Scoping the Pilot Project (cont’d)

Roll Out to the Enterprise

6. THE SOFTWARE DEVELOPMENT PROCESS

Section A Software Development Methodologies

Waterfall Development Methodology

Iterative Development Methodology

Low Ceremony/High Ceremony

Comparison of Some Software Methodologies

The Spirit of the Rational Unified Process: Well-Defined Software Engineering

Two Dimensions of the RUP Process

Dynamic Dimension of RUP: Life-cycle Phases & Milestones

Static Dimension of RUP: Modeling Elements

Static Dimension of RUP: Disciplines

Spirit of RUP: Iterative & Risk-Driven Approach

The Life-cycle of Projects Using the Rational Unified Process: Inception Phase

Inception Phase (Cont…)

Elaboration Phase

Elaboration Phase (Cont…)

Develop Executable Architecture

Construction Phase

Construction Phase (Cont…) Typical tasks in the Construction Phase

Transition Phase

Transition Phase (Cont…)

7. QUALITY OF SERVICE REQUIREMENTS

What are Quality of Service Requirements?

Qualities of Service and Design

Quality of Service Inventory

Performance

Scalability

Reliability

Availability

Extensibility

Maintainability

Manageability

Security

Cultural Adaptability

Portability

Testability

Usability

Upgradeability

Recoverability

Prioritizing Quality of Service Requirements

Inspecting QoS Requirements for Trade-off Opportunities

Quality of Service Reviews

8. REQUIREMENTS WORKFLOW

Requirements Workflow

What Is A Requirement?

Requirements Gathering

What Is Requirements Management?

Requirements Management

Timing of Requirements Workflow

The Cost Of Requirement Errors

The Game Plan Towards Building Quality Software

Problem Analysis and Understanding User Needs

Problem Analysis Steps

Business Models

Gather Requirements

Interviewing

Requirements Workshop

Brainstorming

Storyboarding

Use Cases

Prototyping

Recall: Inception Phase

Example of Use Cases

Recall: Elaboration Phase

Example of a Use Case Diagram

Delivery

9. ANALYSIS WORKFLOW

Analysis Workflow

Motivation

Analysis Deliverables

Good Analysis Characteristics

Analysis in the Rational Unified Process

Analysis Workflow Steps

Class Analysis, What is an Analysis Class?

Analysis Class Relationships

Use Case Analysis

Interaction Diagrams

Example Analysis Sequence Diagram

Example Analysis Collaboration Diagram

Architectural Analysis

Packages, Package Practicality

Example Package Diagram

Post Analysis

10. DESIGN WORKFLOW

Analysis and Design

Design Time

Design in RUP

Design vs. Analysis Model

One Model Or Two?

Design Workflow

Design Classes

Design Class Refinement

Design Class Refinement

Class Removal

Refining Relationships

Example Design Class Diagram

Use Case Design

Example Design Sequence Diagram

Construction

 

11. SOFTWARE ARCHITECTURAL STYLES

Client-Server Computing

Client-Server Pros/Cons

Case Study

Client-Server Example

Tiered Architectures

Single-tier Architecture

Single-tier Pros/Cons

Single-tier Example

Two-tier Architecture

Two-tier Pros/Cons

Two-tier Example

Three-tier Architecture

Three-tier Pros/Cons

Three-tier Example

N-Tier Architecture

N-Tier Pros/Cons

N-Tier Example

^^

See more Architecture courses