S+S Architecture Overview

Post on 03-Nov-2014

816 views 1 download

Tags:

description

This is a talk I give to explain S+S and provide architectural guidance on how to understand and build S+S solutions.

Transcript of S+S Architecture Overview

1

An Architectural Overview of Software + Services

David SolivanArchitect EvangelistMicrosoft Corporationdavidsol@microsoft.comTwitter alias: mrbeaudreauxhttp://www.youtube.com/dsolivanGamertag: MagicalSollyBlog: http://blogs.msdn.com/beaudreaux

Some Recent History

In the beginning…centralization.

Some Recent History

Some Recent History

Some Recent History

Then we realized distribution was best.

Some Recent History

Some Recent History

Some Recent History

The we saw that what we really needed was centralization.

Some Recent History

Some Recent History

Why The Back and Forth???Security & Privacy

Customizability

Visibility & Control

Data accessibility

Global reach

Ease of provisioning

Business agility

Deployability & manageability

Industry Trends

Industry Trends

Trend 1: Service Oriented Architecture (SOA)

Industry Trends

Industry Trends

Trend 2: Software as a Service (SaaS)

Industry Trends

Industry Trends

Trend 3: Web 2.0

Industry Trends

Industry Trends

Trend 4: Rich Internet Applications (RIA)

Industry Trends

Industry Trends

Trend 5: Cloud Computing

Industry Trends

Industry Trends

Trend 6: Mobile Computing

Industry Trends

SOA: Service Oriented Architecture Service Composition

Web 2.0Network Effect

SaaS: Software as a Service Service Delivery

RIA: Rich Internet ApplicationsExperience

Software + Services

Cloud ComputingService Utility

Industry Trends

Is this just a Microsoft thing?

Industry Trends

“Let me just say it: We want native third-party applications on the iPhone, and we plan to have an SDK in developers' hands in February” - Steve Jobs

Apple Reverses on Third-Party iPhone Apps

“But Google's offline approach also is a recognition that Microsoft's right in insisting that not all computing will take place in the Internet cloud. Microsoft's been touting a vision of "software plus services" that relies on Internet-connected desktop apps, and more enterprise software-as-a-service companies, such as CRM vendor RightNow, recognize the need for some client software.”

Google CEO Says Software

to Play a Bigger Role

Industry Trends

IBM also introduced Bluehouse, the code name for services … designed to help business partners share contacts, files, project and interact via chat and Web meeting. The model is similar to what Microsoft has been pushing with its software-plus-services strategy developed by Microsoft CTO Ray Ozzie, who created the Notes platform.

Microsoft is trying to define a new category with software plus services…it turns out that Microsoft may have a point and, while Salesforce.com would be unlikely to concede this, in fact it provides some supporting evidence. A few years ago Salesforce.com released its Off-line Edition for its popular customer relationship management (CRM) product.

Demo: FedEx QuickShip

Taking Advantage of these Trends

Taking Advantage of these Trends

How do these industry trends map to architectural patterns?

What kind of applications are possible using the Software + Services

paradigm?Can Software + Services take

advantage of existing investments?

Taking Advantage of these Trends

A set of architectural principles for understanding the Software + Services

paradigm

Foundation

Foundation

Physical, DedicatedSingle service on a dedicated hardwarePhysical, SharedMultiple services on a dedicated hardwarePhysical, HPCPhysical hardware supporting HPC scenarioVirtual, SingleSingle instance virtual imageVirtual, SharedMultiple instance virtual image

Self-Hosted vs. Vendor Hosted

Self-Hosted vs. Vendor Hosted

Self-HostedYou manage and pay for your own datacenter

Vendor HostedYou pay for a vendor to host your applications

Self-Hosted vs. Vendor Hosted

Vendor InvestmentsVendors investing heavily in multi-site datacenters

Self-Hosted vs. Vendor Hosted

Microsoft Data Center (Chicago, IL) $500m investment, 500,000 sq ft, container based

Self-Hosted vs. Vendor Hosted

CostInitial investment, maintenance, and depreciation

Self-Hosted vs. Vendor Hosted

Power ConsiderationsRising energy costs and sustainability considerations

Self-Hosted vs. Vendor Hosted

Operational RequirementsHelpdesk, backups, networking, upgrades

Self-Hosted vs. Vendor Hosted

