Programming appfabric moving microsoft net to the cloud
1 / 34

Programming AppFabric : Moving Microsoft .NET to the Cloud - PowerPoint PPT Presentation

  • Uploaded on

Required Slide. SESSION CODE: ASI308. Programming AppFabric : Moving .NET to the Cloud. Programming AppFabric : Moving Microsoft .NET to the Cloud. Aaron Skonnard & Keith Brown Cofounders, Pluralsight. What is Windows Azure AppFabric ?.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Programming AppFabric : Moving Microsoft .NET to the Cloud' - Jimmy

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Programming appfabric moving microsoft net to the cloud

Required Slide


Programming AppFabric: Moving .NET to the Cloud

Programming AppFabric: Moving Microsoft .NET to the Cloud

Aaron Skonnard & Keith Brown

Cofounders, Pluralsight

Asi308 programming appfabric moving microsoft to the cloud

What is

Windows Azure


Consists of Service Bus and Access Control

Goals of appfabric
Goals of AppFabric

  • Extend .NET technologies to the cloud

  • Open and accessible service API

    • REST, SOAP, RSS, AtomPub, …

    • Class libraries for .NET, Java, PHP, Ruby, …

  • Initial focus on two key challenges

    • Secure connectivity between services

    • Claims-based access control

Asi308 programming appfabric moving microsoft to the cloud

Service Bus

An Internet Service Bus hosted in the Cloud

Service bus
Service Bus

  • Key developer challenges

    • Giving business partners secure access to your applications

    • Characteristics or scale of integration unknown

    • Users have devices and services running behind firewalls

  • Approach

    • Provide a high-scale, high-available “Service Bus” that supports open Internet protocols

Service registry
Service Registry


The service registry provides a mapping from URIs to services






  • Securely connect applications

    • Over the internet

    • Across any network topology

    • Across organizational boundaries

  • Primary application patterns

    • Eventing: notify applications and/or devices

    • Service Remoting: securely project on-premises services out to the cloud

    • Tunneling: tunneling TCP protocols through firewalls (e.g. RDP, TDS, etc)

Relay connections
Relay Connections



Outbound SSL TCP connection to relay rendezvous endpoint

Receiver can also listen over

HTTP to overcome port restrictionson the receiving side (“Web sockets”)

One-Way Messagesthrough TCP Tunnel



Direct connections
Direct Connections



- Outbound SSL TCP connection to relay - Out-of-band protocol to negotiate Direct Connection



Upgrade to direct connection when possible

Eventing publish subscribe
Eventing: Publish/Subscribe



Outbound SSL TCPconnection to relay rendezvous endpoint

One-way messagesthrough TCP Tunnel






Demo relay direct and publish subscribe

Demo: Relay, Direct, and Publish/Subscribe


Ports required by the service bus
Ports required by the Service Bus

  • 9350 for one-way TCP connections

  • 9351 for one-way TCP/SSL connections

  • 9352 for TCP/SSL rendevous (direct)

  • 9353 for TCP NAT probing (direct)

  • HTTP uses standard ports (80/443)

System connectivity mode
System connectivity mode

  • In locked-down network environments, you may need to “listen” via HTTP

    • System connectivity mode simplifies this process

    • ServiceBusEnvironment.SystemConnectivity.Mode

    • This setting applies to all of the “relay” bindings

Http relay connections
HTTP relay connections

  • Many of the Service Bus bindings require WCF on the client side

    • If you want to increase interop, use HTTP

    • Then the client doesn’t need WCF or the AppFabric SDK

  • Service Bus provide several HTTP bindings

    • WebHttpRelayBinding (REST)

    • BasicHttpRelayBinding (SOAP)

    • WS2007HttpRelayBinding (SOAP + WS-*)

Message buffers
Message buffers

  • The “relay” bindings require the listener to be present before sending

    • What if the listener isn’t capable of creating a listener (interop)?

    • What about scenarios with intermittent connectivity?

  • This is where message buffers come into play

    • Message buffers are FIFO queues in the Service Bus that effectively decouple the sender from the receiver

    • You create message buffers declaratively by posting a “policy”

    • You program message buffers through a REST API

Asi308 programming appfabric moving microsoft to the cloud

Access Control

Controlling who can use your services in the Cloud

Access control
Access Control

  • Key developer challenges

    • Many identity providers, vendors, many protocols, complex semantics – tricky to get right

    • Applications strewn with one-off authn/authz logic

    • Hard to get right, not agile, not compliant, ...

  • Approach

    • Automate federation for a wide-range of identity providers and technologies through a hosted STS

    • Model access control logic as rules

    • Focused on REST services in this release

Access control1
Access Control

Access Control is a hosted service that externalizes the authorization policy for federated users

Access Control

(Hosted Issuer)

Trust relationship established

Return token

Request token

Relying Party

(Your App)


(Your Customer)

Send message with token

Rules and claims transformation
Rules and claims transformation

  • AC rules define a claims transformation

    • Each application can have its own rules

    • Rules can be chained; e.g. bob  mgr and mgr  allowed

    • Simple model: the output security token is a collection of claims based on the claims in the incoming token

Rules Engine

claims in

claims out

Managing the acs
Managing the ACS

  • Core set of RESTfulmanagement APIs for managing

    • Issuers and applications

    • Access control rules

    • Cryptographic keys

  • Standards compliant – works with .NET, Java, Ruby, …

    • Simple Web Token (SWT)

    • Web Resource Authorization Protocol (WRAP)


  • AppFabric extends .NET to the cloud

    • It's open and accessible

    • It's easy-to-use your existing .NET skills

    • It comes with all cloud benefits

  • Initial focus on two key developer challenges

    • Secure connectivity between services

    • Claims-based access control


  • AppFabric Developer Portal


  • Introduction to Windows Azure AppFabric

  • A Developer’s Guide to the Service Bus

  • A Developer’s Guide to Access Control


Asi track resources

Required Slide

Track PMs will supply the content for this slide, which will be inserted during the final scrub.

ASI Track Resources

  • Website –

  • MSDN Developer Center –

  • Blog –

  • Twitter –

  • Website –

  • Website –

  • Blog –

  • Blog –

  • Application Infrastructure Virtual Launch Event –

  • AppFabric on –

  • Developer Center –


Required Slide



  • Sessions On-Demand & Community

  • Microsoft Certification & Training Resources

  • Resources for IT Professionals

  • Resources for Developers

Asi308 programming appfabric moving microsoft to the cloud

Required Slide

Complete an evaluation on CommNet and enter to win!

Asi308 programming appfabric moving microsoft to the cloud

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st

You can also register at the North America 2011 kiosk located at registrationJoin us in Atlanta next year

Asi308 programming appfabric moving microsoft to the cloud

© 2010 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.