PDC Highlights

1,178 views

Published on

The Professional Developers Conference (PDC) is the definitive developer event focused on the technical strategy of the Microsoft developer platform. In this session David Glover & Catherine Eibner provide their summary of what was hot to trot at the PDC 2009.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

PDC Highlights

  1. 1. PDC Highlights <ul><li>Dave Glover </li></ul><ul><li>Microsoft Australia, Developer Platform Group </li></ul><ul><ul><li>0403809914 </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>http://blogs.msdn.com/dglover , www.twitter.com/dglover </li></ul></ul><ul><li>Catherine Eibner </li></ul><ul><li>Microsoft Australia, Developer Platform Group </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>http:// blogs.msdn.com/ceibner , www.twitter.com/ceibner </li></ul></ul>
  2. 2. PDC Highlights
  3. 3. <ul><li>New in WCF </li></ul><ul><li>Windows Server Application Fabric </li></ul>
  4. 4. New in WCF 4
  5. 5. New in WCF 4.0 <ul><li>Improvements to things you do today </li></ul><ul><ul><li>Configuration </li></ul></ul><ul><ul><li>Monitoring </li></ul></ul><ul><li>New scenarios enabled </li></ul><ul><ul><li>Routing </li></ul></ul><ul><ul><li>Discovery </li></ul></ul>
  6. 6. Endpoint Configuration in 3.x Web. config Echo. svc http://host vdir2 vdir1 vdir2 A B C
  7. 7. Default Bindings Web. config Echo. svc http://host vdir2 vdir1 Endpoint using BasicHttpBinding picks up default binding configuration from higher in the config hierarchy <system.serviceModel> <bindings> <basicHttpBinding> <binding maxBufferSize=&quot;2147483647&quot; maxReceivedMessageSize=&quot;2147483647&quot;/> </basicHttpBinding> </bindings> </system.serviceModel> A B C vdir2
  8. 8. Default Behaviors Web. config Echo. svc http://host vdir2 vdir1 A Service or Endpoint picks up default behaviors from higher in the config hierarchy Web. config <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceThrottling maxConcurrentCalls=&quot;32&quot;/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> A B C Bv vdir2
  9. 9. Default Behaviors Web. config http://host Behaviors from higher in the config hierarchy are merged with behaviors in a local config file Echo. svc vdir2 vdir1 Web. config <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled=&quot;true&quot;/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> A B C Bv Bv vdir2
  10. 10. Message Pump as a Service <ul><li>Scenarios </li></ul><ul><li>Basic Message Routing </li></ul><ul><li>Protocol Bridging </li></ul><ul><li>Service Aggregation </li></ul><ul><li>Versioning </li></ul><ul><li>… </li></ul><ul><li>Concerns </li></ul><ul><li>Connection State </li></ul><ul><li>Security </li></ul><ul><li>Delivery Failure </li></ul><ul><li>Transactions </li></ul><ul><li>… </li></ul>Message Pump Routing Service
  11. 11. Message Routing Client Time Service Routing Service Echo IRequestReplyRouter BasicHttp http://routinghost/router A B C Supported Message Exchange Patterns Multicast Interface Request Reply, Sessionful Request Reply No IRequestReplyRouter OneWay Yes ISimplexDatagramRouter Sessionful OneWay Yes ISimplexSessionRouter Sessionful Duplex Yes IDuplexSessionRouter
  12. 12. Message Routing MessageFilter Endpoint action == http://PDC/Echo Echo action == http://PDC/GetCurrentTime TimeService Client Time Service Routing Service Echo Filter On MessageFilter Action ActionMessageFilter Address header AddressMessageFilter Address header – longest prefix matching AddressPrefixMessageFilter Endpoint Name EndpointNameMessageFilter No Filter – matches everything MatchAllMessageFilter Logical And of two filters StrictAndMessageFilter XPath expression XPathMessageFilter Custom Custom
  13. 13. Protocol Bridging BasicHttp Net.Tcp SOAP 1.1 SOAP 1.2 Client Service Routing Service
  14. 14. Security Message sent using Client Identity Message sent using Routing Service Identity Message sent using Client Identity Impersonation using WindowsIdentityToken Client Service Routing Service
  15. 15. Error Handling Client Backup Echo Service Routing Service Echo Service MessageFilter Endpoint Alternate Endpoints action == http://PDC/Echo Echo Backup EchoService
  16. 16. Discovery <ul><li>The ability to publish a service’s endpoint metadata and discover services using well defined criteria </li></ul><ul><li>Design time </li></ul><ul><ul><li>Find available services </li></ul></ul><ul><li>Runtime </li></ul><ul><ul><li>Reduced Config </li></ul></ul><ul><ul><li>Location agility </li></ul></ul><ul><ul><li>Dynamic / self healing apps </li></ul></ul><ul><li>2 Modes – adhoc and managed proxy service </li></ul><ul><li>WS-Discovery – Standard interoperable discovery protocol </li></ul>
  17. 17. Ad-hoc Discovery Chat App: Ed Hello Hello Chat App: Steve Chat App: Jurgen Hello
  18. 18. Ad-hoc Discovery Chat App: Ed Chat App: Steve Chat App: Jurgen Probe Probe Probe ProbeMatch ProbeMatch
  19. 19. Ad-hoc Discovery Chat App: Ed Bye Bye Chat App: Steve Chat App: Jurgen Bye
  20. 20. Managed Discovery Probe Probe Hello Probe Hello ProbeMatch Jurgen
  21. 21. Discovery Runtime
  22. 22. Dallas <ul><li>“ Data as a Service” </li></ul><ul><li>Built on Windows Azure & SQL Azure </li></ul><ul><li>Discover Public Data Sources, Explore them & Use them </li></ul><ul><li>Aim is to encourage greater innovation & apps to be created rapidly </li></ul><ul><li>http://www.sqlazureservices.com / </li></ul>
  23. 23. Power Pivot <ul><li>Formerly known as Project “Gemini” </li></ul><ul><li>Data Analysis add-in that delivers unmatched computational power within Excel 2010 </li></ul><ul><li>http://www.powerpivot.com/ </li></ul>
  24. 24. Pivot <ul><li>Live Labs latest experiment – available to trial by invitation </li></ul><ul><li>Pivot is an interaction model for viewing data collections </li></ul><ul><li>Pivot makes it easier to interact with massive amounts of data in ways that are powerful, informative, and fun </li></ul><ul><li>http ://www.getpivot.com/ </li></ul>
  25. 25. Windows Server AppFabric <ul><li>http:// www.microsoft.com/windowsserver2008/en/us/app-main.aspx </li></ul><ul><li>Download Windows Server AppFabric Beta 1 </li></ul><ul><ul><li>http://msdn.microsoft.com/appfabric </li></ul></ul>
  26. 26. WCF and WF in .NET 4 Persistence (Instances) Monitoring Activity Library Receive Send ... Workflow Service Host Management Endpoint Persistence Behavior Tracking Behavior
  27. 27. Windows Server AppFabric (formerly codename “Dublin”) <ul><li>Evolution of WAS/IIS and Windows Application Server role to run and manage WCF and WF services </li></ul><ul><li>Ships as part of 2010 Wave </li></ul>Runtime Databases Windows Server .NET Framework Windows Server AppFabric Services Management Tools IIS/WAS Workflows Persistence Monitoring Hosting Persistence Caching Monitoring IIS Manager Modules PowerShell
  28. 28. Coordination of Work Asynchronous Messaging Add/Remove Item Calculate Best Price Get Price Get Price Supplier One Service Supplier Two Service Best Price Workflow Service Purchase Service
  29. 29. Message Correlation The mechanism for relating messages to each other or to application instance state <ul><li>Context Based Correlation </li></ul><ul><li>Content Based Correlation <-New in .NET 4 </li></ul>1. Start 3. Send (key 3) 4. Receive (key 3) Receive Send Receive Persistence DB (Instances) 2. Save (key 3) 5. Load (key 3) 6.Complete Instance 123 | data 456 | data 789 | data A11 | data Key 123 | key 1 456 | key 2 789 | key 3 A11 | key 4 create correlation key3 Workflow Service
  30. 30. Message Correlation The mechanism for relating messages to each other or to application instance state Persistence DB (Instances) Instance 123 | data 456 | data 789 | data A11 | data Key 123 | userid 1 456 | userid 2 789 | userid 3 A11 | userid4 1. Add item (userId 3) 3. View items (userId 3) 5. Best Price (userId 3) Receive Receive Receive 2. Save (userId 3) 4. Load (userId 3) 6. Load (userId 3) create correlation
  31. 31. Monitoring Runtime Databases Windows Server .NET Framework Windows Server AppFabric Services Management Tools IIS/WAS Workflows Persistence Monitoring Hosting Persistence Caching Monitoring IIS Manager Modules PowerShell
  32. 32. Monitoring Windows Server AppFabric Monitoring Database Monitoring Tools <ul><li>Event Collector Service </li></ul><ul><ul><li>A Windows Service installed with the Windows Server AppFabric </li></ul></ul><ul><ul><li>Collects WCF and WF instrumentation events into the Monitoring DB </li></ul></ul>Workflow Service Event Collector Service WCF Trace Tracking Participant Tracking Profile
  33. 33. Persistence Runtime Databases Windows Server .NET Framework Windows Server AppFabric Services Management Tools IIS/WAS Workflows Persistence Monitoring Hosting Persistence Caching Monitoring IIS Manager Modules PowerShell
  34. 34. Persistence <ul><li>Storing WF Application State </li></ul><ul><li>Ensures that durable Workflows can be recovered and processing resumed </li></ul><ul><li>Scenarios </li></ul><ul><ul><li>Reliability - Long running workflows </li></ul></ul><ul><ul><li>Availability - Recovery when application or machine crashes </li></ul></ul><ul><ul><li>Scalability - A workflow unloads idle instances from memory; the retry loading of locked instances </li></ul></ul>
  35. 35. Persistence Windows Server AppFabric Workflow Service Instance 123 | data 456 | data 789 | data 011 | data <ul><li>Workflow Management Service for IIS/WAS </li></ul><ul><ul><li>A Windows Service installed with the Windows Server AppFabric that monitors the Persistence DB </li></ul></ul><ul><ul><li>Instance restart including graceful shutdown </li></ul></ul><ul><ul><li>Activates durable timers </li></ul></ul><ul><ul><li>Executes instance control commands </li></ul></ul>Persistence DB Workflow Management Service Management Endpoint
  36. 36. Instance Availability in a Farm Windows Server AppFabric Windows Server AppFabric Load Balancer Workflow Service Workflow Service Windows Server AppFabric Workflow Service Instance 123 | data 456 | data 789 | data 011 | data Persistence DB Workflow Management Service Workflow Management Service Workflow Management Service
  37. 37. Summary <ul><li>Workflow is ideally suited for business services </li></ul><ul><li>Workflow services handle complex coordination </li></ul><ul><ul><li>Composition of services </li></ul></ul><ul><ul><li>Message correlation to instances </li></ul></ul><ul><li>The Windows Server AppFabric supports WCF and Workflow services by </li></ul><ul><ul><li>Providing runtime databases </li></ul></ul><ul><ul><li>Capabilities for monitoring, persistence, hosting and caching </li></ul></ul><ul><ul><li>Tooling and scripting to manage and monitor WCF and WF services </li></ul></ul>
  38. 38. Silverlight 4 Beta <ul><li>New Media Features </li></ul><ul><li>Printing </li></ul><ul><li>Dragging Files/Desktop interactions </li></ul><ul><li>Right Click Support </li></ul><ul><li>Webcam & Microphone Support </li></ul><ul><li>Multicast/UDP </li></ul><ul><li>Rich Text Box Support </li></ul><ul><li>Programmatic Clipboard access </li></ul><ul><li>Channel 9 Training: http:// channel9.msdn.com/learn/courses/Silverlight4 </li></ul>

×