Security and Data ProtectionStorage, transmission, identity, and regulatory issues

Self-Hosted vs. Vendor Hosted

Hardware AdvancementsVirtualization, Multicore, Performance Tuning

Architectural Principles for Software + Services

FoundationSelf Hosted Vendor Hosted

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

Infrastructure Services

Infrastructure Services

Identity and Access

Directory Based AuthenticationUsername / Password based

Claims Based AuthenticationSecure token or other claims based

Role Based AuthorizationRole-checking and authorization

Infrastructure Services

Messaging

Service BusAsynchronous, reliable messaging, publish/subscribe model

Peer to PeerNode registration, directory, presence awareness

Infrastructure Services

Storage

TraditionalFileshare, flat, page-based

RelationalHosted relational database, familiar, transactional, finite

UnstructuredKey/value Pair, no atomicity, infinitely scalable

Infrastructure Services

Workflow

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

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

Architectural Principles for Software + Services

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

Application Services

Application ServicesCollaboration

SearchText Search, Image Search, Indexing

SocialSocial Graphs, Profiles

ContentIndexing, Retrieval, Conflict Management

Application ServicesMonetization

TransactionPay for each transaction

SubscriptionPay per month/period

LicensingPay per user/machine

AdvertisingAdvert funded model

Application ServicesComposition

Service CompositionComposition, brokering results, aggregation

LOB IntegrationService wrapping of mainframe and other LOB applications

Application ServicesBusiness Intelligence

DashboardExposed, pre-defined KPIs

ReportingCustom queries and reports

Architectural Principles for Software + Services

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

Application ServicesApplication

Business Logic (Rules)

Entities (Schema)

Workflow (Process)

Architectural Principles for Software + Services

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

Workflow (Processes)

Application ServicesWeb Presentation

StaticStatic content, HTML etc

DynamicAsynchronous interaction, AJAX etc.

RichRich Internet Applications, high visuals, limited offline support

StreamingOptimized for content delivery, videos etc.

Architectural Principles for Software + Services

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application ServicesWeb Delivery

Static Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

Workflow (Processes)

Application ServicesProgrammatic Access

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

RESTCRUD access to services via HTML

RSSSyndication services for subscriptions

Application ServicesProgrammatic Access

VoiceXMLMobile Application Speech API

SIPSession Initiation Protocol – IM Clients

SMTPEmail inbound and outbound delivery

SMSMobile inbound and outbound text messaging

Architectural Principles for Software + Services

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application ServicesExposed APIs

Web Services REST RSS VoiceXML

Web DeliveryStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Client Software

Client Software

Web BasedConsumer of web based content, HTML etc

RIAConsumer of Rich Content through Browser Add-In

Browser Based

Client Software

Mobile ClientWeb BasedMobile consumer of web based content, HTML etc

RIAMobile consumer of Rich Content through Browser Add-In

Client ApplicationLocally installed and run applications

Client Software

Mobile ClientOfficeMobile based Email and Office Applications

SMS / IMText messaging and IM using Mobile Device

SpeechSpeech enabled interface

Client Software

OfficeOffice Suite, including Email and RSS reader capability

Client ApplicationRich (Smart) client applications installed locally on machine

Client PC

Client Software

GadgetsLocally installed, desktop based

Instant MessagingLocally installed Instant Messaging client

Client PC

Client Software

DevicesDedicated devices

ConsolesGames Consoles

Embedded

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Architectural Principles for Software + Services

Architectural Principles for Software + Services

Architectural Principles for Software + Services

Now that I understand the principles, how should I think about my own architectural

designs?

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Simple Web Site

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Simple Blog

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Simple Wiki

Architectural Principles for Software + Services

How about the trends you mentioned earlier?

Architectural Principles for Software + Services

Trend 1: Service Oriented Architecture (SOA)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 1: SOA) – Self Hosted Services

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 1: SOA) – Integrating LOB Applications

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 1: SOA) – Expanding using OBA

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 1: SOA) – Self Hosted Services

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 1: SOA) – Self Hosted Services using ESB

Architectural Principles for Software + Services

Internet Service Bus

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 1: SOA) – Self Hosted Services using ISB

Architectural Principles for Software + Services

Trend 2: Software as a Service (SaaS)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 2: SaaS) – Web Based SaaS Provider

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 2: SaaS) – Web Based SaaS Provider w/ API

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 2: SaaS) – Web Based SaaS Provider w/ Offline

