Download presentation
Presentation is loading. Please wait.
Published byCathleen Bryant Modified over 9 years ago
1
1 Azure ™ Services Platform Microsoft.NET Services A Closer Look Clemens Vasters Technical Lead Microsoft Corporation
2
What is a Service Bus? Connectivity Challenges Naming Service Registry and Discovery Messaging, Connectivity and Events Agenda
3
Internet Service Bus Service Orchestration Service Orchestration Service Registry Naming Federated Identity and Access Control Messaging Fabric ClientsClients MS/3 rd Party Services MS/3 rd Party Services On-Premise ESB ESBESB Desktop, RIA, Web Desktop, RIA, & Web Your Services
4
IPv4 Address Shortage Dynamic IP address allocation Network Address Translation (NAT) Internet is pwn3d by the bad guys Firewalls layered over firewalls over firewalls Connectivity Challenges Sender Receiver ? Machine Firewall Network Firewall Network Address Translation Dynamic IP
5
Dynamic DNS NAT Port Mappings / UPnP Open Inbound Firewall Ports How Do People Deal With It? Sender Receiver ? Machine Firewall Network Firewall Network Address Translation Dynamic IP Brittle, Difficult, Insecure – and sometimes – Impractical Consequence: We see recurring patterns of workarounds
6
Any Instant Messaging/Communication App Access Control, Relay, Direct Connect Any Multiplayer Game Access Control, Relay, Direct Connect Any Home Media Integration System Access Control, Relay, Direct Connect Any Enterprise Integration System Access Control, VPN/VAN Who needs it?
7
Service Bus – Naming Service Registry Naming Federated Identity and Access Control Messaging Fabric
8
Service Bus Naming Root Solution NameB NameC Name1 Name2 Name3 NameA
9
9 Anything wrong with DNS? DNS has some practical constraints: High update propagation latency Increasing pollution by ISPs (“DNS assistance”) Names hosts, not services Limited write-access model (often out-of-band) Service Bus Naming System R/W access with access control via Registry Updates reflected instantaneously Names name endpoints, not machines
10
10 Canonical Form of URI Projections scheme://naming-scope/name/name Root X Y Z B C 1 2 3 A
11
11 Global Naming Structure (PDC) scheme://servicebus.windows.net/services/solution/name/… Root SBWNservices solution 2 2 3 3 name Required Prefix
12
Global Naming Structure (Post-PDC) Root Solution NameB NameC Name1 Name2 Name3 NameA
13
Service Bus – Service Registry Service Registry Naming Federated Identity and Access Control Messaging Fabric
14
14 Service Registry The service registry is registry for service endpoints, not a general purpose directory Registry is layered over the naming system Provides programmatic access to naming Discover: Atom 1.0 feed hierarchy Publish: Atom Publishing Protocol, WS-Transfer Naming Service Registry Client AtomPub WS-Transfer
15
15 Registry Feed Structure Accessing the root registry feed for solutions http://servicebus.windows.net/services/solution/ Root of a hierarchy of feeds Naming Root SBWNservices svc solutionsvc solution Client AtomPub WS-Transfer
16
Services in Registry Feeds Title urn:uuid:82a76c80-d498-12d5-b91C-0103839e0ef6 … MyEndpoint urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a http://servicebus.windows.net/services/my/svc/ep1
17
17.NET Service Bus Registry
18
Service Bus – Messaging Service Registry Naming Federated Identity and Access Control Messaging Fabric
19
Primary Programming Model: WCF Family of Bindings for the Service Bus Service Bus - Messaging
20
Works just like WCF: Envelopes: SOAP 1.1, SOAP 1.2, None All WS-* end-to-end security scenarios Transport-level message path protection (SSL) Reliable Messaging, Streaming Full Extensibility Model Web programming model (WebGet/-Invoke) Metadata Exchange Not supported: (By Design) Atomic Transaction Flow (By Design) Protocol-level transport authentication (PDC Issue) WebScriptingBehavior JavaScript proxy (PDC Issue) Direct Tcp Modes with RM or WS-* Sec. WCF Relay Bindings For WCF Pros
21
NetOnewayRelayBinding Service Bus Sender Receiver sb://servicebus.windows.net/services/solution/a/b/ outbound connect one-way net.tcp TCP/SSL 828 Backend Naming Routing Fabric Frontend Nodes TCP/SSL 808/828 outbound connect bidi socket Msg NAT Firewall Dynamic IP Subscribe Route NLB
22
NetEventRelayBinding Service Bus Sender Receiver sb://servicebus.windows.net/services/solution/a/b/ outbound connect bidi socket outbound connect one-way net.tcp TCP/SSL 828 Backend Naming Routing Fabric Frontend Nodes TCP/SSL 808/828 Msg Subscribe Route Receiver outbound connect bidi socket TCP/SSL 828 Msg
23
23 One-Way Messaging and Events
24
NetTcpRelayBinding / Relayed Service Bus Sender Receiver sb://servicebus.windows.net/services/solution/a/b/ Backend Naming Routing Fabric Frontend Nodes Ctrl 1 1 2 2 3 3 4 4 Socket-Socket Forwarder outbound socket connect outbound socket rendezvous Ctrl TCP/SSL 818 Oneway Rendezvous Ctrl Msg Oneway Rendezvous Ctrl Msg NLB
25
NetTcpRelayBinding / Hybrid Service Bus Sender Receiver sb://servicebus.windows.net/services/solution/a/b/ Backend Naming Routing Fabric Frontend Nodes Ctrl relayed connect Oneway Rendezvous Ctrl Msg Oneway Rendezvous Ctrl Msg relayed rendezvous TCP/SSL 818, 819 NAT Probing NAT Traversal Connection upgrade
26
26 TCP-based Connections
27
[WS|Basic|Web]HttpRelayBinding Service Bus Sender Receiver sb://servicebus.windows.net/services/solution/a/b/ Backend Naming Routing Fabric Frontend Nodes Ctrl 1 1 2 2 3 3 4 4 HTTP-Socket Forwarder HTTP HTTPS request outbound socket rendezvous Ctrl HTTP/S 80/443 Oneway Rendezvous Ctrl Msg Oneway Rendezvous Ctrl Msg NLB
28
28 HTTP Based Connections
29
Service Bus – Access Control Integration Service Registry Naming Federated Identity and Access Control Messaging Fabric
30
30 Receiver Access Control STS Service Bus Relay RST/RSTR Ac Tk Token Header Ac Tk #Listen Relay Access Control Model - Listener Acquire Access Token #Listen Pass Access Token with Subscription 1 1 2 2 Token Evaluated 3 3
31
31 Receiver Sender Access Control STS RST/RSTR Service Bus Relay Ac Tk Token Header Ac Tk #Send Relay Access Control Model - Sender Acquire Access Token #Send Pass Access Token with Message Token Evaluated and Removed Message Passed on to Receiver 1 1 2 2 3 3 4 4
32
32 Integrated Access Control Access Control Governed by Rules Managed in the Access Control Service Services must be authorized to listen in namespace Evaluation of all claims in the cloud No notion of “identity” in the relayed service Service can turn off client access control Local evaluation of end-to-end claims Full control over authN/Z model (but less protection) Clean composition w/ standard SOAP/HTTP model WS-Security Header reserved for E2E Message Security Transparent to HTTP-Header AuthN/AuthZ schemes
33
33.NET Access Control
34
34 Notes on Security We encourage you to hide your payloads Use WS-Security to protect end-to-end path You own all keys used to protect payloads Transport security SSL channels terminate in the Service Bus Socket connections relayed on-machine Oneway/Event relayed on backend fabric What do we look at in the Service Bus? SOAP: Action/wsa:Action, wsa:To, wsa:Action HTTP: Method, URI Access Tokens
35
Service Bus – Workflow Integration Service Registry Naming Federated Identity and Access Control Messaging Fabric Workflow
36
36.NET Workflow Services
37
37
38
38 Summary Pervasive, Secure Connectivity for Services Secure NAT Traversal, “DMZ in the sky” WCF-Integrated Programming Model
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.