DinnerNow.NET Architecture Walkthrough David Aiken DinnerNow Chef
What is DinnerNow.NET? It’s a DEMO
DinnerNow is a fictitious marketplace where customers can order food from local restaurants for delivery to their home or office. This sample is designed to demonstrate how you can develop a connected application using several new Microsoft technologies. The demo utilizes several technologies including: IIS7, ASP.NET Ajax Extensions, LINQ, Windows Communication Foundation, Windows Workflow Foundation, Windows Presentation Foundation, Windows PowerShell, and the.NET Compact Framework.
Some things are there… …to solve a problem …to show how to use technology …it’s a DEMO
DinnerNow Goals Show.net framework technologies Show how to build distributed connected applications Provide an End-to-End Scenario that is real enough, tackles real-world problems, and can be easily used
DinnerNow Deliverables Each Release Contains 99% Automated Setup from sourcecode All project solutions, unit tests, etc. Setup Guide Walkthrough Document 8 Hands On Labs based upon DinnerNow
DinnerNow History Releases Target Framework/OS Combos Vista/Framework – Jan 31 st 2007 (912 downloads) 1.1 – Feb 2 nd 2007 (9447 downloads) 1.2 – Feb 20 th 2007 (7979 downloads) 1.3 – June 1 st 2007 (6066 downloads)
DinnerNow History Vista/Orcas Beta June 1 st (3126 downloads) Vista/Orcas Beta – August 3 rd (19078 downloads) Vista/Server 2008/Visual Studio – Will RTM on Jan 31 st 2008
Happy Birthday DinnerNow
Developing DinnerNow Team Effort James Conard (my boss), Nigel Watling, Brett Hill, Matthew Winkler, Craig McMurtry, Ryan Dunn, David Aiken Some development contracted out NO there is not a DinnerNow team that just does DinnerNow
Development Environment
DINNERNOW.NET END-2-END DEMO
DinnerNow Architecture IIS 7 ASP.NET WCF SVCS WF SVCS Web BrowserWPF Application WM6 Ops Mgr 2007 MMC PowerShell Vista Sidebar Gadget Events Perf Counters WMI Perf Counters SQL2K5 Membership DinnerNow DinnerNowWF
Getting it on YOUR machine Automated build via WIX/Powershell Dependency Checker Helps YOU get going
BUILD PROCESS & DEPENDENCY CHECKER DEMO
Dependency Checker Dependency Model <dependency dependencyType="Software" value="Microsoft SQL Server 2005" enabled="true" optional="false" title="Microsoft SQL Server 2005 Express Edition" explination="Application Requires SQL" downloadUrl=" /> Software Registry Server Role WMI Query HotFix
Dependency Checker
DinnerNow Architecture IIS 7 ASP.NET WCF SVCS WF SVCS Web BrowserWPF Application WM6 Ops Mgr 2007 MMC PowerShell Vista Sidebar Gadget Events Perf Counters WMI Perf Counters SQL2K5 Membership DinnerNow DinnerNowWF
IIS 7 Web Stack IIS 7 ASP.NET WCF SVCS WF SVCS Web Browser Vista Sidebar Gadget Membership JSON JavaScript Object Notation JSON JavaScript Object Notation CardSpace for User Authentication CardSpace for User Authentication DinnerNow AJAX Asynchronous Javascript and XML AJAX Asynchronous Javascript and XML POX Plain Old XML POX Plain Old XML HTTP Handler Image Copyright Handler RSS Really Simple Syndication RSS Really Simple Syndication
IIS Hosted WCF Services Workflow Service Services DeliveryService ProcessOrder RestaurantOrderWorkflow MenuSearchService RestaurantQueryService MenuSyndicationService ASP.NET Web Application ShoppingCartService
Service Configuration <endpoint address=" binding="wsHttpContextBinding" contract="DinnerNow.OrderProcess.IOrderUpdateService" name="startWorkflow"> <endpoint address=" binding="wsHttpContextBinding" contract="IUpdateOrder" name="WSHttpContextBinding_IUpdateOrder"> --> <endpoint address="" behaviorConfiguration="DinnerNow.Services.MenuSyndicationService" binding="webHttpBinding" contract="DinnerNow.Services.IMenuSyndicationService" /> <service behaviorConfiguration="DinnerNow.Services.MenuSearchServiceBehavior" name="DinnerNow.Services.MenuSearchService"> <workflowRuntime name="WorkflowServiceHostRuntime" validateOnCreate="true" enablePerformanceCounters="true">
Enabling Operations DeliveryService ProcessOrder RestaurantOrderWorkflow MenuSearchService RestaurantQueryService MenuSyndicationService ShoppingCartService WMI Instance
Enterprise Monitoring
Supporting Mobile Devices.Net CF 3.5 Supports WCF but not Workflow Services DeliveryService RestaurantOrderWorkflow
DinnerNow Architecture IIS 7 ASP.NET WCF SVCS WF SVCS Web BrowserWPF Application WM6 Ops Mgr 2007 MMC PowerShell Vista Sidebar Gadget Events Perf Counters WMI Perf Counters SQL2K5 Membership DinnerNow DinnerNowWF
Q&A
Sequence Workflow
State Workflow