Dynamics CRM – Azure Integration (Part 3) : Explore Service Bus Messages

Detailed explanation on Dynamics CRM – Azure Integration. Technologies, mechanisms, tools and issues are enclosed under three topics in three connected posts.

Connected Posts:
Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace
Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint
Dynamics CRM – Azure Integration (Part 3) : Explore Service Bus Messages


Azure Portal Queue\Topic Dashboard

Azure portal shows stats, monitoring, usage for each component in the Namespace such as Queue, Topic etc.

QueueUsage

Service Bus Explorer

Service Bus Explorer is a good tool to manage, monitor and test entities (Queues\Topic-Subscriptions\Relays\Event Hubs). Service Bus Explorer tool can be Continue reading “Dynamics CRM – Azure Integration (Part 3) : Explore Service Bus Messages”

Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint

Detailed explanation on Dynamics CRM – Azure Integration. Technologies, mechanisms, tools and issues are enclosed under three topics in three connected posts.

Connected Posts:
Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace
Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint
Dynamics CRM – Azure Integration (Part 3) : Explore Service Bus Messages


Detecting a Change in Dynamics CRM Records

In Dynamics CRM there are few ways of detecting record changes. It is really important to track\trigger changes in Dynamics CRM systems when synchronizing data between systems.

Change Tracking is a new feature comes with latest Dynamics CRM version and this feature can be used to get a bulk of records changed in an entity. It always provides changes compared to the last retrieval  of changes. Also, this will not raise the change as soon as it happens. Some code has to be executed externally and should get the changed records from the specific entity.

CRM Workflow executions in an event is another solution of detecting changes. With the real-time workflows, the workflow can be started before or after the change.

In this post, we discuss sending Plugin Execution Context to Azure and solving issues related to that.

 

Get the Plugin Execution Context Out

Plugins can be registered to track record changes. Plugin execution context has lots of information on the record change such as data changed, images, plugin step information etc. If we need to get the record changes and related information out of CRM we can use plugins and perform any action on that data. Also, we can integrate Dynamics CRM and Windows Azure using a Service Endpoint to Azure.

PluginExecutionContext

Plugin steps can be created for different entities at different events of Continue reading “Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint”

Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace

Detailed explanation on Dynamics CRM – Azure Integration related technologies, mechanisms, tools and issues is enclosed under three topics in three connected posts.

Connected Posts:
Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace
Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint
Dynamics CRM – Azure Integration (Part 3) : Explore Service Bus Messages


 Windows Azure Services

Microsoft Windows Azure or Azure’s compute mainly offers three types of offerings; Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).

Simply under Infrastructure as a Service (IaaS), Azure offers servers in the cloud \ virtual machines which give the feeling like a server that has been setup manually with hardware, operating system and running other applications in it. It provides Networking, Storage, Servers and Virtualization.

Windows Azure itself can be taken as a Platform as a Service. Windows Azure offers Middleware services including messaging, listening services, processing messages etc. under this. These components are really awesome when extending application behaviours, exposing to other systems and distributing services to other systems. Service Bus and its entities such as Queues, Topics, Relays, Event Hubs and Notification Hubs play a vital role under this.

Azure Websites are cheapest and easiest method of getting an application on the cloud. Web applications can be deployed from anywhere and Azure take care of CI, network traffic, availability etc.

Understanding Windows Azure Service Bus

Azure Service Bus is a generic, cloud-based messaging system for connecting applications, services and devices. Service Bus is a multi-tenant cloud service which can consist of namespaces with different types of messaging mechanisms. Depending on the requirement messaging mechanisms can be selected and the choices are; Queues, Topics, Relays and Event Hubs.

AzureServiceBusNamespace

Namespaces can be defined under Azure Service Bus. Namespace is Continue reading “Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace”

Generate Invoice from Opportunity when Closing as Won

Sales process is one of the main OOTB business processes in Dynamics CRM. During the sales process Opportunities can be created from Leads (Potential Customers) and opportunities contain opportunity products. From opportunities, quotes can be created, orders can be created from quotes and then invoices can be created from orders.

CloseAsWon

In this post let’s see how to generate invoice from opportunity using code and overcome issues when getting the OpportunityId.

CRM SDK provides few Methods to Generate Quotes, Orders and Invoices programmatically from Opportunity at any event. Following table shows the Requests and their descriptions that we can use to generate Quotes, Orders and Invoices from Opportunity.

Message Description
GenerateQuoteFromOpportunityRequest Generates a quote from an opportunity.
GenerateSalesOrderFromOpportunityRequest Generates a sales order from an opportunity.
GenerateInvoiceFromOpportunityRequest Generates an invoice from an opportunity.

Invoice can be created when the Opportunity closes as won and Plugin Continue reading “Generate Invoice from Opportunity when Closing as Won”