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.

Skills Gained

  • Ability to discuss what architecture is
  • Describe Enterprise Solution Architecture and it’s 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

Target Audience

  • Architects
  • Developers
  • Designers
  • 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