discover the capabilities of windows azure service bus to power agile business models

41
Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models Sergio Compean – Director, Application Platforms

Upload: scompean

Post on 08-May-2015

665 views

Category:

Technology


3 download

DESCRIPTION

This presentation provides an overview of how the Windows Azure Service Bus cloud computing platform can power an agile business model. The enterprise full lifecyle from marketing and demand generation to order fulfillment is illustrated taking into account real-world systems integration concerns such as interoperability, availability, scalability, and mobility.

TRANSCRIPT

Page 1: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Sergio Compean – Director, Application Platforms

Page 2: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

About Me – Sergio Compean• Entrepreneur, Passionate Innovator, Culture Builder, Design

Thinker• Professional Experience

• Application Platforms and Integration Solutions, Strategy, GTM, Process Capability, Research and Development

• Enterprise Architecture, Business Transformation and Innovation• Interoperability Industry Standards (Basic Profile, OASIS)• Worked with Windows Azure since Beta

• Personal Interests• Advancing Developing World with Cloud Technology• Leveraging Cloud Systems for Disaster Response and Recovery• Enhancing Social Interactions with Cloud-Driven Mobile, Contextual

Software• Making the World a Better Place through Technology

Page 3: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Agenda• Windows Azure Service Bus Fundamentals• Compes, Inc.• AMQP 1.0• Notification Hubs• Cloud Development

Page 4: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Overview

Page 5: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Cloud Opportunity

Elastic Scale Managed Infrastructure

High Availability

Time-to-Market Best-in-Class Opex vs Capex Insight Delivery

Global Reach

Page 6: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Windows Azure Service Bus

Line of Business

Application

Event Aggregator

Collaboration

Site …

Household Appliance

Phone, Tablet, PC

Point of Sale Kiosk

SaaS Cloud Service Solution

Queues Topics Relays Notification Hubs

Access Control

NamespacesMulti-tenant Cloud Services

Page 7: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Brokered MessageBroker Message

Body

Properties

Key Value

Key Value

Key Value

Key Value

Body

• Message Metadata• Criteria for Filters• Exposed to Broker• Key/Value Payloads• Opaque Payload in Body• Encrypted Payload in Body

Page 8: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Brokered Messaging - Queues

S R

R

Orders

• Asynchronous One-Way Queuing • Message Processed by One Receiver• ReceiveAndDelete, PeekLock, Peek • Load Leveling/Balancing with Multiple Receivers

Page 9: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Brokered Messaging - Topics

S Price > 10 & Price < 20

Expedited = true

ShipDestination = ‘CA’

R1

R3

R

RR2

OrdersTopic

Subscriptions

• Asynchronous Publish/Subscribe• Message Processed by Multiple Subscribers• ReceiveAndDelete, PeekLock, Peek • Partition Message Stream for Specialized Processing

Page 10: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Relays

WCF NET.TCP

WCF Plain HTTPSOAP/HTTP

HTTP, SOAP/HTTP, or NET.TCP Clients

REST/HTTP

NAT/Firewalls

Relays

• Synchronous Connection• Two-Way Communication• Firewall/NAT

Transparency• WCF Bindings• Not a Broker

Page 11: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Access Control Service

/ foo bar baz

abc

pqr

def

ghi

beeboo

owner: Sendowner: Listen

owner: Manage

Fred: SendAlice: Send

Peter: Listen

John: Manage

• Federated Claims-Based User Authorization• Claims Map to Permissions on Service Bus Entities

Page 12: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Shared Access Signature

/ foo bar baz

abc

pqr

def

ghi

beebooFull: Manage, Listen, SendListen: Listen

Shared Access Keys

• Access Key Authentication• Security Policies for Service Bus Entities (Queues, Topics, Hubs)

Full: Manage, Listen, Send

Shared Access Key

Page 13: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Connected Clients Clients / Applications

NetMessagingBinding

.NET Service Bus Messaging API

.NET WCF Service Model

SB Messaging Protocol(net.tcp, proprietary)

AMQP 1.0

Service Bus

C/C++(incl

Embedded)

Python/PHP

Apache Proton

Windows (.NET) Others (incl. non .NET Windows)

HTTP(S)

PHPclient

Node.js

client

Python

client

Java/JMS

Apache Qpid JMS AMQP 1.0

Any HTTPclient

Page 14: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Scenario

Page 15: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

WNS

MarketingNotification Hub

Marketing Promotions

Windows Phone/ Google Android

Windows 8

GCM MPNS

ERP

CRM

Fulfillment

Orders

Service Bus Queue

BOM Cloud Service

BOM

Compes, Inc.

