Posts

Showing posts from April, 2022

PL 400 : create and use alternate key (Implement data synchronization)

Image
Alternate key is not a new concept, it is available in the database which considers it as an alternative of primary key. Normally, a primary key is only one column in a table, but columns that can be replaced to a primary but not a primary key are called alternate keys. Whereas, primary key does not hold null values ​​and maintain uniqueness, but in alternate keys, it contains null values ​​with uniqueness. Primary key is already implemented in all Microsoft Dataverse records, it maintains uniqueness by unique identifiers defined as GUIDs, but Microsoft also provides a alternate key to integrate with an external data store, we might be able to add a column to the external tables to contain a reference to the unique identifier in Dataverse. With alternate keys, we can define column in Customer Engagement table to correspond to unique identifier  or unique combination of columns used by the external data store. Common Requirements: Link records from external system to Dataverse without m

PL 400 : read entity change records by using platform APIs (Implement data synchronization)

Image
We have discussed about Change tracking in the previous article . It has given information about the behavior and its usefulness. As is known, change tracking is used for the purpose of synchronizing the data by identifying the data changes that have occurred since the last data synchronization. It provides the efficient and reliable mechanism to determine what records had changed in Dataverse. Before the read the changes for a table, make sure that the change tracking feature is enabled in that table. Either developers can change from Table UI or programmatically by setting the ChangeTrackingEnabled property to True. Delta links: According to the OData 4.0 documentation, delta links are "opaque, service-generated links that the client uses to retrieve subsequent changes to a result". Microsoft has built this standard into change tracking in Dataverse to provide a common, standard method for interfacing with change data as it occurs over time. After issuing a change tracking

PL 400 : configure entity change tracking (Implement data synchronization)

Image
Data is fuel in the business world and companies always try to maintain data accuracy and integrity. Data synchronization is the essential process of establishing consistency between data from a source to a target data storage. Such data has a huge impact on sales, decision making and customer retention. Example read leads from csv files and write to CRM or find new accounts in ERP system and insert/update  into CRM. Data synchronization means maintaining consistency between the source and the target. Microsoft Dataverse provides several mechanisms for synchronizing and integrating data. Change tracking is one of them. Such a mechanism is available in SQL Server and other databases. Microsoft Dataverse is a special type of database that provides the capability of business automation and database features. Change Tracking is used for the purpose of keeping data synchronized by identifying the data changes that have taken place since the last data synchronization was performed. By defaul

PL 400 : create an Azure Function that interacts with Microsoft Power Platform (Publish and consume events)

Image
Function App is the beautiful concept of Azure Service App where developers need to focus on the code or business logic and it also provides the ability to develop those code in multiple languages. If we analyze it carefully, we will find that it facilitates the separation of concerns along with the essence of the infrastructure. In Azure Functions, a function app provides execution context for different functions. The most important fact is that it provides logical unit which can work according to events or scheduler. In the Microsoft Dataverse, Plugin is mechanism where developers can wire their custom code. those custom code runs under the event framework to run the specific events. Plugin is a .NET assembly that we can upload to the Microsoft Dataverse and can be registered to specific events within event framework. Function app can't be replace the plugin, but it can assist to offload the burden of custom code. Let us discuss about the features of both mechanisms to leverage a

PL 400 : implement a Dataverse listener for an Azure solution (Publish and consume events)

Image
Microsoft Dataverse is a tremendous product in the cloud market as it provides a business database with many features of applications that can consume software as a service (SaaS). We have already discussed about many features regarding this product, but it also integrates easily with external systems. Azure Bus Service provides the ability to work as asynchronous with the message broker and also facilitates to develop listener applications that can receive these events and processes as per the business requirements. Microsoft Dataverse events trigger the execution of a remote code component called the listener. These integrations are intended to provide an easy way to use additional extensibility outside the Dataverse platform. An Azure Solution Listener application that can read and process Microsoft Dataverse messages posted to the Azure Service Bus. A message queue is a store of messages on a service bus endpoint and a queue listener is an application that reads and processes these

PL 400 : register service endpoints including webhooks, Azure Service Bus, and Azure Event Hub (Publish and consume events)

Image
Cloud computing is a revolutionary concept in modern technologies and Azure is the dominant player in the cloud markets. Azure provides cloud-computing systems and applications and is hosted in a Microsoft data center. Customers do not need to invest in any infrastructure or IT services for their environment. Azure provides a set of tools and application programming interfaces (APIs) to design applications and support the cloud computing platform offered by Microsoft. Service endpoint is cloud concept which enables private IP addresses in the VNet to reach the endpoint of an azure service without needing a public IP address on the VNet. An endpoint is one end of a communication channel the touch points of the communications. Microsoft provides service endpoint to connect with external systems and application with Dynamics 365 customer engagement. Developers can register plugins with Microsoft Dynamics 365 CE that can pass runtime message data, known as the execution context, to one or

PL 400 : publish an event by using the (Publish and consume events)

Image
A plugin is a special mechanism to enhance the behavior of the Microsoft Dataverse platform. A plugin is a .NET assembly that can upload to the Microsoft Dataverse platform, but developers use a plugin registration tool to upload custom business logic and wire it up with the appropriate events (steps). The concept of plugin allows us to add  a new feature by new DLL. This plugin  works under within the event framework. A plugin is .NET assembly that can be used to intercept the events generated from the CRM system to perform a variety of actions. To register a plugin, we need to follow the below steps: Develop a plugin event handler as a DLL assembly Sign and compile the DLL Assembly. Register the plugin DLL assembly in Microsoft Dataverse using the Plugin Registration Tool. Register the steps of the implemented event handlers for required events using the Plugin Registration Tool. An event, in a computing context, is an action or occurrence that can be identified by a program. In even

PL 400 : publish an event by using the API (Publish and consume events)

Image
The great power of Microsoft Dataverse is extensibility which makes it more user and business friendly. Extensible code allows us to add new feature by adding new business logic. Makes the implementation of the REST API in the Dataverse more flexible and extensible. Automation of business logic and integration with other systems are driven by Events. The event framework provides the capability to register custom code to be run in response of specific event : Microsoft To take advantage of the Events Framework in the Microsoft Dataverse, we need to understand about the available events and their processes. Data operations with events adds more efficiencies for developers to use resources to make sense of business operations, but this needs to be understood about time limits and constraints, as some processes are short-lived and impactful enough for applications which could be caused of poor performance for applications. To use of Dataverse Custom API, developers can create the custom ev