App Arch Guide 2.0 Overview

  • Upload
    kharpoh

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

  • 8/8/2019 App Arch Guide 2.0 Overview

    1/38

    Application Architecture Guide 2.0Project Overview

    J.D. MeierAlex Homer

    Jason TaylorPrashant Bansode

    Lonnie WallRob Boucher

    Akshay Bogawat09/25/08

    How to put the Legostogether

  • 8/8/2019 App Arch Guide 2.0 Overview

    2/38

    2

    Elevator Pitches

    How to put the Legostogether

    Microsoft playbook for app architecture

  • 8/8/2019 App Arch Guide 2.0 Overview

    3/38

    Vision

    3

    A story that customers get. A story around MS for howto put the platform Legos together from an application

    architecture standpoint .

    Platform playbook for building apps. A thin guide thatframes out the application architecture space and mapsrelevant principles, patterns, and practices for applicationtypes, layers, quality attributes and technologies.

    KB of App Arch Nuggets. A thick, browsableknowledge base (KB) of guidelines, how tos, checklists,patterns, videos etc.

    Successful Customers. Solution Architects, developerleads, and developers are confident and competent

    building applications on the .NET platform. Customersusing J2EE / competitive platforms can build effectivesolutions on the .NET platform.

  • 8/8/2019 App Arch Guide 2.0 Overview

    4/38

    Key Features of the Guide

    4

    Canonical app frame - describes at a meta-level, the tiers and layers that an architect shouldconsider. Each tier/layer will be described in terms of its focus, function, capabilities, common

    design patterns and technologies.

    App Types - 5-7 canonical application archetypes to illustrate common application types. Eacharchetype will be described in terms of the target scenarios, technologies, patterns andinfrastructure it contains. Each archetype will be mapped to the canonical app frame. They areillustrative of common app types and not comprehensive or definitive.

    Arch Frame - a common set of categories for hot spots for key engineering decisions.

    Quality Attributes - a set of qualities/abilities that shape your application architecture:performance, security, scalability, manageability, deployment, communication, etc.

    Principles, patterns and practices - using the frames as backdrops, the guide will overlayrelevant principles, patterns, and practices.

    Technologies and capabilities - a description/overview of the Microsoft custom app devplatform and the main technologies and capabilities within it.

  • 8/8/2019 App Arch Guide 2.0 Overview

    5/38

    Key Scenarios for the Guide

    Help you choose the right architecture for your application.

    Help you choose the right technologies

    Help you make more effective choices for key engineering decisions.

    Help you map appropriate strategies and patterns.

    Help you map relevant patterns & practices solution assets.

    5

  • 8/8/2019 App Arch Guide 2.0 Overview

    6/38

    Topology Map

    6

  • 8/8/2019 App Arch Guide 2.0 Overview

    7/38

    Execution

    7

  • 8/8/2019 App Arch Guide 2.0 Overview

    8/388

    Schedule

    App Arch Date

    Start 08/01/08

    Codeplex KB 08/30/08

    App Arch Guide Beta 1 11/15/08

    App Arch Guide Beta 2 12/15/08

    App Arch Guide Final (PDF) 01/15/09

    App ArchGuide

    Community

    KB

    App ArchGuide

    Complete

    Rhythm 2 Week Releases (Drafts / Modules)

    Approach Time-boxed results

    Incremental value

    Separation of risk (project focus)

    App Arch Start App ArchGuide Beta 1

    App Arch Guide

    Beta 2

    PDC

    At a Glance START: 07/15/08

    END: 01/15/09

  • 8/8/2019 App Arch Guide 2.0 Overview

    9/38

    From KB to Guide to MSDN

    9

    KB (CodePlex) Guide MSDN

    Full catalog

    Guide

    Fit and finish

    Reusable nuggets

    Community KB

    Customer Test / Vette

    Story

    FramesPrinciples, patterns, practices

  • 8/8/2019 App Arch Guide 2.0 Overview

    10/38

    Guide / KB

    10

    KB / NuggetsGuide

    Chapters

    Frames

    Principles

    Patterns

    Guidelines

    App Patterns

    App Scenarios

    Cheat Sheets

    Checklists

    Code Examples

    Explained

    Guidelines

    How Tos

    Patterns

    Videos

  • 8/8/2019 App Arch Guide 2.0 Overview

    11/3811

    Modules (Conceptual Model)

    NuggetsVolatileMagnififying lensShow me how

    GuidesStableWhat to Do/WhyHigh-level How

  • 8/8/2019 App Arch Guide 2.0 Overview

    12/38

    Appendix

    12

  • 8/8/2019 App Arch Guide 2.0 Overview

    13/38

    Conceptual Framework

    13

    http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/AbstractforApplicationArchitectureGuid.0_C7A4/AppArchMetaFrame_2.gif
  • 8/8/2019 App Arch Guide 2.0 Overview

    14/38

    Key Trends

    14

  • 8/8/2019 App Arch Guide 2.0 Overview

    15/38

    Key Trends / Hot Spots

    15

  • 8/8/2019 App Arch Guide 2.0 Overview

    16/38

    Arch Styles

    16

  • 8/8/2019 App Arch Guide 2.0 Overview

    17/38

    Arch Styles

    17

    Client/Server

    Component-Based Architecture Data Centered

    Distributed Architecture

    Layered Architecture

    Object Oriented P2P/Grid

    S+S / SaaS / PaaS

    SOA

    REST

  • 8/8/2019 App Arch Guide 2.0 Overview

    18/38

    App Types (Archetypes)

    18

    Not Exhaustive, Just Illustrative

  • 8/8/2019 App Arch Guide 2.0 Overview

    19/38

    Mobile

    19

  • 8/8/2019 App Arch Guide 2.0 Overview

    20/38

    Rich Internet Application (RIA)

    20

  • 8/8/2019 App Arch Guide 2.0 Overview

    21/38

    Rich Client

    21

  • 8/8/2019 App Arch Guide 2.0 Overview

    22/38

    Service

    22

  • 8/8/2019 App Arch Guide 2.0 Overview

    23/38

    Web Application

    23

  • 8/8/2019 App Arch Guide 2.0 Overview

    24/38

    Layers, Components, Tiers

    24

  • 8/8/2019 App Arch Guide 2.0 Overview

    25/38

    Presentation, Business, Data

    25

  • 8/8/2019 App Arch Guide 2.0 Overview

    26/38

    Tiers (2-Tier, 3-Tier, N-Tier)

    26

  • 8/8/2019 App Arch Guide 2.0 Overview

    27/38

    Layers / Components

    27

  • 8/8/2019 App Arch Guide 2.0 Overview

    28/38

    Services Layer

    28

  • 8/8/2019 App Arch Guide 2.0 Overview

    29/38

    Arch Frame

    29

  • 8/8/2019 App Arch Guide 2.0 Overview

    30/38

    Arch Frame

    30

  • 8/8/2019 App Arch Guide 2.0 Overview

    31/38

    Quality Attributes

    31

  • 8/8/2019 App Arch Guide 2.0 Overview

    32/38

    Quality Attribute Frame

    32

  • 8/8/2019 App Arch Guide 2.0 Overview

    33/38

    patterns & practices Security Engineering

    33

  • 8/8/2019 App Arch Guide 2.0 Overview

    34/38

    patterns & practices Performance Engineering

    34

  • 8/8/2019 App Arch Guide 2.0 Overview

    35/38

    Deployment Patterns

    35

  • 8/8/2019 App Arch Guide 2.0 Overview

    36/38

    Deployment Patterns

    Non-Distributed

    36

    Distributed

    Web/App Farms

  • 8/8/2019 App Arch Guide 2.0 Overview

    37/38

    The End

    37

  • 8/8/2019 App Arch Guide 2.0 Overview

    38/38

    Follow Along At

    App Arch Guide 2.0 Project Site (CodePlex)

    http://www.codeplex.com/AppArch J.D. Meiers Blog http://blogs.msdn.com/jmeier

    Patterns & practices Home http://msdn.com/practices

    http://www.codeplex.com/AppArchhttp://blogs.msdn.com/jmeierhttp://msdn.com/practiceshttp://msdn.com/practiceshttp://blogs.msdn.com/jmeierhttp://www.codeplex.com/AppArch