Page 16: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Windows Azure Management Portal

Page 17: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Topics for AMQP 1.0 Order Processing

Page 18: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Line-of-Business Subscriptions

Page 19: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Marketing Notification Hub

Page 20: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

AMQP 1.0

Page 21: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Advanced Message Queuing Protocol 1.0• OASIS Open Standard Protocol Specificationhttp://docs.oasis-open.org/amqp/core/v1.0/amqp-core-complete-v1.0.pdf

• Consortium of Technology/Financial Services• Enables Cross-Platform Queuing Applications• Portable Data Representation• Broker Independent Model• Supported By Third-Party Libraries, Frameworks

Page 22: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Azure Service Bus AMQP 1.0 SupportClients / Applications

NetMessagingBinding

.NET Service Bus Messaging 2.1 API

.NET WCF Service Model

SB Messaging Protocol(net.tcp, proprietary)

AMQP 1.0

Service Bus

Windows (.NET) Others (incl. non .NET Windows)

HTTP(S)

PHPclient

Node.js

client

Python

client

Any HTTPclient

Java/JMS

Apache Qpid JMS AMQP 1.0

C/C++(incl

Embedded)

Python/PHP

Apache Proton

Page 23: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

ServiceBus.Messaging 2.1

Page 24: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Installed Package

Page 25: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Apache Qpid JMS AMQP 1.0 Client • Download from http://people.apache.org/~rgodfrey/qpid-java-amqp-1-0-client-jms.html.

• qpid-amqp-1-0-common-0.22.jar• qpid-amqp-1-0-client-0.22.jar• qpid-amqp-1-0-client-jms-0.22.jar• geronimo-jms_1.1_spec-1.1.jar• Include in CLASSPATH• Built Using Eclipse

Page 26: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Apache Proton with AMQP 1.0• Download from http://qpid.apache.org/proton/download.html

• Python• PHP• Deployed on Linux VM in Windows Azure IaaS• Built Using Make

Page 27: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

AMQP Messaging Demo• Visual Studio .NET Sender Walk-thru• .NET Sender and Java Receiver over AMQP• .NET Sender and Python Receiver over AMQP running on Linux

VM• .NET Sender and PHP Receiver over AMPQ running on Linux VM• Receiver Walk-thru

Page 28: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Notification Hubs

Page 29: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Using Notification Hubs• One-Time Set Up

• Create a Notification Hub in Service Bus• It contains the credentials required by the Platform

Notification Service (PNS)

• Register• The client app retrieves its current handle from the

PNS• Client app creates (or updates) a registration on the

Notification Hub with the current handle

• Send Notification• The app back-end sends a message to the

Notification Hub• Notification Hub pushes it to all PNS

APNsWNS

Service Bus Notification Hub

App back-end

Windows Phone/ iOS/Android

Windows Storeapp

GCM

Page 30: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Windows 8 Notifications

Page 31: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Windows Phone Notifications

Page 32: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Google Android Notifications

Page 33: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Notification Hub Demo• Notification Hub Setup on Azure Management Portal• Azure Service Bus Notification to Windows 8 • Azure Service Bus Notification to Windows Phone• Azure Service Bus Notification to Google Android Phone• Server-Side Push Application Walk-thru

Page 34: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Cloud Development

Page 35: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Cloud Development• Browsing and Management• Paired Namespaces• Retry Policies• Event-Based Model• Diagnostics

Page 36: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Message Browsing

QueueClient queueClient = QueueClient.Create("myQ");

var message = queueClient.Peek(); // does not lock the message

var message = queueClient.Peek(fromSequenceNumber: 4); // specific starting point

var messages = queueClient.PeekBatch(messageCount: 10); // supports batching

Page 37: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Queue Management

QueueDescription qd = namespaceManager.GetQueue("myQ");

qd.Status = EntityStatus.Disabled; //all operations blocked

qd.Status = EntityStatus.SendDisabled; //can continue to de-queue

qd.Status = EntityStatus.ReceiveDisabled; //can continue to en-queue

qd.Status = EntityStatus.Active; //all operations allowed

namespaceManager.UpdateQueue(qd);

Page 38: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Paired Namespaces for High Availability

Service BusNamespace

Web / FrontendRoles

Service Bus Paired Namespace

Syphon enabled

Worker / Backend Roles

App back-end

Page 39: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Development Demo• Visual Studio Service Bus Explorer• Visual Studio Service Bus Subscription Management• Cloud Service Walk-thru• Paired Namespaces Failover Walk-thru• Cloud Diagnostics

Page 41: Discover the Capabilities of Windows Azure Service Bus to Power Agile Business Models

Thank You