Architectural Principles for Software + Services

Trend 3: Web 2.0

Nico Nico Douga

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 3: Web 2.0) – Nico Nico Douga

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 3: Web 2.0) – Nico Nico Douga

Architectural Principles for Software + Services

Trend 4: Rich Internet Applications

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 4: RIA) - Purchasing Capability

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 4: RIA) - Purchasing Capability + RIA

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

(Trend 4: RIA) - Purchasing Capability + Mobile RIA

Architectural Principles for Software + Services

How about Microsoft’s own products?

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Exchange Lifecycle (Exchange 4.0, Outlook 97)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Exchange Lifecycle (Exchange 5.0, Outlook XP)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Exchange Lifecycle (Exchange 2003, Outlook 2003)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Exchange Lifecycle (Exchange 2003, Outlook 2003)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Exchange Lifecycle (Exchange 2007, Outlook 2007)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Exchange Lifecycle (Hosted Exchange, Outlook 2007)

Architectural Principles for Software + Services

A “middle out” architecture

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Architectural Principles for Software + Services

A “middle out” architecture

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Architectural Principles for Software + Services

A “middle out” architecture

Contracts and SLAs

Contracts and SLAs

What kind of contracts and SLAs do you need to be thinking about?

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Simple Web Site

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Simple Web Site (Internal Contract and SLA)

Cont

ract

s and

SLA

s

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Cont

ract

s and

SLA

sSimple Web Site (External Contract and SLA)

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Cont

ract

s and

SLA

s

Using ISB (Mixed Contract and SLA)

Provisioning

Provisioning

What is important from a provisioning perspective?

Provisioning

How are you going to manage your application “as one” in a mixed hosted

environment?

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Cont

ract

s and

SLA

sProvisioning, M

anagement & M

onitoring

Using ISB (Provisioning Considerations)

Implementing Software + Services

Implementing Software + Services

Three steps for implementing Software + Services using the principles and patterns

introduced in this deck

Implementing Software + Services

Step 1: Get the right people involved

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Implementing Software + ServicesCo

ntra

cts a

nd S

LAs

Provisioning, Managem

ent & Monitoring

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Cont

ract

s and

SLA

sProvisioning, M

anagement & M

onitoring

Implementing Software + Services

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

rpris

e Ar

chite

ct a

nd C

IO Data Center Operations

Implementing Software + Services

Step 2: Map to technologies

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Implementing Software + Services

IE8 Silverlight Windows Mobile 6 Live

MsgrWindow

s CE

XBOX 360

IIS 7 SL Streaming WCF

.NET Framework

MOSS 2007BTS AdaptersMOSS 2007

BDC

AD / ADFS

SQL Server Reporting Services

AdCent

er.NET Framework

3rd PartyBizTalk 2006 R2

Vista

ILM CardSpace

BizTalk / BizTalk.Ne

tPeer Fx IIS 7

SQL Server

SSDSWindows

WFMOSS 2007

Windows WFBizTalk Server

2006

Windows Server 2008 WS 2008 HPC

Windows Server 2008 Hyper-V

Office

WPF

Implementing Software + Services

Step 3: If you are dealing with repeatable architectural designs, build assets using

Software Factories approach

Infrastructure Services

FoundationSelf Hosted Vendor Hosted

Application Services

BrowserClient Software

HTML RIA

MobileWeb RIA Client SMS Speech

Client PCClient Office Gadgets IM

EmbeddedDevices Consoles

Programmatic AccessWeb Services REST RSS VoiceXML

Web PresentationStatic Dynamic Rich Streaming

ApplicationEntities (Schema)Business Logic (Rules)

CollaborationSearch ContentSocial

MonetizationTx Subs License Advert

CompositionService Int LOB Int

Business IntelligenceDashboards Reporting

Identity & AccessDirectory RBAC

MessagingService Bus P2P

StorageTraditional UnstructuredRelational

WorkflowEvent based High Throughput

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

Claims

SMTP SMSSIP

Workflow (Processes)

Implementing Software + Services

Implementing Software + Services

Implementing Software + Services

Purchasing Site 1 Purchasing Site 2

Purchasing Site 3 Purchasing Site 4

136

© 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.

davidsol@microsoft.com