Upload
simon-guest
View
6.788
Download
2
Embed Size (px)
Citation preview
2
An Architectural Overview ofSoftware + Services
Simon GuestSenior DirectorPlatform Architecture TeamMicrosoft Corporation
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
SOA: Service Oriented Architecture
Service Composition
Web 2.0
Network Effect
SaaS: Software as a Service
Service Delivery
RIA: Rich Internet Applications
Experience
Software + Services
Cloud Computing
Service 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.
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 hardware
Physical, SharedMultiple services on a dedicated hardware
Physical, HPCPhysical hardware supporting HPC scenario
Virtual, SingleSingle instance virtual image
Virtual, 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
Foundation
Self Hosted Vendor Hosted
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
Application Services
Application Services
Collaboration
SearchText Search, Image Search, Indexing
SocialSocial Graphs, Profiles
ContentIndexing, Retrieval, Conflict Management
Application Services
Monetization
TransactionPay for each transaction
SubscriptionPay per month/period
LicensingPay per user/machine
AdvertisingAdvert funded model
Application Services
Composition
Service CompositionComposition, brokering results, aggregation
LOB IntegrationService wrapping of mainframe and other LOB
applications
Application Services
Business Intelligence
DashboardExposed, pre-defined KPIs
ReportingCustom queries and reports
Architectural Principles for Software + Services
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
Application Services
Application
Business Logic (Rules)
Entities (Schema)
Workflow (Process)
Architectural Principles for Software + Services
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
Workflow (Processes)
Application Services
Web 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
Foundation
Self Hosted Vendor Hosted
Application Services
Web Delivery
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
Workflow (Processes)
Application Services
Programmatic Access
Web ServicesSOAP based, WS-I compliant, WS-*
RESTCRUD access to services via HTML
RSSSyndication services for subscriptions
Application Services
Programmatic 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
Foundation
Self Hosted Vendor Hosted
Application Services
Exposed APIs
Web Services REST RSS VoiceXML
Web Delivery
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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 Client
Web 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 Client
OfficeMobile 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Simple Web Site
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Simple Blog
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 1: SOA) – Self Hosted Services
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 1: SOA) – Integrating LOB Applications
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 1: SOA) – Expanding using OBA
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 1: SOA) – Self Hosted Services
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 2: SaaS) – Web Based SaaS Provider
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 3: Web 2.0) – Nico Nico Douga
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 4: RIA) - Purchasing Capability
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
(Trend 4: RIA) - Purchasing Capability + RIA
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Exchange Lifecycle (Exchange 4.0, Outlook 97)
JET Database
RPC
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Exchange Lifecycle (Exchange 5.0, Outlook XP)
RPC
Active Directory JET Database
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Exchange Lifecycle (Exchange 2003, Outlook 2003)
RPC over HTTPs
Active Directory JET Database
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Exchange Lifecycle (Exchange 2003, Outlook 2003)
RPC over HTTPs
Active Directory JET Database
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Exchange Lifecycle (Exchange 2007, Outlook 2007)
RPC over HTTPs
Active Directory JET Database
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Exchange Lifecycle (Hosted Exchange, Outlook 2007)
RPC over HTTPs
Active Directory JET Database
Architectural Principles for Software + Services
A “middle out” architecture
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Simple Web Site
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Simple Web Site (Internal Contract and SLA)
Co
ntr
act
s an
d S
LA
s
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Co
ntr
act
s an
d S
LA
s
Simple Web Site (External Contract and SLA)
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Co
ntr
act
s an
d S
LA
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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Co
ntr
act
s an
d S
LA
sP
rovisio
nin
g, M
an
ag
em
en
t&
Mo
nito
ring
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
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Implementing Software + Services
Co
ntr
act
s an
d S
LA
sP
rovisio
nin
g, M
an
ag
em
en
t&
Mo
nito
ring
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Co
ntr
act
s an
d S
LA
sP
rovisio
nin
g, M
an
ag
em
en
t&
Mo
nito
ring
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)
En
terp
rise
Arc
hit
ect
an
d C
IO Data
Cen
ter O
pera
tion
s
Implementing Software + Services
Step 2: Map to technologies
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
Claims
SMTP SMSSIP
Workflow (Processes)
Implementing Software + Services
IE8 Silverlight Windows Mobile 6Live
Msgr
Windows
CEXBOX 360
IIS 7 SL Streaming WCF
.NET Framework
MOSS 2007BTS Adapters
MOSS 2007 BDC
AD /
ADFS
SQL Server Reporting
ServicesAd
Center
.NET Framework 3rd
Party
BizTalk 2006
R2
Vista
ILMCardSpa
ceBizTalk /
BizTalk.Net
Peer
FxIIS 7
SQL
ServerSSDS
Windows WF
MOSS 2007
Windows WF
BizTalk Server 2006
Windows Server 2008 WS 2008 HPC Windows Server 2008 Hyper-V
OfficeWPF
Implementing Software + Services
Step 3: If you are dealing with repeatable
architectural designs, build assets using Software
Factories approach
Infrastructure Services
Foundation
Self Hosted Vendor Hosted
Application Services
Browser
Client Software
HTML RIA
Mobile
Web RIA Client SMS Speech
Client PC
Client Office Gadgets IM
Embedded
Devices Consoles
Programmatic Access
Web Services REST RSS VoiceXML
Web Presentation
Static Dynamic Rich Streaming
Application
Entities (Schema)Business Logic (Rules)
Collaboration
Search ContentSocial
Monetization
Tx Subs License Advert
Composition
Service Int LOB Int
Business Intelligence
Dashboards Reporting
Identity & Access
Directory RBAC
Messaging
Service Bus P2P
Storage
Traditional UnstructuredRelational
Workflow
Event based High Throughput
Compute
Physical, 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
123
© 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.