651-905-3729 Microsoft Silver Learning Partner EC Counsel Reseller compTIA Authorized Partner

Introduction to Solution and Software Architecture

3 Days

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.

Topics:

  • Architecture Primer
  • Understanding Enterprise Solution Architecture
  • Solution Architecture Core Elements
  • Working with Solution Architecture Styles
  • What Is Software Architecture?
  • Quality Attributes
  • Software Architecture Reviews     
  • Software Architecture-Based Development
  • Reuse of Architectural Assets     
  • Architectural Views
  • Architecture within Industry Verticals

What you will learn:

After completing this course, the student should be able to:

  • Discuss what architecture is
  • Describe Enterprise Solution Architecture and its core elements
  • Describe software architecture
  • Discuss the software architecture quality attributes
  • Explain how architecture based development is carried out
  • Describe how architecture documentation is performed

Audience:

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

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Introduction to Solution and Software Architecture class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

 

Chapter 1 - Architecture Primer

  • 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
  • Summary

Chapter 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
  • Summary

Chapter 3 - Solution Architecture Styles

  • Catalog of Architectural Styles
  • Asynchronous Messaging
  • Message Oriented Middleware (MOM)
  • Example MOM implementation Platforms
  • MOM Messaging
  • MOM Qualities
  • Publish/Subscribe Messaging
  • Point-to-Point Messaging (P2P)
  • MOM Related Standards
  • MOM Example
  • Service Oriented Architecture (SOA)
  • Service-Oriented Interaction Model
  • SOA Characteristics
  • Microservices
  • Microservices Architecture
  • Microservices vs Enterprise Service Bus (ESB)
  • Many Flavors of Web Services
  • Understanding REST
  • Principles of RESTful Services
  • SOAP and RESTful Web Services
  • Summary

Chapter 4 - Defining the Cloud

  • A Bit of History

  • Cloud Computing at a Glance
  • Electrical Power Grid Service Analogy
  • The NIST Perspective
  • Five Characteristics
  • On-demand Self-Service (NIST Characteristic)
  • Broad Network Access (NIST Characteristic)
  • Resource Pooling (NIST Characteristic)
  • Rapid Elasticity (NIST Characteristic)
  • Measured Service (NIST Characteristic)
  • The Three Cloud Service Models: IaaS, PaaS and SaaS
  • The Four Cloud Deployment Models (NIST)
  • The NIST Cloud Definition Framework
  • A Hybrid Cloud Diagram
  • Cloud Services
  • Managed vs Unmanaged Services
  • Shared Responsibility Model
  • The AWS (Simplified) Service Stack
  • Summary

Chapter 5 - Patterns

  • What are Patterns?
  • Elements of a Pattern
  • Pattern Levels
  • Pattern Types
  • How to Start Using Patterns?
  • Common Architectural Patterns
  • Layers Pattern
  • Example: Retail Layered Architecture
  • Object-Oriented Design Patterns
  • OO Design Patterns
  • Structural Design Pattern: Facade Pattern Example
  • Enterprise Integration Patterns
  • Messaging Systems: Overview
  • Example Pattern: Pipes and Filters
  • Example: Monitoring Credit Bureau
  • EAA Patterns
  • Model-View-Controller (MVC) Pattern
  • SOA Patterns
  • Example: Saga Pattern
  • Business Process Patterns
  • Example: Synchronizing Merge Pattern
  • Configuration Management Patterns
  • New Patterns Continue to Emerge
  • Group Discussion: Patterns
  • Summary

Chapter 6 - 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
  • Summary

Chapter 7 - 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…)
  • The Open Unified Process
  • Four Core Principles of OpenUP
  • OpenUP Teams
  • OpenUP Basic Elements
  • The Eclipse Process Framework (EPF) Ecosystem
  • The EPF Composer

Chapter 8 - Quality of Service (QoS) Requirements

  • Qualities of Service and Design
  • Performance: Requirements
  • Performance: Response Time Pattern
  • Performance: Transaction Time Patterns
  • Performance: Throughput Pattern
  • Scalability
  • Scalability: Capacity Patterns
  • Reliability & Availability
  • Mean Time Between Failures (MTBF)
  • Availability: Pattern
  • Extensibility
  • Maintainability
  • Manageability
  • Security
  • Cultural Adaptability
  • Portability
  • Testability
  • Usability
  • Upgradeability
  • Recoverability
  • Recovery Time Objective (RTO)
  • Recovery Point Objective (RPO)
  • Prioritizing Quality of Service Requirements
  • Inspecting QoS Requirements for Trade-off Opportunities
  • Quality of Service Testing

Chapter 9 - Supporting QoS Requirements

  • Tactics
  • Availability Tactics
  • Supporting System's High Availability
  • The CAP Theorem
  • Mechanisms to Guarantee a Single CAP Property
  • Modifiability Tactics
  • Horizontal and Vertical Scalability
  • Leveraging Cloud Scaling Services
  • Performance Tactics
  • Achieving the Performance You Need
  • Security Tactics
  • Single Sign-On (SSO) with Federated Identity Management
  • OpenID
  • OpenID Communication Diagram
  • OAuth 2.0
  • OAuth 2.0 Communication Diagram
  • OpenID Connect
  • OpenID Connect Communication Diagram
  • Operational Security in the Cloud
  • DevOps Security Concerns
  • Testability Tactics
  • Achieving Testability with Test-Driven Development and Continuous Integration
  • Typical Setup for OSS-based Continuous Integration
  • Responsive Web Design (RWD) Support for Usability
  • Summary

Chapter 10 - 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

Chapter 11 - 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

Chapter 12 - 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

Chapter 13 - 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
  • Summary

Chapter 14 - Designing Modern Applications

  • Web 2.0
  • Rich Internet Client Applications
  • Single Page Applications (SPA) with AngularJS
  • Two-way Data Binding (the AngularJS Way)
  • Other Client Side MV(C) Frameworks
  • "Rich Client" - "Thin Server" Architecture
  • Mobile Platforms
  • Types of Mobile Applications
  • Native Mobile Applications
  • Mobile Web Applications
  • Hybrid Mobile Applications
  • Hybrid App Tools and Frameworks
  • RIA as a Driving Force to Turn the "Thin Server" into Microservice(s)
  • So, How Can Microservices Help Me?
  • The Data Exchange Interoperability Consideration
  • Microservices in Their Purest Form: AWS Lambdas
  • The Microservices Architecture Design Principles
  • Decentralized Processing
  • Crossing Process Boundary is Expensive!
  • Managing Microservices
  • Traditional Enterprise Application Architecture (Simplified)
  • Microservices Architecture Example (Simplified)
  • Design for Failure
  • Fault Injection During System Testing
  • Summary

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Introduction to Solution and Software Architecture class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Prerequisites

  • Basic understanding of software development.

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Introduction to Solution and Software Architecture class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date