PDC Highlights Dave Glover Microsoft Australia, Developer Platform Group 0403809914 [email_address] http://blogs.msdn.com/dglover ,  www.twitter.com/dglover Catherine Eibner Microsoft Australia, Developer Platform Group [email_address] http:// blogs.msdn.com/ceibner  ,  www.twitter.com/ceibner
PDC Highlights
New in WCF Windows Server Application Fabric
New in WCF 4
New in WCF 4.0 Improvements to things you do today Configuration Monitoring New scenarios enabled Routing Discovery
Endpoint Configuration in 3.x Web. config Echo. svc http://host vdir2 vdir1 vdir2 A B C
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
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
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
Message Pump as a Service Scenarios Basic Message Routing Protocol Bridging Service Aggregation Versioning … Concerns Connection State Security Delivery Failure Transactions … Message Pump Routing Service
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
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
Protocol Bridging BasicHttp Net.Tcp SOAP 1.1 SOAP 1.2 Client Service Routing Service
Security Message sent using Client Identity Message sent using Routing Service Identity Message sent using Client Identity Impersonation using WindowsIdentityToken Client Service Routing Service
Error Handling Client Backup Echo Service Routing Service Echo Service MessageFilter Endpoint Alternate Endpoints action == http://PDC/Echo Echo Backup EchoService
Discovery The ability to  publish  a service’s endpoint metadata and  discover  services using well defined criteria Design time Find available services Runtime Reduced Config Location agility  Dynamic / self healing apps 2 Modes – adhoc and managed proxy service WS-Discovery – Standard interoperable discovery protocol
Ad-hoc Discovery Chat App: Ed Hello Hello Chat App: Steve Chat App: Jurgen Hello
Ad-hoc Discovery Chat App: Ed Chat App: Steve Chat App: Jurgen Probe Probe Probe ProbeMatch ProbeMatch
Ad-hoc Discovery Chat App: Ed Bye Bye Chat App: Steve Chat App: Jurgen Bye
Managed Discovery Probe Probe Hello Probe Hello ProbeMatch Jurgen
Discovery Runtime
Dallas “ Data as a Service”  Built on Windows Azure & SQL Azure Discover Public Data Sources, Explore them & Use them Aim is to encourage greater innovation & apps to be created rapidly http://www.sqlazureservices.com /
Power Pivot Formerly known as Project “Gemini” Data Analysis add-in that delivers unmatched computational power within Excel 2010 http://www.powerpivot.com/
Pivot Live Labs latest experiment – available to trial by invitation Pivot is an interaction model for viewing data collections Pivot makes it easier to interact with massive amounts of data in ways that are powerful, informative, and fun http ://www.getpivot.com/
Windows Server  AppFabric http:// www.microsoft.com/windowsserver2008/en/us/app-main.aspx   Download Windows Server AppFabric Beta 1 http://msdn.microsoft.com/appfabric
WCF and WF in .NET 4 Persistence (Instances) Monitoring Activity Library Receive Send ... Workflow Service Host Management Endpoint Persistence Behavior Tracking Behavior
Windows Server AppFabric (formerly codename “Dublin”) Evolution of WAS/IIS and Windows Application Server role to run and manage WCF and WF services Ships as part of 2010 Wave 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
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
Message Correlation The mechanism for relating messages to each other or to application instance state Context Based Correlation Content Based Correlation <-New in .NET 4 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
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
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
Monitoring  Windows Server AppFabric Monitoring Database Monitoring Tools Event Collector Service A Windows Service installed with the Windows Server AppFabric Collects WCF and WF instrumentation events into the Monitoring DB Workflow Service  Event Collector Service WCF Trace Tracking Participant Tracking Profile
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
Persistence Storing WF Application State Ensures that durable Workflows can be recovered and processing resumed Scenarios Reliability - Long running workflows Availability - Recovery when application or machine crashes Scalability - A workflow unloads idle instances from memory; the retry loading of locked instances
Persistence Windows  Server AppFabric Workflow Service Instance 123  |  data 456  |  data 789  |  data 011  |  data Workflow Management Service for IIS/WAS  A Windows Service installed with the Windows Server AppFabric that monitors the Persistence DB Instance restart including graceful shutdown Activates durable timers Executes instance control commands Persistence DB Workflow Management Service Management Endpoint
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
Summary Workflow is ideally suited for business services Workflow services handle complex coordination Composition of services Message correlation to instances The Windows Server AppFabric supports WCF and Workflow services by Providing runtime databases Capabilities for monitoring, persistence, hosting and caching Tooling and scripting to manage and monitor WCF and WF services
Silverlight 4 Beta New Media Features Printing Dragging Files/Desktop interactions Right Click Support Webcam & Microphone Support Multicast/UDP Rich Text Box Support Programmatic Clipboard access Channel 9 Training:  http:// channel9.msdn.com/learn/courses/Silverlight4

