Upload
doannga
View
214
Download
0
Embed Size (px)
Citation preview
Senior Technical Consultant
PowerObjects/Workplace
Image
Shahar Journo
Meet your Presenters 15
Senior Technical Architect
PowerObjects/Workplace
Image
Abe Saldana
@JoeCRM
@AbeRam
612.339.3355 x149 612.339.3355 x578
Agenda 3
Fundamentals on CRM Integration with Azure
Service Bus
Limitations CRM-Azure Integration
Service Bus Fundamentals
Implementation Patterns
Queues
Topic (Pub/Subs)
Demo Topics
Azure Tools
Resources CRM-Azure Integration
Coupling the CRM event execution pipeline to the Microsoft Azure Service Bus
CRM Connection Elements
• Asynchronous calls only
• Enable Plug-ins (Azure-Aware plugins, service end point aware)
• Enable Custom Workflow Activities (Service End Point aware)
• Microsoft Azure Solutions with Service Bus and Storage
Fundamentals on CRM Integrations 4
Customer will use CRM
Integration service end
points to connect to
Microsoft Azure Service Bus.
Scenario
• Persistent QueueMessages have a much
longer message
availability duration that
can be specified in code.
Queue Topic One-Way Two-Way
Publisher/Subscriber
Pattern
Similar to a Queue except
that one or more listeners
can subscribe to receive
messages from the topic.
CRM Service End Point Contracts 5
One-way contract requires
an active listener. If there
is no active listener on an
endpoint, CRM post to
the service bus fails.
Two-way contract is
similar to a one-way
contract except that a
string value can be
returned from the listener
to CRM.
Integration Limitations 6
• There is no way to use custom messages
• You publish the entire execution context, which could contain
unnecessary information for other parties(Workaround)
Remove sensitive information from the context object if necessary
• Only sending from CRM to Service Bus, not receiving to CRM from Service Bus.
• Need an application listener when you want to receive and process messages
• Azure Service Bus change default authentication not using ACS (Access Control
services) to SAS (Shared Access Service) on the dashboard or Management portal; only
using PowerShell cmdlets can allow the ACS authentication to integrate with CRM
PowerShell Cmdlet to create a ACS Service Bus NamespaceNew-AzureSBNamespace -Name 'CRMIntegration1' -Location 'Central US' -CreateACSNamespace:$true -NamespaceType Messaging
Azure Service Bus Fundamentals 8
• Exchange messages between loosely coupled applications
• Network send/receive from any internet connected device
• Traverse (Network Address Translation) NAT/Firewall
• Message buffering for loosely connected applications
• Multi-tenant cloud service
• Service shared by multiple users
• Multi Namespace
• Namespace defines the communication
mechanisms required for the applications
Queues
Allows one-directional communication, each queue
acts as intermediary (broker) that stores sent
messages until they are received
Provide one-directional communication using
subscriptions. Like a Queue, a topic acts as a broker, but
it allows each subscription to see only messages that
match filter specific criteria.
Service Bus Communications 9
Topics
• A sender sends a message to a Service Bus queue, and a
receiver application picks up that message at some later
time.
• A queue can have just a single receiver.
• Multiple applications can read from the same queue.
• In other situation or scenarios, each message is typically
read by just one receiver-queues don't provide a multi-
cast service.
• If the receiver processes the message successfully, it calls
Complete, and the queue deletes the message.
Features
Image
Queue 10
• A single message sent to a topic can be received by
multiple subscribers
• Senders submit messages to a topic in the same way that
they submit messages to a queue, and those messages
look the same as with queues.
• The big difference is that topics let each receiving
application create its own subscription by defining a filter.
• A subscriber will then see only the messages that match
that filter.
Features
Image
Topic (Pub/Sub) 11
Filter conditions and assignments
Subscription Filters 12
Filters actions may modify/add/remove
properties as message is selected
SET AuditRequired = 1
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%’
Send to a Topic and corresponding
subscription when:
Create/Update Contact
Create/Update Account
Publisher - Subscriber
Demo #2
Image
Demo Topic Scenario 15
Azure
CRM Online
Subscriber 1
AllMessages
Subscriber 2
NewAccounts
Subscriber 3
NewContacts
Subscriber 4
Updates
EntityLogicalName" = 'account' and RequestName" = 'Create'
"EntityLogicalName" = 'contact' and "RequestName" = 'Create'
"RequestName" = 'Update'
Topic
crmtopic1
Source Code and Details
https://code.msdn.microsoft.com/wi
ndowsapps/Service-Bus-Explorer-
f2abca5a
Paolo Salvatori
Service Bus Tools
Image
Service Bus Explorer 16
Resources 13
• Azure integration with Microsoft Dynamics CRM
http://msdn.microsoft.com/en-us/library/gg334766.aspx
• Configure azure integration with Microsoft Dynamics CRM
http://msdn.microsoft.com/en-us/library/gg309340.aspx
• Walkthrough: configure crm for integration with Microsoft azure
http://msdn.microsoft.com/en-us/library/gg328249.aspx
• Walkthrough: configure Microsoft azure ACS for integration with Microsoft dynamics
crm
http://msdn.microsoft.com/en-us/library/jj863635.aspx
• Walkthrough: register an azure-aware plug-in with crm plug-in registration tool
http://msdn.microsoft.com/en-us/library/gg328524.aspx
• Sample code for Microsoft dynamics crm and Microsoft azure integration
http://msdn.microsoft.com/en-us/library/gg334712.aspx