This document discusses hybrid connectivity with Windows Azure, specifically focusing on integration and messaging capabilities. It provides an overview of AppFabric and Service Bus features like queues, topics, subscriptions, filters and sessions. It also reviews the different runtime API choices and use of the BrokeredMessage class in .NET applications. A demo is planned to showcase service bus tracing, transactions, large messaging with sessions and publish/subscribe patterns.
2. about me Sam Vanhoutte @samvanhoutte architect at Codit blog.codit.eu codit: business integration BizTalk, WCF, WF, AppFabric hybrid connectivity with windows azure 2
4. hybrid architecture hybrid connectivity with windows azure 4 Windows Azure File EDI Business Partner AS/2 - FTP Saas (timesheets, HRM…) Web services Enterprise
5. integration roadmap hybrid connectivity with windows azure 5 Caching Service Bus/ Messaging Access Control Integration Composite App [Workflow, Web Services] AppFabric Services .NET + AppFabric Composition Model & Tools AppFabric Management AppFabric Container SQL Azure SQL Server Windows Azure Windows Server
6. Integration Routing Coordination Transformation Service Management Naming, Discovery Monitoring Messaging Queuing Pub/Sub Reliable Transfer Connectivity Service Relay Protocol Tunnel Eventing, Push ? Rich options for interconnecting apps across network boundaries Reliable, transaction-aware cloud messaging infrastructure for business apps. Consistent, modeling-friendly management surface and service virtualization capabilities Rich, declarative content-based routing, document transformation, and process coordination. new set of capabilities
7. Getting here… Application Services DevelopmentModel .NET Services Platform Connectivity & Messaging Identity & Access Frameworks (+ Composition Model/Tools) ServerPlatform Web Services/Workflows Caching Integration hybrid connectivity with windows azure 7
8. hybrid connectivity hybrid connectivity with windows azure 8 Secure network connectivity between on-premises and cloud Firewall-friendly service communication and messaging Data synchronization between on-premise and cloud databases Network Service endpoints Data
10. queues hybrid connectivity with windows azure 10 Reliable, durable storage – up to 1GB per Queue (100Mb in CTP) Queues stay in the system once created, no TTL limit Max message size 256KB, Sessions allow grouping Messaging API, WCF, and HTTP/REST Interfaces Advanced messaging capabilities Consumer Consumer publisher queue Consumer
11. sessions Creating session-full queuenew QueueDescription {RequiresSession = true}; Defining session, when sending message message.SessionId = sessionId; Receiving messages from session SessionReceiver rcv = queueClient.AcceptSessionReceiver ("MySession", ReceiveMode.PeekLock, newTimeSpan(0,0,10)); Session session = rcv.Session; hybrid connectivity with windows azure 11
12. topics & subscriptions hybrid connectivity with windows azure 12 All the Features of Queues + Publish/Subscribe Up to 2000 Subscriptions on a Topic Each Subscription is a virtual queue getting message copies Subscriptions can have filters and actions Receiver Receiver publisher topic rules & filters Receiver subscriptions
13. filters & actions Filter conditions operate on message properties and are expressed in SQL’92 syntax InvoiceTotal > 10000.00 OR ClientRating <3 ShipDestCtry = ‘USA’ AND ShipDestState=‘WA’ LastName LIKE ‘V%’ Filters actions may modify/add/remove properties as message is selected SET AuditRequired = 1 hybrid connectivity with windows azure 13
14. runtime API choices Apps HTTPREST SOAP WS-*(Relay Clients) Messaging API WCF Service Model WCF Bindings Service Bus Relay Protocol Implementation(private) .NET Framework 4.0 Any Platform Service Bus
16. the BrokeredMessageclass message body (content) can be generic (untyped) can be serialized (using generic class) object can be empty (properties only – typical for triggers) message properties (context) used for routing/filtering and metadata contains session, correlation and message id information hybrid connectivity with windows azure 16
17. WCF Experience ServiceBusMessagingBinding One-Way Messaging Automatic Pump – Pull/Push Translation IInputChannel, IOutputChannel, IInputSessionChannel Transport-Level Security ServiceBusMessagingFactorySettings available for tweaking as binding properties BrokeredMessage available as a message property of the WCF message on receive 17 Application / Dispatcher Service Bus Transport Channel .Net API SOAP over SBMP