Blockchain integration with Dynamics 365

“2017 is the year of Machine Learning, 2018 will be the year of Blockchain. So get ready to chain your CRM to the block”

Manny Grewal

What a great way to start a blog series with a quote of your own. Last year I blogged at length how machine learning can take your CRM implementations to the next level and demonstrated some real world use cases of how artificial intelligence can weave its magic. This year I thought why not explore the other great things buzzing around and the exploration left me amazed!!  Not because I learnt lot of amazing things but at the amount of untapped potential which we are missing upon. Technology paradigms are changing rapidly and being a technologist feels like running after multiple buses departing away from you in opposing directions. If you run after one, you’ll miss the other.

 

This is what happened when Blockchain rocked up while people were still trying to understand how Artificial Intelligence works.

The challenge current market is facing is that business leaders (and even technologists) are unable to cope up with the innovation. Before they can understand a technology and how it can benefit their organisation, something else rages up and throws them back at the start of their learning curve. This is what happened when Blockchain rocked up while people were still trying to understand how Artificial Intelligence works.

Such challenges bring an opportunity in disguise for those who vow to get under the skin of these technologies. The ones who put the hard yards to decode the intricacies – the likes of distributed consensus or a neural network, tame them and then demonstrate their usefulness. Such was my motivation, that to spearhead the cavalcade while we (the IT community) take on these behemoths and bring them under control and understand how they can be ‘leveraged’. I hope the fiction has pumped you up a bit, so get ready to join this journey as great things are about to begin….

What and Why of Blockchain

Blockchain is like an open database which everyone can see. It contains a ledger of transactions which basically boils down to

User A did to User B

is typically a transaction like a purchase, transfer, delivery, packing, shipment, etc.

The word Block because bunch of these transactions are blocked together e.g. 1024 transactions in one block.

The word Chain because all these blocks are chained to each other using cryptographic pointers something like below

blockchain

Source: http://www.ybrikman.com

The main benefits of blockchain technology are

Distributed and Transparent

Blockchain information is not controlled by a particular organisation, it is distributed across many nodes around the world. Anyone can search and validate the transaction and everyone know what is happening and where. In short – a fair network.

No middleman

Eliminates middlemen like brokers, third parties, institutions because both the transacting parties can directly trade using blockchain

Accountability

Once validated, a transaction is set in stone. So either party cannot deny it. So it introduces non-repudiation and eliminates fraud.

I would not go into depth of the concepts as I do not believe in repeating what can already be found on the internet. If you want to understand more about its inner workings, feel free to explore around. But the purpose of this blog is demonstrate how a blockchain can be integrated with a system like Dynamics CRM – the product everyone loves.

What are we building?

We will build a portal – a shopping cart where our customers can purchase products. Upon purchase every transaction will be sent to the blockchain once validated (i.e. committed to blockchain), the customer will be notified. The portal will read all the product and pricing information from Dynamics CRM, and as products are bought – inventory will be updated in real-time. Once committed, an invoice can be generated inside CRM.

Below is the technology stack I will be using

  • Dynamics 365 for Product Catalog, Pricelists, Inventory and Invoicing
  • Ethereum blockchain
  • Solidity and web3 to write our smart contracts
  • ReactJs for the portal
  • Redux for state management
  • NodeJs as our messaging engine

Architecture

blockchain-crm

Upcoming

I plan to cover this series in three parts and will also host the source code of a working prototype that demonstrates the above stack in action. Soon I will cover the following

Part 2 – Building a Dynamics 365 based portal in React JS

Part 3 – Building the DApp (distributed application) and smart contracts in the blockchain

I will leave you with a teaser of how the shopping cart is shaping up.

Blockchain.demo

Until then…. cheers.

Advertisements

3 thoughts on “Blockchain integration with Dynamics 365

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s