architectural principles for software + services

126

Upload: simon-guest

Post on 09-May-2015

4.055 views

Category:

Technology


2 download

DESCRIPTION

An overview of some of the architectural principles and patterns for Software + Services, presented at the SAF (Strategic Architect Forum) in 2008.

TRANSCRIPT

Page 1: Architectural Principles for Software + Services
Page 2: Architectural Principles for Software + Services

Architectural Principles for Software + ServicesSimon GuestSenior DirectorPlatform Architecture TeamMicrosoft Corporation

Page 3: Architectural Principles for Software + Services

Industry Trends

Page 4: Architectural Principles for Software + Services

Industry Trends

Trend 1: Service Oriented Architecture (SOA)

Page 5: Architectural Principles for Software + Services

Industry Trends

Page 6: Architectural Principles for Software + Services

Industry Trends

Trend 2: Software as a Service (SaaS)

Page 7: Architectural Principles for Software + Services

Industry Trends

Page 8: Architectural Principles for Software + Services

Industry Trends

Trend 3: Web 2.0

Page 9: Architectural Principles for Software + Services

Industry Trends

Page 10: Architectural Principles for Software + Services

Industry Trends

Trend 4: Rich Internet Applications (RIA)

Page 11: Architectural Principles for Software + Services

Industry Trends

Page 12: Architectural Principles for Software + Services

Industry Trends

Trend 5: Cloud Computing

Page 13: Architectural Principles for Software + Services

Industry Trends

Page 14: Architectural Principles for Software + Services

Industry Trends

What common architectural principles apply across all of these trends?

Page 15: Architectural Principles for Software + Services

Heads in the Cloud, Feet on the Ground

Page 16: Architectural Principles for Software + Services

Heads in the Cloud, Feet on the Ground

Economy of ScaleLow High

ControlHigh Low

When it comes to running applications, organizations today face a tension between

control and economy of scale

Page 17: Architectural Principles for Software + Services

Application runs on-premises

Buy my own hardware, and

manage my own data center

Heads in the Cloud, Feet on the Ground

Economy of ScaleLow High

Application runs at a hoster

Pay someone to host my application using

hardware that I specify

Application runs using cloud platform

Pay someone to host my application

without specifying the hardware (they

promise to be “infinitely” scalable)

ControlHigh Low

Page 18: Architectural Principles for Software + Services

Application runs on-premises

Buy my own hardware, and

manage my own data center

Heads in the Cloud, Feet on the Ground

On Premises vs. CloudOn Premises Cloud

Application runs at a hoster

Pay someone to host my application using

hardware that I specify

Application runs using cloud platform

Pay someone to host my application

without specifying the hardware (they

promise to be “infinitely” scalable)

Page 19: Architectural Principles for Software + Services

Application runs on-premises

Buy my own hardware, and

manage my own data center

Heads in the Cloud, Feet on the Ground

Application runs at a hoster

Pay someone to host my application using

hardware that I specify

Application runs using cloud platform

Pay someone to host my application

without specifying the hardware (they

promise to be “infinitely” scalable)

Build

vs.

Buy

Build

Buy

On Premises vs. CloudOn Premises Cloud

Page 20: Architectural Principles for Software + Services

“Packaged”Application

An application that I buy “off the shelf” and run

myself

“Home Built”Application

An application that I develop and run myself

Hosted “Home Built”

An application that I develop myself, but run

at a hoster

Hosted “Packaged”

An application that I buy “off the shelf” and then

run at a hoster

Cloud Platform

An application that I develop myself, that I

run in the cloud

“Software as a Service”

A hosted application that I buy from a vendor

Heads in the Cloud, Feet on the GroundBu

ild v

s. B

uyBu

ildBu

y

On Premises vs. CloudOn Premises Cloud

Page 21: Architectural Principles for Software + Services

Heads in the Cloud, Feet on the GroundBu

ild v

s. B

uyBu

ildBu

y

On Premises vs. CloudOn Premises Cloud

“Packaged”Application

“Home Built”Application

Hosted “Home Built”

Hosted “Packaged”

Cloud Platform

“Software as a Service”

Page 22: Architectural Principles for Software + Services

“Packaged”Application

“Home Built”Application

Hosted “Home Built”

Hosted “Packaged”

Cloud Platform

“Software as a Service”

Heads in the Cloud, Feet on the GroundBu

ild v

s. B

uyBu

ildBu

y

On Premises vs. CloudOn Premises Cloud

Clinical Trial

Molecule Research

HR System

Email

CRM

ERP

“Too costly to run this myself, but I’ve made too many customizations”

“Too costly to run this myself, but I’ve made too many customizations”

Page 23: Architectural Principles for Software + Services

“Packaged”Application

“Home Built”Application

Hosted “Home Built”

