Unified View in Dynamics 365 without Data Duplication


Data integration are meant to solve two primary problems.

  • Unified data by creating a co-relation between data available in different applications.
  • Unified View by allowing users to see a unified view of the business data without hopping from one application to another.

In this blog post, we will focus on Unified View. One of the shortcomings of achieving a unified view by data Integrations is data duplication. Even though the Master data is stored in one place, a copy of its subset exist in other applications in order to create a Unified view. This data needs to be synchronized and updated as the master data changes. In some scenario, the changes from downstream application might update the master data and other copies.

Often time Dynamics CE is used to maintain Customer data while Operation data and Financial data are maintained in another application. in order to access the data, users need to navigate to the relevant application and look up the data. As an example, you might have customer record and Order data in CRM but the invoice and payment data could be in another ERP system( AX, GP, SAP etc.).

In Dynamics 365 CE there are multiple ways to achieve Unified View without or with reduced duplicate data, let’s dive into what these solutions are and when to use them.

Continue reading “Unified View in Dynamics 365 without Data Duplication”

Monitoring Microsoft On-Premise Data Gateway

There are more and more installs of Microsoft On-premise data gateways to achieve Hybrid integrations scenarios. On-premise gateway provides a
quick and secure data transfer between on-premises data and Azure Cloud Services. In this blog, we will look into how we can monitor On-premise gateway Install, but before we get to it lets look into what is on-premise data gateway.

Whats is On-Premise Data gateway?

It allows you to build integrations which securely moves data between on-premise data sources and Azure Cloud Services.

Currently, on-Premise data gateway can be used to interact with Azure Service Bus, Azure Logic apps, Microsoft Flow, PowerApps, Power BI and Azure Analysis services on Azure. Here is the list of all different supported data sources.

How it works ?

Continue reading “Monitoring Microsoft On-Premise Data Gateway”

D365UG Summit 2018, Phoenix

The last couple of weeks had been really busy, I had an opportunity to attend and present at two conferences events by Dynamics communities.

Continuing on my year of firsts, I attended  D365UG Summit 2018 conference at the beautiful and vibrant city of Phoenix from Oct 15- Oct18.

User Group Summit is one of the biggest Dynamics conferences, The conference is aimed at bringing together all the Dynamics 365 users, Customers, Partners together and sharing the knowledge and learnings. The conference is a confluence of different Dynamics conference(AXUG, GPUG, BCUG/NAVUG) geared towards different Microsoft Dynamics products in the Microsoft Dynamics ecosystem, this enables attendees to not only learn more about the Dynamics product they have been working with but also learn and explore other Dynamics capabilities.

The summit had a lot of focus on Power platform and how it empowers organization and allow them to quickly build application and solutions to meet the new challenges and automate business processes.

The summit also saw the most number of Dynamics 365 enthusiast at one place with attendees from all over the world. it was the place to meet all the MVPs and the Chapter leaders who bring the community together.

I was honored with the opportunity to present and speak about “Enterprise Integration using Microsoft Azure tools“, In my session, I presented on Azure Integration Platform and how it can be leveraged for integration with Dynamics 365.  Thank you all who attended my session.

Post D365UG Summit, I got the opportunity to attend “collaborate Canada” in Calgary, Collaborate Canada is a tour Conference held in the month of November, The conference is held in the month of November every year and is the biggest Dynamics conference in Canada.

This was special as I was speaking in front of Home crowd(Calgary), I presented on Approach to Data Integration and Data Migration. I enjoyed doing the session and inteacting with all the attendee. Thank you all who attended my session.

I truly enjoyed meeting so many of you at the conferences this year. This also wraps up my in-person conference list for the year. Thank You Dynamics communities. Look forward to next year.

 

Image courtesy: Summit Phoenix

Ignite 2018

This has been the year of a lot of First for me.  Last week  I attended my first Microsoft Ignite conference at Orlando, Microsoft Ignite is one of the biggest Microsoft Tech conference of the year. It was attended by 30000+ technology enthusiast from across the world.

Microsoft Ignite and Microsoft Envision were both hosted at the same time at Orlando. while Ignite is more focused towards IT Professional s and Developers, Envision is for Business leaders. KPMG was a platinum sponsor of Envision.

