Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Integrating mobile clients with on-premise business data Blaz Lipuscek Diventic d.o.o. cloudHQ.net What is Service Bus? Service Bus provides secure messaging and connectivity capabilities that enable building distributed and disconnected applications in the cloud, as well as hybrid applications across both on-premise and the cloud. 2 What does Service Bus offer? • Unified set of messaging capabilities • Service Bus Relay • Service Bus Brokered Messaging • Easily build hybrid apps Consistent management and observation capabilities Rich options for interconnecting apps across network boundaries Queuing, publish/subscribe 3 Why use it? Saves the need for the developer to worry about delivery assurance, reliable messaging and scale. 4 Service Bus Fundamentals • • • Service Bus is a multi-tenant cloud service (shared by multiple users), user, such as an application developer, creates a namespace, namespace then defines the communication mechanisms: • Queues • Topics • Relays one-directional communication one-directional communication using subscriptions provide bi-directional communication 5 6 Queues ReceiveAndDelete Removes a message from the queue and immediately deletes it. PeekLock Locks the message, making it invisible to other receivers. 7 Tightly Coupled Loosely Coupled Topics Unlike queues, a single message sent to a topic can be received by multiple subscribers 10 Relays Why make applications communicate via a cloud service rather than just interact directly? 11 Why make apps communicate via cloud? • Behind Firewall Blocking incoming / outgoing data • Network Address Translation (NAT) Probably we don‘t have fixed IP Each application establishes an TCP connection with Service Bus, then keeps it open! 12 Choosing Authentication for a Service Bus App • SAML, over the SSL protocol This option requires that you write your own SSL credential server • SharedSecret self-issued shared secret that is registered with Access Control • SimpleWebToken self-issued shared secret that is registered with Access Control in format called simple Web token (SWT) • Unauthenticated 13 Message auto-forwarding QueueDescription destinationQ = new QueueDescription("myQ2"); QueueDescription sourceQ = new QueueDescription("myQ1"); sourceQ.ForwardTo = “myQ2"; Message lock renewal QueueClient queueClient = QueueClient.Create("myQ"); BrokeredMessage message = queueClient.Receive(); message.RenewLock(); message.LockedUntilUtc; // check to see when you need to renew Pause queues & topics QueueDescription qd = namespaceManager.GetQueue("myQ"); qd.Status = EntityStatus.Disabled; namespaceManager.UpdateQueue(qd); qd.Status = EntityStatus.Active; namespaceManager.UpdateQueue(qd); Send-time filter evaluation TopicDescription td = new TopicDescription("Topic"); td.EnableFilteringMessagesBeforePublishing = true; // throws NoMatchingSubscriptionException on send Service Bus AMQP 1.0 • Advanced Message Queuing Protocol (AMQP) 1.0 is an efficient, reliable, wirelevel messaging protocol • Support for a range of third-party client libraries • More platforms will be supported as libraries become available Support for multiple protocols AMQP 1.0 client libraries Language C# Java C PHP Python Library Service Bus .NET Client Library Apache Qpid Java Message Service (JMS) client IIT SwiftMQ Java client Apache Qpid Proton-C Apache Qpid Proton-PHP Apache Qpid Proton-Python Ruby Apache Qpid Proton-Ruby (coming soon) Perl Apache Qpid Proton-Perl (coming soon) JavaScript Apache Qpid Proton-JavaScript (coming soon) Blaz Lipuscek Diventic d.o.o. 21 Q&A.