PDC Highlights

  • 1.
    PDC Highlights DaveGlover Microsoft Australia, Developer Platform Group 0403809914 [email_address] http://blogs.msdn.com/dglover , www.twitter.com/dglover Catherine Eibner Microsoft Australia, Developer Platform Group [email_address] http:// blogs.msdn.com/ceibner , www.twitter.com/ceibner
  • 2.
  • 3.
    New in WCFWindows Server Application Fabric
  • 4.
  • 5.
    New in WCF4.0 Improvements to things you do today Configuration Monitoring New scenarios enabled Routing Discovery
  • 6.
    Endpoint Configuration in3.x Web. config Echo. svc http://host vdir2 vdir1 vdir2 A B C
  • 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.
    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.
    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.
    Message Pump asa Service Scenarios Basic Message Routing Protocol Bridging Service Aggregation Versioning … Concerns Connection State Security Delivery Failure Transactions … Message Pump Routing Service
  • 11.
    Message Routing ClientTime 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.
    Message Routing MessageFilterEndpoint 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.
    Protocol Bridging BasicHttpNet.Tcp SOAP 1.1 SOAP 1.2 Client Service Routing Service
  • 14.
    Security Message sentusing Client Identity Message sent using Routing Service Identity Message sent using Client Identity Impersonation using WindowsIdentityToken Client Service Routing Service
  • 15.
    Error Handling ClientBackup Echo Service Routing Service Echo Service MessageFilter Endpoint Alternate Endpoints action == http://PDC/Echo Echo Backup EchoService
  • 16.
    Discovery The abilityto publish a service’s endpoint metadata and discover services using well defined criteria Design time Find available services Runtime Reduced Config Location agility Dynamic / self healing apps 2 Modes – adhoc and managed proxy service WS-Discovery – Standard interoperable discovery protocol
  • 17.
    Ad-hoc Discovery ChatApp: Ed Hello Hello Chat App: Steve Chat App: Jurgen Hello
  • 18.
    Ad-hoc Discovery ChatApp: Ed Chat App: Steve Chat App: Jurgen Probe Probe Probe ProbeMatch ProbeMatch
  • 19.
    Ad-hoc Discovery ChatApp: Ed Bye Bye Chat App: Steve Chat App: Jurgen Bye
  • 20.
    Managed Discovery ProbeProbe Hello Probe Hello ProbeMatch Jurgen
  • 21.
  • 22.
    Dallas “ Dataas a Service” Built on Windows Azure & SQL Azure Discover Public Data Sources, Explore them & Use them Aim is to encourage greater innovation & apps to be created rapidly http://www.sqlazureservices.com /
  • 23.
    Power Pivot Formerlyknown as Project “Gemini” Data Analysis add-in that delivers unmatched computational power within Excel 2010 http://www.powerpivot.com/
  • 24.
    Pivot Live Labslatest experiment – available to trial by invitation Pivot is an interaction model for viewing data collections Pivot makes it easier to interact with massive amounts of data in ways that are powerful, informative, and fun http ://www.getpivot.com/
  • 25.
    Windows Server AppFabric http:// www.microsoft.com/windowsserver2008/en/us/app-main.aspx Download Windows Server AppFabric Beta 1 http://msdn.microsoft.com/appfabric
  • 26.
    WCF and WFin .NET 4 Persistence (Instances) Monitoring Activity Library Receive Send ... Workflow Service Host Management Endpoint Persistence Behavior Tracking Behavior
  • 27.
    Windows Server AppFabric(formerly codename “Dublin”) Evolution of WAS/IIS and Windows Application Server role to run and manage WCF and WF services Ships as part of 2010 Wave 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.
    Coordination of WorkAsynchronous Messaging Add/Remove Item Calculate Best Price Get Price Get Price Supplier One Service Supplier Two Service Best Price Workflow Service Purchase Service
  • 29.
    Message Correlation Themechanism for relating messages to each other or to application instance state Context Based Correlation Content Based Correlation <-New in .NET 4 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.
    Message Correlation Themechanism 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.
    Monitoring Runtime DatabasesWindows Server .NET Framework Windows Server AppFabric Services Management Tools IIS/WAS Workflows Persistence Monitoring Hosting Persistence Caching Monitoring IIS Manager Modules PowerShell
  • 32.
    Monitoring WindowsServer AppFabric Monitoring Database Monitoring Tools Event Collector Service A Windows Service installed with the Windows Server AppFabric Collects WCF and WF instrumentation events into the Monitoring DB Workflow Service Event Collector Service WCF Trace Tracking Participant Tracking Profile
  • 33.
    Persistence Runtime DatabasesWindows Server .NET Framework Windows Server AppFabric Services Management Tools IIS/WAS Workflows Persistence Monitoring Hosting Persistence Caching Monitoring IIS Manager Modules PowerShell
  • 34.
    Persistence Storing WFApplication State Ensures that durable Workflows can be recovered and processing resumed Scenarios Reliability - Long running workflows Availability - Recovery when application or machine crashes Scalability - A workflow unloads idle instances from memory; the retry loading of locked instances
  • 35.
    Persistence Windows Server AppFabric Workflow Service Instance 123 | data 456 | data 789 | data 011 | data Workflow Management Service for IIS/WAS A Windows Service installed with the Windows Server AppFabric that monitors the Persistence DB Instance restart including graceful shutdown Activates durable timers Executes instance control commands Persistence DB Workflow Management Service Management Endpoint
  • 36.
    Instance Availability ina 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.
    Summary Workflow isideally suited for business services Workflow services handle complex coordination Composition of services Message correlation to instances The Windows Server AppFabric supports WCF and Workflow services by Providing runtime databases Capabilities for monitoring, persistence, hosting and caching Tooling and scripting to manage and monitor WCF and WF services
  • 38.
    Silverlight 4 BetaNew Media Features Printing Dragging Files/Desktop interactions Right Click Support Webcam & Microphone Support Multicast/UDP Rich Text Box Support Programmatic Clipboard access Channel 9 Training: http:// channel9.msdn.com/learn/courses/Silverlight4