Ignite is the best place to learn, Network and meet Microsoft Engineers, Partners, vendors, and technology enthusiast while having fun, As the conference focuses on all the Technological offering from Microsoft, it allows you to learn about the different areas from office apps to Business Apps, Azure,  AI, and IOT etc..

This year conference was kicked off with vision Keynote from Satya, where he enlighted and inspired all the attendees, He spoke on how computing has become ingrained in every industry and in the everyday lives of people around the world. He spoke about Tech Intensity as a way to measure how well your organization is both riding the innovation wave and building your competitive advantage.

 

In his keynote, he was joined by Shantanu Narayen, CEO, Adobe), and Bill McDermott, CEO of SAP to introduce and announce the Open Data Initiative. Open data initiative is an initiative to curb Data silos. I am quite excited to see how CDM will play a large role in initiatives like this.

His keynote ended with the announcement of “AI for Humanitarian Action”.

There was so much happening and so much announced that Microsoft News team has released a Book of News for Ignite, here is some Key Highlights from Microsoft Ignite:

  • Open Data Initiative with Adobe and SAP to help companies connect, understand, and use their data to create amazing AI-powered customer experiences. Every organization owns and maintains complete, direct control of all their data while enable AI-driven business processes to derive insights and intelligence from unified behavioral and operational data.
  • Passwordless sign In with Azure Authenticator: The Authenticator app replaces your password with a more secure multi-factor sign-in that combines your phone and your fingerprint, face, or PIN
  • Windows Virtual Desktop: Microsoft announced Virtual desktop, a Cloud-based service that provides multi-user windows 10 experience optimized for office 365.
  • Portal for CDS: Microsoft announced that they are working on new Dynamics 365 Portal for CDS Instance, this will allow customers and partners to have a portal component when building solutions on CDS instance.
  • Power BI Dataflow: Dataflow allows data from multiple sources to bring in into Azure Data lake bringing Data warehousing within POWER BI. The Data could be mapped to CDM(Common Data Model) and as the interface is similar to the power Query,  it could be easily leveraged by Business Users/Citizen developers as well. The data will be usable across multiple PowerBI report, datasets and even through different workspaces.  The team is also releasing sample templates which will allow users to have a jumpstart. some of the data flow features are in Public preview, while few of the new items are currently in private preview.
  • Azure IOT central came out of preview and is GA now.
  • Azure Digital Twins, Microsoft announced Azure Digital twins, it allows enterprises to model their real-world IoT deployments in the cloud.

Above is just a few of many announcements, For Business Apps, There were a lot of sessions and focus on upcoming October release of Dynamics 365, the roadmap for CDS and Powerapps, we also had the opportunity to see preview of many of the upcoming features for Dynamics 365, You can view the upcoming October release notes here.

Migrate Adxstudio portals to Dynamics 365 Portals

It’s been a more than a month since legacy Adxstudio portals support officially ended.  Many customers and partners are still using Adxstudio Portals and yet to migrate to Dynamics 365 Portals or its short-term alternatives( Microsoft Open Source Portals, xRM Portals Community Edition).

As there are multiple Portals available, there is always a question on which one to migrate to, we currently have 4 different versions of Portals:

    • Dynamics 365 Portal Capabilities is the only viable long-term option, it’s Dynamics 365 Online dependent and only available as Software as a Service solution. This is the version you want to be using.
    • Microsoft Open Source Portals is the 8.3 version of Dynamics 365 Portals, it’s completely open sourced and released under MIT license. This is a one-time release and no future bug fixes, updates or patch will be provided. It is suited as a stepping version before upgrading to CRM Portals. I wouldn’t recommend being on this version unless you and your team has an in-depth understanding of the Portals and can self-support.
    • xRM Portals Community Edition is the githubbed version of Microsoft Open Source Portals, it is hosted by KPMG Adoxio and supported by Adoxio and Portals community, This is the version for customers or Partners who need sometime before moving to Dynamics 365 online or are waiting for new releases/features on Dynamics 365 Portals. This is not an on-premises option for Dynamics Portals but a short-term interim self-hosted option.
    • Adxstudio Portals, Though the support for Adxstudio Portals has ended, if you happen to have a perpetual license you may continue to use the product knowing it’s not supported.

