370 likes | 507 Views
Architecture of the .NET Services. John Shewchuk Dennis Pilarinos Microsoft Corporation. Azure ™ Services Platform. A Look Inside Azure. Your Applications. …. Service Bus. Workflow. Database. Analytics. Identity. Contacts. Access Control. …. Reporting. …. Devices. …. Compute.
E N D
Architecture of the .NET Services John Shewchuk Dennis Pilarinos Microsoft Corporation
A Look Inside Azure Your Applications … ServiceBus Workflow Database Analytics Identity Contacts AccessControl … Reporting … Devices … Compute Storage Manage …
.NET Services • Extending .NET technologies to the cloud • Open and accessible • REST, SOAP, RSS, AtomPub, … • Class libraries for Java, PHP, Ruby, … • Easy-to-use from .NET – skills move forward • Initial focus on three key developer challenges • Application integration • Access control in a federated world • Application extensibility
Service Bus • Key developer challenges • Want to make it easy and secure for partners to use your application • Don’t always know the characteristics or scale of the integration • Partners / customers / users have devices and services running behind firewalls • Approach • Provide a high-scale, high-available “Service Bus” that supports open Internet protocols
Service Bus • The Internet Service Bus pattern • Service Registry • Connectivity (Relay & Direct Connect) • Publish/Subscribe • Nitty Gritty • Bindings • Ensuring connectivity • Integration with Access Control
Service Bus Application Pattern Service Orchestration Federated Identity and Access Control Naming Service Registry Messaging Fabric Your Service Clients On-Premises Cloud Services Desktop, RIA, Web Compute Storage ESB Desktop, RIA, Web Desktop, RIA, & Web … Billing Corp Service
Service Registry [http|sb]://servicebus.windows.net/services/account/svc/… Service Registry Root account svc The service registry provides a mapping from URIs to services servicebus.windows.net services Root contoso Multi-Tenant …
Connectivity • Two key capabilities • Relay • Direct connect • Relay • Ensure applications connect • Available to all via the service registry • Direct connect • Uses the relay to establish communication • Then shortcuts for efficiency • Available via HTTP / REST / ATOM • Available in .NET via WCF Bindings
One-Way Connection Relay sb://servicebus.windows.net/services/user/service/endpoint Outbound SSL-Secured TCP 828Connection to Relay Rendezvous Endpoint One-Way Messagesthrough TCP Tunnel Sender Receiver
Direct Connections sb://servicebus.windows.net/services/user/service/endpoint Relay - Outbound SSL-Secured TCP 828Connection to Relay - Out-of-Band Protocol to negotiate Direct Connection Sender Receiver Upgrade to Direct when possible
Publish/Subscribe • Builds on the relay and direct connect connectivity capabilities • Initial release is “connected multicast” • Over time will provide additional delivery characteristics – anycast, reliable, …
Multicast Publish/Subscribe Relay sb://servicebus.windows.net/services/user/service/endpoint Outbound SSL-Secured TCP 828Connection to Relay Rendezvous Endpoint One-Way Messagesthrough TCP Tunnel Sender Receiver Receiver Receiver Receiver
Service Bus • The Internet Service Bus pattern • Service Registry • Connectivity (Relay & Direct Connect) • Publish/Subscribe • Nitty Gritty • Bindings • Ensuring connectivity • Integration with Access Control
RFC2616-Compliance Relay http://servicebus.windows.net/services/user/service/endpoint Only 2 concurrent connections per domain 2 concurrent polling clients starve dual reply-to path RFC2616 compliant HTTP stack Sender Receiver
HTTP Connection Workaround Relay http://servicebus.windows.net/services/user/service/endpoint STA Synchronized reply-to connections Single-threaded polling receiver; multiplexed message batch retrieval; MT local dispatch and fan-out Sender Multiplex messages through volatile message buffer for pickup Receiver
Relay Access Control Principles • Access Control is governed by Access Control Rules • Composes cleanly with SOAP-over-HTTP • SOAP 1.1, SOAP 1.2 HTTP clients able to send messages through the relay with minimal extra effort • WS-Security header can used for end-to-end application level security - optional • Composes cleanly with transport-only message protection • Support any SOAP 1.2/2.0 BP compliant client
Unauthenticated Senders • Unauthenticated ‘Send’ option • Client do not need to acquire tokens for communicating through the relay • Supports plain Basic Profile SOAP requests • Opt-In Policy set by listening services • Enables services to choose between Relay-based access control and locally-enforced end-to-end access control
Service Bus Summary • Service Registry • Relay and direct connect connectivity • Publish/Subscribe • Integrated with Access Control services
Access Control • Key developer challenges • Many identity providers, many vendors, many protocols, complex semantics – tricky to get right • Application strewn with one-off access logic • Hard to get right, not agile, not compliant, many dead ends • Approach • Automate federation for a wide-range of identity providers and technologies • Factor the access control logic from the application into manageable collection of rules • Easy-to-use framework that ensures correct token processing
Access Control Interactions 3. Map input claims to output claims based on access control rules 1. Define access control rules for a customer Your Access Control Project (a hosted STS) 0. Certificate exchange; periodically refreshed 4. Send Token (output claims from 3) 6.Claims checked in Relying Party 2. Send Claims Relying Party (Your App) Requestor (Your Customer) 5. Send Message w/token
Hosted Security Token Service • Use the web site or web APIs… • Define and manage application scopes • Delegate access to scopes • Define and manage access control rules • Rules are defined within an application scope • Rules can be chained; e.g. bob manager and manager allowed • Simple model: the output security token is a collection of claims based on the claims in the incoming token • Define and manage claim types • Define and manage signing and encryption keys • Standards compliant – works with Java, Ruby, …
Relay And End-to-End Security AC.W.N Credential appliesTo: Relay Endpoint AC.W.NSTS RST/RSTR AC.W.N Credential appliesTo: Target Endpoint AC.W.N Credential appliesTo: Relay Endpoint Requires AC.W.N Token P P P Target Service Client Relay WS-Sec Hdr WS-Sec Hdr relayToken
Access Control Summary • Flexible, rules-driven access control • Rich support for a wide range of identity providers • The Geneva framework is the .NET developer experience • Easy to incorporate into existing applications • Works with lots of other environments; e.g. Sun’s Java Metro 1.3, …
Workflow • Key developer challenges • Want to easily describe long-running processes • Want modularity and nesting • Easy to describe but in practice harder to run • Hosting and scaling can be challenging • Setup and installing, define scale-out approach, ensure long-running availability, manage upgrades, … • Approach • .NET 3.0/3.5/4.0 addresses key developer requests • .NET Services makes it easy to deploy, manage and run Workflows
Windows Workflow Foundation Workflow • Easily describe coordinated work with minimal ceremony • Tools/Designers • Activity Library • Runtime • Hosts Activity Library WF Runtime Tooling VS Designer VS Debugger Rehosted Designer Hosts IIS/WAS+ “Dublin” Workflow Service your.exe “Direct”
Workflow Service – Overview A reliable, scalable off-premises host for workflows • A portal at workflow.ex.azure.microsoft.com • New activities for the Azure Services Platform • APIs that allow you to deploy, manage, and run your workflows on the cloud • Enables you to orchestrate services • Connect to services in your enterprise anywhere on the Internet – uses the connectivity services • Give you partners and customer access – uses the access control services
Workflow Service – Basic Usage • Design Workflows • Choose WF Model • Use a WF Designer • Use new Azure activities and a subset of WF out-of-the box activities • Deploy Workflows • Upload and validate • Manage Workflow Types • Add, delete, update, view instances • Manage Workflow Instances • Create, run, control, track execution
Workflow Service – Design Flow 1 Design Workflows Visual Studio WF Designer 1 2 Deploy Workflows VS – one click deploy 3 Manage Workflow Types Your Apps & Services 2 4 Manage Workflow Instances 2 http:// 3 4 • Workflow Portal • WorkflowClient API • SOAP Web Service Workflow & Rules XAML ServiceBus
Workflow Service Summary • Execute Workflows with high availability • Design Workflows using exiting tools • Easily deploy and manage Workflows • Portal for easy access • Management APIs for rich automation
Call to Action • Register for a .NET Services account & download the SDK • http://www.azure.com • Try out the .NET Services in the HOLs area • HOLs for Service Bus, Access Control, Workflow, SQL Services, and Live Services • Attend one of the many breakout sessions
Evals & Recordings Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
Q&A Please use the microphones provided
© 2008 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.