12. Why The Back and Forth??? Security & Privacy Customizability Visibility & Control Data accessibility Global reach Ease of provisioning Business agility Deployability & manageability
26. 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
28. 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
29. 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.
32. 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?
33. Taking Advantage of these Trends A set of architectural principles for understanding the Software + Services paradigm
35. Foundation Physical, Dedicated Single service on a dedicated hardware Physical, Shared Multiple services on a dedicated hardware Physical, HPC Physical hardware supporting HPC scenario Virtual, Single Single instance virtual image Virtual, Shared Multiple instance virtual image
47. Infrastructure Services Identity and Access Directory Based Authentication Username / Password based Claims Based Authentication Secure token or other claims based Role Based Authorization Role-checking and authorization
48. Infrastructure Services Messaging Service Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
50. Infrastructure Services Workflow Event Based Triggered based on events (e.g. document upload) High Throughput Low latency, high volume (e.g. trading confirmations)
51. Architectural Principles for Software + Services Infrastructure Services Foundation Self Hosted Vendor Hosted Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims
53. Application Services Collaboration Search Text Search, Image Search, Indexing Social Social Graphs, Profiles Content Indexing, Retrieval, Conflict Management
54. Application Services Monetization Transaction Pay for each transaction Subscription Pay per month/period Licensing Pay per user/machine Advertising Advert funded model
55. Application Services Composition Service Composition Composition, brokering results, aggregation LOB Integration Service wrapping of mainframe and other LOB applications
57. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims
59. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Application Entities (Schema) Business Logic (Rules) Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims Workflow (Processes)
60. Application Services Web Presentation Static Static content, HTML etc Dynamic Asynchronous interaction, AJAX etc. Rich Rich Internet Applications, high visuals, limited offline support Streaming Optimized for content delivery, videos etc.
61. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Web Delivery Static Dynamic Rich Streaming Application Entities (Schema) Business Logic (Rules) Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims Workflow (Processes)
62. Application Services Programmatic Access Web Services SOAP based, WS-I compliant, WS-* REST CRUD access to services via HTML RSS Syndication services for subscriptions
63. Application Services Programmatic Access VoiceXML Mobile Application Speech API SIP Session Initiation Protocol – IM Clients SMTP Email inbound and outbound delivery SMS Mobile inbound and outbound text messaging
64. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Exposed APIs Web Services REST RSS VoiceXML Web Delivery Static Dynamic Rich Streaming Application Entities (Schema) Business Logic (Rules) Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims SMTP SMS SIP Workflow (Processes)
66. Client Software Web Based Consumer of web based content, HTML etc RIA Consumer of Rich Content through Browser Add-In Browser Based
67. Client Software Mobile Client Web Based Mobile consumer of web based content, HTML etc RIA Mobile consumer of Rich Content through Browser Add-In Client Application Locally installed and run applications
68. Client Software Mobile Client Office Mobile based Email and Office Applications SMS / IM Text messaging and IM using Mobile Device Speech Speech enabled interface
69. Client Software Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine Client PC
70. Client Software Gadgets Locally installed, desktop based Instant Messaging Locally installed Instant Messaging client Client PC
129. Implementing Software + Services Contracts and SLAs Provisioning, Management & Monitoring 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) Enterprise Architect and CIO Data Center Operations
131. Implementing Software + Services IE8 Silverlight Windows Mobile 6 Live Msgr Windows CE XBOX 360 IIS 7 SL Streaming WCF .NET Framework MOSS 2007 BTS Adapters MOSS 2007 BDC AD / ADFS SQL Server Reporting Services Ad Center .NET Framework 3 rd Party BizTalk 2006 R2 Vista ILM CardSpace BizTalk / BizTalk.Net Peer Fx IIS 7 SQL Server SSDS Windows WF MOSS 2007 Windows WF BizTalk Server 2006 Windows Server 2008 WS 2008 HPC Windows Server 2008 Hyper-V Office WPF
132. Implementing Software + Services Step 3: If you are dealing with repeatable architectural designs, build assets using Software Factories approach