Hosted “Packaged”

Cloud Platform

“Software as a Service”

Heads in the Cloud, Feet on the GroundBu

ild v

s. B

uyBu

ildBu

y

On Premises vs. CloudOn Premises Cloud

Clinical Trial

Molecule Research

HR System

Email

CRM

ERP

“CRM and Email are commodity services – They have no customizations, and it’s cheaper for someone else to run these”

“CRM and Email are commodity services – They have no customizations, and it’s cheaper for someone else to run these”

Page 24: Architectural Principles for Software + Services

“Packaged”Application

“Home Built”Application

Hosted “Home Built”

Hosted “Packaged”

Cloud Platform

“Software as a Service”

Heads in the Cloud, Feet on the GroundBu

ild v

s. B

uyBu

ildBu

y

On Premises vs. CloudOn Premises Cloud

Clinical Trial

Molecule Research

HR System

Email

CRM

ERP

“I can’t afford to maintain this old HR application written in VB – it’s driving me mad!”

“I can’t afford to maintain this old HR application written in VB – it’s driving me mad!”

“…but due to regulatory issues, I cannot store my HR data off-premise”

“…but due to regulatory issues, I cannot store my HR data off-premise”

Page 25: Architectural Principles for Software + Services

“Packaged”Application

“Home Built”Application

Hosted “Home Built”

Hosted “Packaged”

Cloud Platform

“Software as a Service”

Heads in the Cloud, Feet on the GroundBu

ild v

s. B

uyBu

ildBu

y

On Premises vs. CloudOn Premises Cloud

Clinical Trial

Molecule Research

Email

CRM

ERP

“I wish I had access to cheaper compute and storage when I need it”

“I wish I had access to cheaper compute and storage when I need it”

HR System

Page 26: Architectural Principles for Software + Services

“Packaged”Application

“Home Built”Application

Hosted “Home Built”

Hosted “Packaged”

Cloud Platform

“Software as a Service”

Heads in the Cloud, Feet on the GroundBu

ild v

s. B

uyBu

ildBu

y

On Premises vs. CloudOn Premises Cloud

Clinical Trial

Molecule Research

Email

CRM

ERP

HR System

“THIS is where I want to spend my IT resources – I’m going to double down on this application!”

“THIS is where I want to spend my IT resources – I’m going to double down on this application!”

Page 27: Architectural Principles for Software + Services

Architectural Principles for Software + Services

Page 28: Architectural Principles for Software + Services

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 29: Architectural Principles for Software + Services

Infrastructure

On Premises Hoster Cloud

Architectural Principles for Software + Services

Physical, DedicatedSingle service on dedicated hardware

Physical, SharedMultiple services sharing same hardware

Physical, HPCPhysical hardware supporting HPC scenario

Virtual, SingleSingle instance virtual image

Virtual, SharedMultiple instance virtual image

Page 30: Architectural Principles for Software + Services

Infrastructure Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 31: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 32: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

Storage

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

On Premises Hoster Cloud

Architectural Principles for Software + Services

FileFileshare, flat, page-based

RelationalHosted relational database, familiar, transactional, finite

UnstructuredKey/value Pair, no atomicity, infinitely scalable

Page 33: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

Storage

UnstructuredRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 34: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

MessagingStorage

UnstructuredRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

On Premises Hoster Cloud

Architectural Principles for Software + Services

Service BusAsynchronous, reliable messaging, publish/subscribe model

Peer to PeerNode registration, directory, presence awareness

Page 35: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

MessagingStorage

Service Bus Peer to PeerUnstructuredRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 36: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage

Service Bus Peer to PeerUnstructuredRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

On Premises Hoster Cloud

Architectural Principles for Software + Services

AuthenticationUsername / Password or claims based

Role Based AuthorizationRole-checking and authorization

Page 37: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage

Service Bus Peer to PeerUnstructuredRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 38: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructuredRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Event BasedTriggered based on events (e.g. document upload)

High ThroughputLow latency, high volume (e.g. trading confirmations)

Page 39: Architectural Principles for Software + Services

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 40: Architectural Principles for Software + Services

Application Services

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 41: Architectural Principles for Software + Services

Application Services

Collaboration

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

SearchText Search, Image Search, Indexing

SocialSocial Graphs, Profiles

Content ManagementIndexing, Retrieval, Conflict Management

Page 42: Architectural Principles for Software + Services

Application Services

Collaboration

Search SocialContent Mgt

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 43: Architectural Principles for Software + Services

Application Services

Collaboration

Search SocialContent Mgt

Monetization

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

TransactionPay for each transaction

SubscriptionPay per month/period

LicensingPay per user/machine

AdvertisingAdvert funded model

Page 44: Architectural Principles for Software + Services

Application Services

