Click here to load reader
Date post: | 13-Nov-2014 |
Category: |
Technology |
Upload: | ms-innovation-days |
View: | 1,678 times |
Download: | 7 times |
Click here to load reader
PDC Highlights
Dave GloverMicrosoft Australia, Developer Platform Group
[email protected]://blogs.msdn.com/dglover, www.twitter.com/dglover
Catherine EibnerMicrosoft Australia, Developer Platform Group
[email protected]://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
vdir2vdir2
Web.config
Echo.svc
AA BB CC
http://host
vdir2
vdir1
Web.config
Default Bindings
AA BB CC
vdir2vdir2
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="2147483647" maxReceivedMessageSize="2147483647"/> </basicHttpBinding> </bindings></system.serviceModel>
Web.config
Default Behaviors
AA BB CC Bv
vdir2vdir2
Echo.svc
http://host
vdir2
vdir1
A Service or Endpoint picks up default behaviors from higher in the config hierarchyWeb.
config
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceThrottling maxConcurrentCalls="32"/> </behavior> </serviceBehaviors> </behaviors></system.serviceModel>
Web.config
Default Behaviors
AA BB CC Bv
http://host
Behaviors from higher in the config hierarchy are merged with behaviors in a local config file
Bv
vdir2vdir2
Echo.svc
vdir2
vdir1
Web.config
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors></system.serviceModel>
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
TimeService
RoutingService
Echo
IRequestReplyRouter
BasicHttp
http://routinghost/routerAABBCC
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
TimeService
RoutingService
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
Client ServiceRoutingService
BasicHttp Net.TcpSOAP 1.1 SOAP 1.2
Security
Client ServiceRoutingService
Message sent usingClient Identity
Message sent usingRouting Service IdentityMessage sent usingClient Identity
Impersonation using WindowsIdentityToken
Error Handling
Client
BackupEcho
Service
RoutingService
EchoService
MessageFilter Endpoint AlternateEndpoints
action == http://PDC/Echo
Echo BackupEchoService
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
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 1http://msdn.microsoft.com/appfabric
Workflow Service Host
Persistence(Instances)Persistence(Instances)
MonitoringMonitoring
Activity LibraryActivity Library
Receive
WCF and WF in .NET 4
Send
...
Management Endpoint
Persistence Behavior
Tracking Behavior
Windows ServerWindows Server
.NET Framework.NET Framework
Windows Server AppFabricWindows Server AppFabric
ServicesServices
Management ToolsManagement Tools
IIS/WASIIS/WAS
WorkflowsWorkflows
Windows Server AppFabric(formerly codename “Dublin”)
Runtime DatabasesRuntime DatabasesPersistence Monitoring
HostingPersistence CachingMonitoring
IIS Manager Modules
PowerShell
> Evolution of WAS/IIS and Windows Application Server role to run and manage WCF and WF services
> Ships as part of 2010 Wave
Coordination of WorkAsynchronous Messaging
Supplier OneService
Supplier Two Service
Best PriceWorkflow
Service
Add/Remove Item
Calculate Best Price Get Price
Get Price
PurchaseService
Windows ServerWindows Server
.NET Framework.NET Framework
Windows Server AppFabricWindows Server AppFabric
ServicesServices
Management ToolsManagement Tools
IIS/WASIIS/WAS
WorkflowsWorkflows
Monitoring
Runtime DatabasesRuntime DatabasesPersistence Monitoring
HostingPersistence CachingMonitoring
IIS Manager Modules
PowerShell
Windows Server AppFabricWindows Server AppFabric
Workflow Service
Monitoring Database
Monitoring Database
Monitoring
Event CollectorService
Monitoring Tools
Monitoring Tools
> Event Collector Service> A Windows Service installed with the Windows Server
AppFabric> Collects WCF and WF instrumentation events into the
Monitoring DB
WCFTrace
Tracking Participant
TrackingProfile
Windows ServerWindows Server
.NET Framework.NET Framework
Windows Server AppFabricWindows Server AppFabric
ServicesServices
Management ToolsManagement Tools
IIS/WASIIS/WAS
WorkflowsWorkflows
Runtime DatabasesRuntime DatabasesPersistence Monitoring
HostingPersistence CachingMonitoring
IIS Manager Modules
PowerShell
Persistence
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
Windows Server AppFabric
PersistenceDB
Workflow Service
WorkflowManagement
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
Management
Endpoint
Instance Availability in a Farm
Windows Server
AppFabric
Windows Server
AppFabric
Windows Server
AppFabric
Windows Server
AppFabric
Load Balancer
Load Balancer
PersistenceDB
Workflow Service
Workflow Service
WorkflowManagement
Service
WorkflowManagement
Service Windows Server
AppFabric
Windows Server
AppFabric
Workflow Service
WorkflowManagement
Service
Instance
123 | data
456 | data
789 | data
011 | data
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