The only long-term option is to upgrade to Dynamics 365 Portals. Dynamics 365 Portals and AdxStudio Portals don’t have same Portal website offering, some of the key differences are:

Logic App Definition Parameter Vs ARM Parameters – ALM Part 3

In the previous blog – we looked into getting Logic Apps CI/CD using ARM Template Parameter, we briefly touched on logic app definition parameter. In this post, we will look further into using Logic app definition parameter as an intermediary and the benefits of doing so.

Comparison:

ARM Parameters Logic App definition Parameters
Used with ARM Template Used within a Logic App
Value evaluated during Deployment Value evaluated during Runtime
Syntax: “uri” : “[parameters(‘vsts_bug_url’)” Syntax:  “uri”: “@parameters(‘url’)”
Not referenced post-deployment Available in Code view and Designer view
Suited for Environment Specific values Suited for Reference objects

so the obvious question is how we can leverage Logic App parameters as an intermediary and why to do so?

Continue reading “Logic App Definition Parameter Vs ARM Parameters – ALM Part 3”

Logic App ALM Process for Dynamics 365 Integration – ALM Part 2

In the previous blog  – we looked into working with Logic Apps from Visual Studio, which allowed us to manage logic app code in TFS or Git or any other source control system. But to truly do DevOps for Logic Apps while integrating with Dynamics 365 you need to be able to do ALM process for Logic Apps better yet do continuous delivery/deployment.

when we are editing and deploying a Logic app in Visual Studio we are actually editing an ARM Template, So what is an ARM template?

ARM templates are JSON format template, it enables you to deploy Azure resources in a declarative manner and could be used to define all the resources in a resource group.

An Empty ARM Template Schema

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": { },
"variables" : { },
"resources": [],
"outputs": { }
}

To add a resource in ARM template, resource details are declared under resources properties, there could be multiple resources. Below is a sample of Empty Logic app added to empty ARM Template.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {}, //ARM parameters
  "variables": {}, //ARM template variables
  "resources": [
    {
      "name": "Logic APP Name",
      "type": "Microsoft.Logic/workflows",
      "location": "West US",
      "tags": {"displayName": "LogicApp" },
      "apiVersion": "2016-06-01",
      "properties": {
        "definition": {
          "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
          "contentVersion": "1.0.0.0",
          "actions": {},
          "outputs": {},
          "parameters": {},//Logic App defination parameters defination
          "triggers": {}
        },
        "parameters": {}   //parameter values
      }
    }
  ],
  "outputs": {}
}

Continue reading “Logic App ALM Process for Dynamics 365 Integration – ALM Part 2”

Working with Logic Apps from Visual Studio

Azure portal makes it really easy to get started with and creating and managing Logic Apps, with all the built-in connectors and easy interactive orchestration UI you can be up and running with your integration in a couple of hours.

But what if you want to manage your code in TFS or Git or any other source control system. Working and creating Logic App in Azure is great but as DEv we enjoy the comfort that Visual Studio offers.

Good news is that you can create manage and deploy logic App from within Visual Studio and it’s better if you have become familiar with creating Logic Apps from Code View Interface.

In order to get Started with Logic App, you need to install Azure Logic apps tools for VS.

Once Installed you are ready to write your first Logic App from VS, Start by Creating new Project of type Arm.

Once you select your Project you will be asked to select the Type of Azure component you are creating. For our purpose, we will select Azure Logic App.

This will create a new Project in your Solution. The Project will have two files.

  • LogicApp.json
  • LogicApp.parameters.json

You can rename the files to your needs. Best practice is to rename the parameter file prefix to be same as logic app file. A parameter file is used to have deployment time values for deploying to a different environment.

In order to start orchestrating Logic app, Right click on Logic App file and select “Open with Logic App Designer’, this will prompt you for Azure subscription and resource group details

This will bring up the familiar-looking interface for creating Logic Apps.

Now you follow the same steps as you do on Azure Portal for creating the Logic App, You may reference this blog post if you are new to Logic Apps.

For this, I am using the logic app example from Integration with Microsoft Dynamics 365 using Azure Logic App Service, The logic app have a Dynamics 365 connector and it is also using an Http connector to speak with VSTS.

Once you have created your logic app, you can test, deploy and manage from Visual Studio.