Collaboration

Search SocialContent Mgt

Monetization

Subscribe AdvertLicensePer Trans

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 45: Architectural Principles for Software + Services

Application Services

Collaboration

Search SocialContent Mgt

Monetization Composition

Subscribe AdvertLicensePer Trans

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Service CompositionComposition, brokering results, aggregation

Line of Business IntegrationService wrapping of mainframe and other LOB applications

Page 46: Architectural Principles for Software + Services

Application Services

Collaboration

Search SocialContent Mgt

Monetization Composition

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 47: Architectural Principles for Software + Services

Application Services

Application

Collaboration

Search SocialContent Mgt

Monetization Composition

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Business Logic (Rules)

Entities (Schema)

Workflow (Process)

Page 48: Architectural Principles for Software + Services

Application Services

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 49: Architectural Principles for Software + Services

Application ServicesWeb Presentation

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

StaticStatic content, HTML etc

DynamicAsynchronous interaction, AJAX etc.

RIARich Internet Applications, high visuals, limited offline support

StreamingOptimized for content delivery, videos etc.

Page 50: Architectural Principles for Software + Services

Application ServicesWeb Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 51: Architectural Principles for Software + Services

Application ServicesProgrammatic AccessWeb Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Web ServicesSOAP based, WS-I compliant, WS-*

RESTCRUD access to services via HTML

RSSSyndication services for subscriptions

Page 52: Architectural Principles for Software + Services

Application ServicesProgrammatic AccessWeb Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

VoiceXMLMobile Application Speech API

SIPSession Initiation Protocol – IM Clients

SMTPEmail inbound and outbound delivery

SMSMobile inbound and outbound text messaging

Page 53: Architectural Principles for Software + Services

Application ServicesProgrammatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 54: Architectural Principles for Software + Services

Application Services

Client Software

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 55: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

BrowserConsumer of web based content, HTML etc., including RIA plug in

OfficeOffice Suite, including Email and RSS reader capability

Client ApplicationRich (Smart) client applications installed locally on machine

GadgetsLocally installed, desktop based

Instant MessagingLocally installed Instant Messaging client

Page 56: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 57: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

BrowserConsumer of web based content, HTML etc., including RIA plug in

OfficeOffice Suite, including Email and RSS reader capability

Client ApplicationRich (Smart) client applications installed locally on machine

SMS / IMText messaging and IM using Mobile Device

SpeechSpeech enabled interface

Page 58: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 59: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

DevicesDedicated devices

ConsolesGames Consoles

Page 60: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Architectural Principles for Software + Services

Page 61: Architectural Principles for Software + Services

Architectural Principles for Software + Services

Page 62: Architectural Principles for Software + Services

Architectural Principles for Software + Services

What type of architectural patterns can we show using these principles?

Page 63: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Static Web Site, On Premise

Page 64: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Static Web Site, On Premise (Add Content Mgt)

Page 65: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Static Web Site, On Premise (Add Search/Social)

Page 66: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Static Web Site, On Premise (Add Ad Service)

Page 67: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Static Web Site, On Premise (Move to Hoster)

Page 68: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Static Web Site, On Premise (Add AJAX)

Page 69: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Static Web Site, On Premise (Add Mobile RSS)

Page 70: Architectural Principles for Software + Services

Architectural Principles for Software + Services

How about the trends we talked about earlier?

Page 71: Architectural Principles for Software + Services

Architectural Principles for Software + Services

Trend 1: Service Oriented Architecture (SOA)

Page 72: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 73: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 74: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 75: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 76: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 77: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 78: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 79: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 1: SOA - Single Service, On Premise

Page 80: Architectural Principles for Software + Services

Architectural Principles for Software + Services

Trend 2: Software as a Service (SaaS)

Page 81: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 2: SaaS – Web Based SaaS Provider

Page 82: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 2: SaaS – Web Based SaaS Provider

Page 83: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 2: SaaS – Web Based SaaS Provider

Page 84: Architectural Principles for Software + Services

Architectural Principles for Software + Services

Trend 3: Web 2.0

Page 85: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 3: Web 2.0 – Social Networking Site

Page 86: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 3: Web 2.0 – Social Networking Site

Page 87: Architectural Principles for Software + Services

Architectural Principles for Software + Services

Trend 4: Rich Internet Applications

Page 88: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 4: RIA – eCommerce Site

Page 89: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 4: RIA – eCommerce Site

Page 90: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 4: RIA – eCommerce Site

Page 91: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 4: RIA – eCommerce Site

Page 92: Architectural Principles for Software + Services

Architectural Principles for Software + Services

Trend 5: Cloud Computing

Page 93: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 5: Cloud Computing – Backup Provider

Page 94: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 5: Cloud Computing – Backup Provider

