Dan Eshner Product Unit Manager Microsoft SOA202
Session Overview In today’s session we will cover - “Dublin”: what is it, where does it fit, and why do I care? Scenario-driven walk through of “Dublin” – the evolution of a customer management app Scenario: Contoso Rugs – leverage existing apps Stage 1: Consolidate using a single web service managed with “Dublin” Stage 2: Use a simple coordinated workflow managed with “Dublin” Stage 3: Add a self-service customer portal interacting with a long-running workflow managed with “Dublin” Adding additional enterprise-ready capabilities to services and workflows Reliability, availability/scalability, routing “ Dublin” component overview
Windows Application Server Evolution of WPAS/IIS and Windows App Server role to run and manage WF and WCF services Continually ship app server value as quickly as possible – first installment: Dev10 wave Add additional releases through web downloads It Just Works Monitoring and Control Tooling and Scripting Enterprise-Ready extensions Windows Server.NET Framework “Dublin” Visual Studio WF and WCF services Administration Tools System Center IIS/WPAS Extensions (Codename “Dublin”)
Runtime Services & Components.NET Framework “Dublin” Software Stack Runtime Databases Hosting Persistence Monitoring Management APIs (PowerShell command-lets) IIS Manager IIS/WAS WCF and WF IIS Manager Modules System Center “Dublin” Management Pack WCF WF
SaaS CRM App Web Service (WS-*) (WS-*) Web UI (ASP.NET) (ASP.NET) Database(SQL)Database(SQL) Billing Application Web UI (?) (?) Customer Sales Scenario: Leveraging Existing Apps Contoso Rugs - Customer onboarding process today Issues Scale Visibility and Control
SaaS CRM App Customer Customer Service App Front End (ASP.NET) (ASP.NET) Web Service (WCF) (WCF) Database(SQL)Database(SQL) Billing Application Step 1 – Consolidate Create UI that calls a single service Changes Moved ASP.NET front end to cover both apps Put WCF web service in front of billing app Create new WCF service that calls CRM and billing services, and returns an to the customer Sales Web Service (WS-*) (WS-*).NET 4 WCF Service... string cID = myCRMClient.AddCucstomer( client , clientName); string billingID = myBillingClient.AddCustomer( cID, clientBillingAddress); my er.SendConfirmation (client , cID);... Web Service (WCF) (WCF)
Step 1 – Consolidate and Coordinate
Benefits Users are shielded from basic errors Workflows are automatically suspended on exception Dublin tools assist in troubleshooting and fixing problems Dublin allows for resuming workflows easily with tools and scripts "Dublin""Dublin" DatabaseDatabase Web Service (WCF) (WCF) Step 2 - Coordinate Use workflow to coordinate Web service activities "Dublin""Dublin" Web Service Customer Sales Customer Service App Front End (ASP.NET) (ASP.NET) Web Service (WCF) (WCF) Workflow Service Billing Application SaaS CRM App
Step 2 - Coordinate Use workflow to coordinate Web service activities "Dublin""Dublin" SaaS CRM App Web Service Customer Sales Customer Service App Front End (ASP.NET) (ASP.NET) Service(WCF)Service(WCF) "Dublin""Dublin" Web Service (WCF) (WCF) DatabaseDatabase Billing Application Workflow Service App limitations Scale: sales person still required for each new customer Invalid customer addresses
Customer Service Application confirmation number Front-End(ASP.NET)Front-End(ASP.NET) "Dublin""Dublin" Workflow Service Validate Step 3i – Self Service Obtain and validate contact information Changes Added a new customer portal front end (ASP.NET) Added validation to workflow ReceiveReceive Send mail ReceiveReceive name, , billing address confirmation number Add to CRM Add to billing Send mail SaaS CRM App Web Service "Dublin""Dublin" (WCF) (WCF) DatabaseDatabase Billing Application Customer
Front-End(ASP.NET)Front-End(ASP.NET) Customer Service Application "Dublin""Dublin" Workflow Service Validate Step 3i – Self Service Obtain and validate contact information It Just Works Monitoring and control ReceiveReceive Send mail ReceiveReceive Add to CRM Add to billing Send mail.NET 4 WF Service Tooling and scripting Enterprise-ready extensions PersistPersist Receive registration & send response IfElse(Validated)IfElse(Validated) Receive validation Delay (5 days) Delay Send Customer
Step 3 - Correlate
Enterprise-ready Extensions Availability and scale Multiple hosts sharing stores Instance resume Durable timers Routing service
Availability and Scale "Dublin" Workflow Service "Dublin" Workflow Service Persistence Database Monitoring Database Network Load Balancer Workflow Management Service Administration Tool or Script instance Resume All
"Dublin""Dublin" SaaS CRM Application WCF Service DatabaseDatabase Web Service Billing Application Front End Customer Service Application Customer "Dublin""Dublin" Regular Customer Workflow Service Step 4 – Routing Partition customers based on # or rugs sold per month "Dublin""Dublin" Premium Customer Workflow Service Routing Service It just works Monitoring and control Tooling and scripting Enterprise-ready extensions app.config <?xml version= <configuration<appSettingsapp.config <configuration<appSettings Sales
Instance Resume "Dublin" Workflow Service Persistence Database Workflow Management Service instance 33 persist activity
"Dublin" Workflow Service Host Durable Timer Workflow SQL Persistence Database SQL Persistence Database Delay SQL Instance Store Workflow Management Service
Runtime Services & Components.NET Framework “Dublin” Component Overview Runtime Databases Persistence schema Monitoring schema Hosting Persistence Monitoring Management APIs (PowerShell command-lets) IIS Manager IIS/WAS XAML & Config Activation Service Hosting Environment Auto-Start Provider Workflow Mgmt Service SQL Persistence Provider Instance Control Endpoint WCF Message Logger WCF Analytic Trace Event Collector ETW Tracking Routing Service WCF and WF IIS Manager Modules System Center “Dublin” Management Pack ASP.NET WCF WF
Challenges Using WCF And WF Today Customer feedback “I want to get my WF and WCF services up and running easily - Why doesn’t it just work?” “I want to easily monitor and control running WF and WCF services.” “I really want better tooling and scripting.” “I want built-in extensions for enterprise-readiness.” – Availability, Scalability, Routing
Summary The "Dublin" project is extending IIS/WAS and App Server role in Windows to enhance the support for WF and WCF services It just works Extends monitoring and control capability Adds scripting and tooling Adds scale, reliability, and routing for enterprise-readiness Simple and powerful Value for all WCF services Discovery, control, monitoring
Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification and Training Resources Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online.
Related Content Breakout Sessions SOA204The Microsoft Developer Platform for Building Software-Plus-Services Applications Mon | 1:00-2:15 PM ARC201A Lap around Team System 2010 Architecture EditionMon | 2:45-4:00 PM SOA201A First Look at WCF and WF in the Microsoft.NET Framework 4Tue | 8:30-9:45 AM SOA202A Lap around Microsoft Code Name “Dublin”Tue | 2:45-4:00 PM SOA310Managing, Tracking, and Troubleshooting Services in “Dublin”Tue | 4:30-5:45 PM SOA401Developing Service Oriented WorkflowsWed | 8:30-9:45 AM SOA309Load Balancing and Scaling Your WCF Services Today and TomorrowWed | 4:30-5:45 PM SOA302Building RESTful Services Using WCFThu | 10:15-11:30 AM SOA206Every Class As a Service: WCF As the New Microsoft.NETThu | 2:45-4:00 PM SOA313StockTrader Sample Application Case Study: Performance and Java InteropFri | 10:45-12:00 PM SOA303Busy Microsoft.NET Developer's Guide to WCF, SOA, and SuccessFri | 1:00-2:15 PM Plus… Checkout Interactive theater sessions in the TLC area and hands-on-labs
Track Resources SOA msdn.microsoft.com/biztalk “Dublin” “Oslo” msdn.microsoft.com/oslo msdn.microsoft.com/wcf msdn.microsoft.com/wf msdn.microsoft.com/azure/netservices twitter.com/dotnetservices
Complete an evaluation on CommNet and enter to win! Required Slide
© 2009 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. Required Slide