390 likes | 562 Views
AZR308. Service Bus Overview. Clemens Vasters Principal Technical Lead Microsoft Corporation @ clemensv. Abhishek Lal Senior Program Manager Microsoft Corporation @ AbhishekRLal. Agenda. SDK and Tools. Access Control. Service Bus: What and Why. . Q&A. Relayed Messaging. Pricing.
E N D
AZR308 Service Bus Overview Clemens Vasters Principal Technical Lead Microsoft Corporation@clemensv AbhishekLal Senior Program Manager Microsoft Corporation@AbhishekRLal
Agenda SDK and Tools Access Control Service Bus:What and Why Q&A Relayed Messaging Pricing Brokered Messaging
What is Service Bus? Household Appliance Phone, Tablet, PC Point of Sale Kiosk SaaS Cloud Service Solution Queues Topics Relays Notifications* Bridges* Line of Business Application Event Aggregator Team Sharepoint Site …
A Scenario Litware Tax Advice App ! Litware Tax Advice Mobility Gateway (SaaS) SB Fred Tax Advisor’s Office Peter Tax Advisor’s Office Mary Tax Advisor’s Office Linda Tax Advisor’s Office
demo Relayed Messaging Basics Name Title Group
Expose Web Services from/to anywhere HTTP, SOAP/HTTP, or NET.TCP Clients • Key capabilities • Relayed One-Way Unicast and Multicast • Relayed WCF NET.TCP with Direct Connect Option • Relayed WCF HTTP w/ support for REST and SOAP • Endpoint protection with Access Control • Coming soon • IIS Hybrid Cloud Bridge IIS Hybrid Cloud Bridge* WCF Plain HTTPSOAP/HTTP WCF NET.TCP
Relay Programming Model • WCF Programming Model • Bindings functionally symmetric with WCF • WebHttpRelayBinding (HTTP/REST) • BasicHttpRelayBinding (SOAP 1.1) • WS2007HttpRelayBinding (SOAP 1.2) • NetTcpRelayBinding (Binary transport) • Special Service Bus Bindings • NetOnewayRelayBinding (one-way) • NetEventRelayBinding(Multicast one-way) • Transport binding elements for custom bindings
Rendezvous (TCP & HTTP) ServiceBus sb://solution.servicebus.windows.net/a/b/ • NetTcpRelayBinding • WebHttpRelayBinding • BasicHttpRelayBinding • WS2007RelayBinding • Rendezvous Handshake • Bi-Directional • Net.Tcp Full Duplex • No message size limit BackendNaming RoutingFabric Oneway RendezvousCtrl Msg Frontend Nodes Ctrl NLB 2 3 TCP/SSL or HTTP 1 HTTP/SocketForwarder Ctrl Sender Receiver outbound socket rendezvous outbound socket connect 4
demo Brokered Messaging with the new Visual Studio Tools Name Title Group
Using Queues R • Load Leveling • Receiver receives and processes at its own pace. Can never be overloaded. Can add receivers as queue length grows, reduce receiver if queue length is low or zero. Gracefully handles traffic spikes by never stressing out the backend. • Load Balancing • Multiple receivers compete for messages on the same queue. Provides automatic load balancing of work to receivers volunteering for jobs. • Offline/Batch • Allows taking the receiver offline for servicing or other reasons. Requests are buffered up until the receiver is available again. S R
Using Topics R • Message Distribution • Each receiver gets its own copy of each message. Subscriptions are independent. Allows for many independent ‘taps’ into a message stream. Subscriber can filter down by interest. • Constrained Message Distribution (Partitioning) • Receiver get mutually exclusive slices of the message stream by creating appropriate filter expressions. R true S R P > 999 and P < 1999 R ShipDestination = ‘FL’ R
Messages Broker Message • Brokered messaging properties are not SOAP headers • Properties are key/value pairs that may very well carry payloads • It’s not uncommon to have messages with empty message bodies • Message bodies are useful for a single opaque payload not exposed to the broker (e.g. encrypted content) Properties Value Key Value Key Value Key Value Key Body Body
Runtime API Choices Apps HTTPREST AMQP* WCF Service Model Messaging API NetMessagingBinding Service Bus Relay Protocol Implementation(private) .NET Framework 4.x Any Platform Service Bus
Lots of Fixes Based on Feedback • Configuration pattern • New constructors • Read from web/app/cloud configs • Easy to move from local project to azure hosted one • Service Bus Connection string • Easy to plug in info into APIs thru config • IsTransientproperty on exceptions to ease retry decisions • Fixed ConnectionStatusBehavioracross all relay bindings • Disable cert revocation check
demo Managing Access Control Name Title Group
Access Control – Conceptual Model bar foo / baz owner: Sendowner: Listenowner: Manage • Each name/branch in the namespace can have a set of associated mappings from ‘claims’ to ‘rights’ • ‘Claims’ are issued by identity providers federated with Access Control • ‘Rights’ define permissions on Service Bus entities. ‘Send’, ‘Listen’, ‘Manage’ abc boo bee John: Manage pqr def Fred: SendAlice: SendPeter: Listen ghi
SBAzTool– Service Bus Authorization Tool • Included in the SDK samples collection • sbaztoolmakeid <id> <key> – Create a new service identity • sbaztoolshowid <id> – Show details of a service identity • sbaztooldeleteid<id> – Delete a service identity • sbaztoolgrant <op> <path> <id> – Grant right • sbaztool grant Listen /foo clemensv • sbaztool grant Send /bar fredsmith • sbaztoolrevoke<op> <path> <id> – Revoke right • sbaztoolshow <path> – Show rights on path • Sample also includes the Microsoft.ServiceBus. AccessControlExtensions reusable library
demo SDK Goodness Windows 8, Python, Node.js
Pricing • $0.01 for each 10,000 messages (or ‘a buck per million’) • Fine print: • Messages up to 64KB = 1 message charge • Messages over 64KB = 1 message charge per (partial) 64KB segment • Relay HTTP request and response , 1 message per partial 64KB segment • Relay NET.TCP, 1 message per partial 64KB segment • $0.10 for each 100 Relay hours • Per indiviudual endpoint, not per connection • Up to 25 listeners (quota limit) on one endpoint, one charge • Standard Windows Azure DC egress traffic charges
futures IguazuEDI/EDIPortal
“Iguazu” • Cross-platform push notification integration for Service Bus • “Notification Topics” • New entity type alongside Queues, Topics, Relays • Same Message Format • Composition with Other Entities
Iguazu – Delivery Model Two-Step Registration: PNS Service Bus Events are regular Service Bus messages with properties Notification Topic Target Device App PNS Events are mapped to notifications and routed through the PNS API
Iguazu – Event/Notification Mapping Principles The client application stays fully in control of its experience supplying a parameterized template with each target subscription Device Notification Topic Target PNS Service Bus “fills in the blanks” by mapping incoming events to the desired per-device/per-app template.
Iguazu – Event/Notification Mapping Example Device Notification Topic Target PNS $LocRU Москва́ $ConditionImg 20°C $TempC+’°C’
Service Bus EAI/EDI • Service components plugged into Service Bus • Adds a ‘Bridge’ component to extend Service Bus with protocol bridges and transformations • Currently in ‘Labs’ • Owned by the BizTalk Server team • AZR207 Thursday, 2:45p in N230
Portal – Service Bus Windows Azure CONNOR MACLEOD | APRIL EST. $0.00 | SIGN OUT HOME PRICING DEVELOP COMMUNITY SUPPORT ACCOUNT MANAGE get started • Hi Connor! It looks like this is your first time here – let’s get you started. Create your first App Migrate a Virtual Machine Provision a Database Get Visual Studio Certificates WEB SITE CLOUD APP VIRTUAL MACHINE STORAGE ACCOUNT DATABASE SERVICE BUS NAMESPACE CACHE NAME freezing-fog CREATE NEW… QUICK CREATE CREATE A SERVICE BUS NAMESPACE NAMESPACE CUSTOM CREATE .servicebus.windows.net See what you can build View the overview Go to the developer center developer center platform basics stories SUBSCRIPTION COUNTRY/REGION Free Trial US North Central Get started developing in the language of your choice – one cloud for all. It’s a big cloud, take the right first step to understanding how to maximize the cloud. Take a look at the possibilities: social, mobile, Windows 8 and more. CREATE CREATE NEW
Portal – Service Bus Windows Azure Windows Azure Windows Azure CONNOR MACLEOD | APRIL EST. $0.00 | SIGN OUT HOME PRICING DEVELOP COMMUNITY SUPPORT ACCOUNT MANAGE MESSAGING OPERATIONS RELAY HOURS DEPTH freezing-fog freezing-fog service bus n… DASHBOARD ALL QUEUESTOPICSRELAY POINTS 6H 12H 24H … QUEUES RELAY POINTS TOPICS 2 150 34 MANAGEMENT ENDPOINT STATUS CREATION DATE REGION 2/23/2011 03:09:31PM US North Central Active quick glance ACCESS KEY MANAGE ACS DELETE CREATE NEW
Summary SDK and Tools Access Control Service Bus:What and Why Q&A Relayed Messaging Pricing Brokered Messaging
Related Content • AZR308 Overview and Roadmap of Windows Azure Service Bus • AZR317 Enterprise Integration Patterns with Windows Azure Service Bus • AZR207 Application Integration Futures: The Road Map and What's Next on Windows Azure • OSP302 Building Integrated Microsoft Office 365, SharePoint Online, and Office Solutions Using BCS and LOB Data • OSP331 Building Microsoft SharePoint Online Applications in a Hybrid World AZR08-HOL Windows Azure Service Bus Messaging
Track Resources @WindowsAzure @ms_teched Hands-On Labs Meetwindowsazure.com DOWNLOAD Windows Azure Windowsazure.com/ teched
Resources Learning TechNet • Connect. Share. Discuss. • Microsoft Certification & Training Resources http://northamerica.msteched.com www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers • http://microsoft.com/technet http://microsoft.com/msdn
MS Tag Scan the Tag to evaluate this session now on myTechEd Mobile
© 2012 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.