In order to deploy your logic app, right click on the solution and click Deploy. This will bring the deployment window and ask for which logic app to deploy and which parameters file to use. Select appropriate and hit deploy.

Once logic app is deployed, you are free to edit them from Azure or Visual Studio, when you are ready to edit them again in visual Studio, simply use refresh option.

You can also manage other/ previously. created logic apps from visual studio through Cloud explorer.

Using Cloud Explorer you can manage the exiting logic apps, add them to visual studio, check the run history.

Hope this helps you get started with working on Logic Apps from within Visual Studio, this is a 2 part blog and in the next blog post i will talk about how to work with parameters file you better manage Devops and ALM process for Logic Apps while integrating it with Dynamics 365.

files and parameters

create a new logic app and execute and deploy

and refresh

cloud explorer

Migrate Dynamics 365 Notes Attachments to SharePoint

Quite often we run across a Dynamics 365 implementation where not much thought was giving to Document Management while implementation, resulting in user using Notes(Annotation) entity for document management.

Notes do offer a lightweight solution for managing and uploading documents to related record but it lacks the capabilities of a full-fledged document management capabilities. Notes are also stored in CRM database, storing documents as notes could easily become a costly endeavor considering Dynamics 365 storage cost. Jukka Niiranen has written a great blog on file storage and disadvantages of using Notes/Annotation.

The first step to transition from using CRM Notes to SharePoint for document management is migrating existing documents from Notes to SharePoint. This may seem like a daunting task but could easily be accomplished using SSIS package for migration.

I have an SSIS starter project on GitHub which illustrates the migration for notes related to Case entity, It could be easily configured to migrate notes related to any other entity.

SSIS by itself doesn’t provide capabilities to connect with Dynamics 365, for this, we use a third-party connector like KingswaySoft or CozyRoc, in below example we are using KingswaySoft connector, license and pricing details could be found here. Kingsway does provide the developer license free of cost.

Continue reading “Migrate Dynamics 365 Notes Attachments to SharePoint”

eXtreme365 Dubrovnik 2018

Extreme365, just completed in Dubrovnik, Croatia. What an amazing, beautiful and fun location for a great Dynamics conference. A week surrounded by amazing people sharing knowledge while having fun.

This was special for me as this was my first Extreme 365 conference speaking engagement. I presented my take on “Modern Approach to integration with Dynamics 365“, the session was well attended and very well received. Thank you all who attended my session.

The conference coincided with spring release announcement of Next version/ generation of Dynamics 365. This was one of the biggest Dynamics release announcement. for the first time, Microsoft had to release document rather than release notes primarily because of the number of changes being shipped on this release. With this release Dynamics, 365 becomes the Application platform for business application.

We also watched live streaming of  Business Forward’s in Amsterdam with Jean-Philippe Courtois, Alysa Taylor, and James Phillips at the conference.

Key Highlights from Dubrovnik:

  • CDS 2.0 & Powerapps: With the Spring release, Microsoft is shipping lot of changes to CDS and Powerapps. Powerapps is the platform for Dynamics 365 now and CDS 2.0 is the new XRM.
  •  Flow will become part of Dynamics 365 Offering and will be the primary way to do build automated process and workflow.
  •  MS Teams is coming to Dynamics 365 soon, this will change the way we collaborate from within Dynamics 365.
  • Custom Control Framework (CCF) will be coming soon, Custom control is currently available but with CCF developers will be able to build there own control within Dynamics 365, Paul Mare showed us CCF in action, CCF will allow us to interact with data in CRM in a whole different way. I am excited and waiting for this to be released.
  • CDS – A: Common data service for Analytics capability in Power BI is released. CDS A includes business application schema built on the CDM, as well as connectors for Microsoft and third-party data sources. Power BI apps that leverage the CDS – A will get out-of-the-box insights that can be easily customized and extended.
  • Dynamics 365 for Marketing 

Extreme 365 was great, Enjoyed many informative session by Industry experts, Microsoft Product team and Dynamics MVP’s, I especially enjoyed all the session by  Matthew Barbour.

I also got to see the Dubrovnik old town and do the Game of throne tour, I am a huge GOT fan and many of the key scenes of GOT is shot in Dubrovnik.

Thanks to the Extreme365 team for the event, can’t wait till the next one!