Top Banner
Application Architecture Guide 2.0 Project Overview J.D. Meier Alex Homer Jason Taylor Prashant Bansode Lonnie Wall Rob Boucher Akshay Bogawat 09/25/08 “How to put the Legos together”
38

Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Application Architecture Guide 2.0

Project Overview

J.D. Meier

Alex Homer

Jason Taylor

Prashant Bansode

Lonnie Wall

Rob Boucher

Akshay Bogawat09/25/08

“How to put the Legos together”

Page 2: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

2

Elevator Pitches

“How to put the Legos together” …

“… Microsoft playbook for app architecture”

Page 3: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Vision

3

A story that customers get. A story around MS for how

to put the platform Legos together from an application

architecture standpoint .

Platform playbook for building apps. A thin guide that

frames out the application architecture space and maps

relevant principles, patterns, and practices for application

types, layers, quality attributes and technologies.

KB of App Arch Nuggets. A thick, browsable

knowledge base (KB) of guidelines, how tos, checklists,

patterns, videos … etc.

Successful Customers. Solution Architects, developer

leads, and developers are confident and competent

building applications on the .NET platform. Customers

using J2EE / competitive platforms can build effective

solutions on the .NET platform.

Page 4: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Key Features of the Guide

4

Canonical app frame - describes at a meta-level, the tiers and layers that an architect should

consider. 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. Each

archetype will be described in terms of the target scenarios, technologies, patterns and

infrastructure it contains. Each archetype will be mapped to the canonical app frame. They are

illustrative 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 overlay

relevant principles, patterns, and practices.

Technologies and capabilities - a description/overview of the Microsoft custom app dev

platform and the main technologies and capabilities within it.

Page 5: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

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

Page 6: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Topology Map

6

Page 7: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Execution

7

Page 8: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

8

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 Arch

Guide

Community

KB

App Arch

Guide

Complete

Rhythm 2 Week Releases (Drafts / Modules)

Approach Time-boxed results

Incremental value

Separation of risk (project focus)

App Arch Start App Arch

Guide Beta 1

App Arch Guide

Beta 2

PDC

At a Glance START: 07/15/08

END: 01/15/09

Page 9: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

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

•Frames

•Principles, patterns, practices

Page 10: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

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

Page 11: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

11

Modules (Conceptual Model)

Nuggets•Volatile

•Magnififying lens

•Show me how

Guides•Stable

•What to Do/Why

•High-level How

Page 12: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Appendix

12

Page 14: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Key Trends

14

Page 15: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Key Trends / Hot Spots

15

Page 16: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Arch Styles

16

Page 17: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Arch Styles

17

Client/Server

Component-Based Architecture

Data Centered

Distributed Architecture

Layered Architecture

Object Oriented

P2P/Grid

S+S / SaaS / PaaS

SOA

REST

Page 18: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

App Types (Archetypes)

18

Not Exhaustive, Just Illustrative

Page 19: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Mobile

19

Page 20: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Rich Internet Application (RIA)

20

Page 21: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Rich Client

21

Page 22: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Service

22

Page 23: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Web Application

23

Page 24: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Layers, Components, Tiers

24

Page 25: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Presentation, Business, Data

25

Page 26: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

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

26

Page 27: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Layers / Components

27

Page 28: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Services Layer

28

Page 29: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Arch Frame

29

Page 30: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Arch Frame

30

Page 31: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Quality Attributes

31

Page 32: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Quality Attribute Frame

32

Page 33: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

patterns & practices Security Engineering

33

Page 34: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

patterns & practices Performance Engineering

34

Page 35: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Deployment Patterns

35

Page 36: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Deployment Patterns

Non-Distributed

36

Distributed

Web/App Farms

Page 37: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

The End

37

Page 38: Application Architecture Guide 2.0 Project Overview€¦ · Rich Internet Application (RIA) 20. Rich Client 21. Service 22. Web Application 23. Layers, Components, Tiers 24. Presentation,

Follow Along At …

App Arch Guide 2.0 Project Site (CodePlex) –

http://www.codeplex.com/AppArch

J.D. Meier’s Blog – http://blogs.msdn.com/jmeier

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

38