Nearly every application we build today has dependencies to other systems. How do we design them to work together to meet our goals? How do we decide what to build and what to buy? Do we host it ourselves or in the cloud? With a bewildering array of choices, the biggest challenge we face today is how to architect robust applications with the right technologies to meet our user’s needs and integrate nicely into our existing IT ecosystems.
Join our Central Region Architect Evangelists for a great discussion on architecting distributed applications using all the latest technologies and best practices.
Session 1: Blueprints for Success. In this session, we will survey the modern architecture landscape from the ground up, including infrastructure, application, and client solution choices. We’ll discuss how current industry trends are shaping our architectures and present an innovative architecture mapping technique for analyzing our customer’s needs and aligning them to today’s technologies and solution patterns.
Session 2: Making It Real. In this session, we’ll take a look at several case studies to learn how to apply the mapping technique from Session 1 to architect real world solutions that add true business value. We’ll examine applications we use every day and take a walk through a Microsoft reference architecture that explores many of the decisions we face when building modern distributed applications.
3. About your presenter(s)… Clint Edmonson Architect Evangelist Microsoft Corporation www.notsotrivial.net [email_address] Brian Prince Architect Evangelist Microsoft Corporation www.brianhprince.com [email_address] Larry Clarkin Architect Evangelist Microsoft Corporation www.larryclarkin.com [email_address] Phil Wheat Architect Evangelist Microsoft Corporation blog.austinwheats.com [email_address]
4. Agenda Session 1: Blueprints for Success Break Session 2: Making It Real Drawing for prizes
17. Industry Trends SOA: Service Oriented Architecture Reuse and Agility Web 2.0 Network Effect SaaS: Software as a Service Flexible pricing and delivery RIA: Rich Internet Applications Experience Software + Services Cloud Computing Service Utility
19. 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
20. 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.
22. Heads in the Cloud, Feet on the Ground When it comes to running applications, organizations today face a tension between control and economy of scale Economy of Scale Low High Control High Low
23. Heads in the Cloud, Feet on the Ground Economy of Scale Low High Control High Low Application runs on-premise Buy my own hardware, and manage my own data center Application runs at a hoster Pay someone to host my application using hardware that I specify Application runs using cloud platform Pay someone to host my application without specifying the hardware (they promise to be “infinitely” scalable) Application is supplied by a vendor Pay for someone’s hosted application. Don’t care about the hardware, as long as it works.
24. Heads in the Cloud, Feet on the Ground Tension between build vs. buy Build vs. Buy Build Buy
25. Heads in the Cloud, Feet on the Ground “ Packaged” Application An application that I buy “off the shelf” and run myself “ Home Built” Application An application that I develop and run myself Build vs. Buy Build Buy Hosted “ Home Built” An application that I develop myself, but run at a hoster Hosted “ Packaged” An application that I buy “off the shelf” and then run at a hoster “ Home Built” using cloud An application that I develop myself, that is hosted using cloud platform “ Packaged” using cloud An application that I buy “off the shelf”, that is hosted using cloud platform “ Software as a Service” A hosted application that I buy from a vendor “ Platform as a Service” A vendor hosted development and runtime environment
26. Big Pharmaceutical Example “ Too costly to run this myself, but I’ve made too many customizations” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” “ Home Built” using cloud “ Packaged” using cloud “ Software as a Service” “ Platform as a Service” Clinical Trial Molecule Research HR System Email CRM ERP
27. Big Pharmaceutical Example “ CRM and Email are commodity services – They have no customizations, and it’s cheaper for someone else to run these” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” “ Home Built” using cloud “ Packaged” using cloud “ Software as a Service” “ Platform as a Service” Clinical Trial Molecule Research HR System Email CRM ERP
28. Big Pharmaceutical Example “ I can’t afford to maintain this old HR application written in VB – it’s driving me mad!” “… but due to regulatory issues, I cannot store my HR data off-premise” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” “ Home Built” using cloud “ Packaged” using cloud “ Software as a Service” “ Platform as a Service” Clinical Trial Molecule Research HR System Email CRM ERP
29. Big Pharmaceutical Example “ I wish I had access to cheaper compute and storage when I need it” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” “ Home Built” using cloud “ Packaged” using cloud “ Software as a Service” “ Platform as a Service” Clinical Trial Molecule Research Email CRM ERP HR System
30. Big Pharmaceutical Example “ THIS is where I want to spend my IT resources – I’m going to double down on this application!” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” “ Home Built” using cloud “ Packaged” using cloud “ Software as a Service” “ Platform as a Service” Clinical Trial Molecule Research Email CRM ERP HR System
38. Architectural Blueprints Service Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
42. Architectural Blueprints Event Based Triggered based on events (e.g. document upload) High Throughput Low latency, high volume (e.g. trading confirmations)
47. Architectural Blueprints Transaction Pay for each transaction Subscription Pay per month/period Licensing Pay per user/machine Advertising Advert funded model
49. Architectural Blueprints Service Composition Composition, brokering results, aggregation Line of Business Integration Service wrapping of mainframe and other LOB applications
53. Architectural Blueprints Static Static content, HTML etc Dynamic Asynchronous interaction, AJAX etc. RIA Rich Internet Applications, high visuals, limited offline support Streaming Optimized for content delivery, videos etc.
55. Architectural Blueprints Web Services SOAP based, WS-I compliant, WS-* REST CRUD access to services via HTML RSS Syndication services for subscriptions
56. Architectural Blueprints VoiceXML Mobile Application Speech API SIP Session Initiation Protocol – IM Clients SMTP Email inbound and outbound delivery SMS Mobile inbound and outbound text messaging
59. Architectural Blueprints Browser Consumer of web based content, HTML etc., including RIA plug in Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine Gadgets Locally installed, desktop based Instant Messaging Locally installed Instant Messaging client
61. Architectural Blueprints Browser Consumer of web based content, HTML etc., including RIA plug in Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine SMS / IM Text messaging and IM using Mobile Device Speech Speech enabled interface
112. Big Pharmaceutical Example “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” “ Home Built” using cloud “ Packaged” using cloud “ Software as a Service” “ Platform as a Service” Clinical Trial Molecule Research Email CRM ERP HR System
127. Architectural Blueprints – Next Steps Infrastructure Architect / Data Center Operations Solutions and Infrastructure Architect Solutions Architect and Development Team Solutions Architect and Development Team (inc. Web Design) Solutions Architect and Development Team (inc. Designer) Enterprise Architect and CIO Data Center Operations
129. Architectural Blueprints – Next Steps IE8 Windows Mobile 7 XBOX 360 IIS 7 SL Streaming WCF .NET Framework MOSS 2007 BTS Adapters MOSS 2007 BDC AD / ADFS Ad Center .NET Framework 3 rd Party BizTalk 2006 R2 ILM BizTalk / BizTalk.Net Mesh CTP IIS 7 SQL Server SSDS Windows WF MOSS 2007 Windows WF BizTalk Server Windows Server 2008 WS 2008 HPC Windows Server 2008 Hyper-V Office WPF Vista OC Win Embed .NET CF
143. System finds all of the users roles, calculates the effective rights User Application Rights Storage Username, Pwd Roles: Operator, Manager Rights: vDash, vOrders, …
144. Attach Principal/Identity to Thread User Application Rights Storage Username, Pwd Roles: Operator, Manager Rights: vDash, vOrders, … P Principal & Identity I
170. “ A Cloudy World” Example The “Cloud” (big pharma data in purple) (big pharma instance in purple) Clinical trial patients Internet Service Bus (Connectivity) Big Pharma “on premise” Cloud Storage (new molecule research in purple) Internet Service Bus (Identity) STS Relay Cloud Compute Cloud Platform CRM Online Hosted ERP @ Hoster employees Clinical trial software Firewall Management IT Directory STS
190. Service Identity Client / UX Data Store User User Service Account SSRS Service Domain Objects Persistence Layer
191. Delegation and ActAs Web Front End Trusted Authority Directory/ Credential Store ID: svcInv STS 3. Get Claims for svcInv ActAs Dieter 2. Dieter 1. Get Claims for Dieter Business Rules Dieter’s Browser ID: Dieter Back End Web Service ID: Dieter 4. svcInv ActAs Dieter