Page 95: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 5: Cloud Computing – Backup Provider

Page 96: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Trend 5: Cloud Computing – Backup Provider

Page 97: Architectural Principles for Software + Services

Architectural Principles for Software + Services

How about Microsoft’s own products?

Page 98: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Exchange Lifecycle (Exchange 4.0, Outlook 97)

Page 99: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Exchange Lifecycle (Exchange 5.0, Outlook 97)

Page 100: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Exchange Lifecycle (Exchange 5.0 SP1, Outlook XP)

Page 101: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Exchange Lifecycle (Exchange 2003, Outlook 2003)

Page 102: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Exchange Lifecycle (Exchange 2007, Outlook 2007)

Page 103: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Exchange Lifecycle (Hosted Exchange, Outlook 2007)

Page 104: Architectural Principles for Software + Services

Architectural Challenges

Page 105: Architectural Principles for Software + Services

Architectural Challenges

Challenge 1 - Identity

Page 106: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 1 - Identity

Page 107: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 1 - Identity

Page 108: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 1 - Identity

• Accessing Hosted Assets with Internal Credentials• AuthN and AuthZ across FW• Credential Storage

• Accessing Hosted Assets with Internal Credentials• AuthN and AuthZ across FW• Credential Storage

Page 109: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 1 - Identity

Page 110: Architectural Principles for Software + Services

Architectural Challenges

Challenge 2 – Data

Page 111: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 2 - Data

Page 112: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 2 - Data

• Import and Export of Data• Privacy of External Data• Reporting and Analytics

• Import and Export of Data• Privacy of External Data• Reporting and Analytics

Page 113: Architectural Principles for Software + Services

Architectural Challenges

Challenge 3 – Management

Page 114: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 3 - Management

Page 115: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Challenge 3 - Management

• Holistic View of Application?• Integration into existing System Management solutions?• Contracts and SLAs

• Holistic View of Application?• Integration into existing System Management solutions?• Contracts and SLAs

Page 116: Architectural Principles for Software + Services

Software + Services – Next Steps

Page 117: Architectural Principles for Software + Services

Software + Services – Next Steps

Step 1 – Understand many successful applications are a combination of Software

+ Services

Page 118: Architectural Principles for Software + Services

Software + Services – Next Steps

Step 2 – Use the “principles” to visualize, decompose and recompose existing

applications

Page 119: Architectural Principles for Software + Services

Software + Services – Next Steps

Step 3 – Understand the Technology Mappings

Page 120: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Software + Services – Next Steps

IE8 Windows Mobile 7XBOX 360

IIS 7 SL Streaming WCF

.NET Framework

MOSS 2007BTS Adapters

MOSS 2007 BDC

AD / ADFS.NET

Services

AdCent

er

.NET Framework 3rd Party

BizTalk 2006 R2

ILM.NET

ServicesBizTalk /

BizTalk.NetLive

ServicesIIS 7

SQL Server

SQL Service

s

Windows WFMOSS 2007

.NET Services

Windows WFBizTalk Server.NET Services

Windows Server 2008WS 2008

HPCWindows Server 2008 Hyper-

V

Office

WPF Vista OCWin

Embed.NET CF

Windows Azure

Page 121: Architectural Principles for Software + Services

Software + Services – Next Steps

Step 4 – Blueprints for repeatable patterns

Page 122: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Software + Services – Next Steps

Page 123: Architectural Principles for Software + Services

Software + Services – Next Steps

Page 124: Architectural Principles for Software + Services

Software + Services – Next Steps

Step 5 – Get the right people involved

Page 125: Architectural Principles for Software + Services

Application Services

Client SoftwarePC

Browser

Programmatic Access

RSS REST Web Services VoiceXML

Web Presentation

Static Dynamic RIA Streaming

Application

Entities (Schema)Business Logic (Rules)

Collaboration

Search SocialContent Mgt

Monetization Composition

SMTP SMSSIP

Workflow (Processes)

Office Client Gadgets IM

Mobile

Speech SMS/IM Browser Office Client

Embedded

Devices Consoles

Subscribe AdvertLicensePer Trans Service Orchestration Line of Business

Infrastructure

Infrastructure Services

Identity & AccessMessagingStorage Workflow

Service Bus Peer to PeerUnstructured Event Based High ThroughputRelationalFile

Compute

Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable

Authentication Authorization

On Premises Hoster Cloud

Software + Services – Next Steps

Infrastructure Architect / Data Center Operations

Solutions and Infrastructure Architect

Solutions Architect and Development Team

Solutions Architect and Development Team (inc. Web Design)

Solutions Architect and Development Team (inc. Designer)

Ente

rpri

se A

rchit

ect

and C

IO Data

Cente

r Opera

tions

Page 126: Architectural Principles for Software + Services

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.