Power Platform

Microsoft Power Platform: Approach with Low-Code


The Microsoft Business Applications Summit is over and on-demand videos are popping up. It was a fantastic event with lots of awesome announcements, make sure you check it out! But one of my favorites and my center of focus was of course: Power Platform.

Microsoft put a lot of effort into building their comprehensive low-code platform for business applications and making it the best. But what is Power Platform? Why should you care about it – especially as a developer? We will dive into this!

What is the Power Platform?

In the past two years I have been actively working with Dynamics 365 as a developer to deliver business applications to our partners. Sounds boring right? Believe me, it’s not boring at all!

Especially because that was the year when Microsoft announced the Power Platform! Everything around Dynamics 365 has transitioned from a “closed silo” to a way more open, breathing, modern platform with lots of awesome features and ways to extend it in more ways than ever before!

Microsoft Power Platform
Microsoft Power Platform

Microsoft Power Platform is a collection of services that are:

  • Connected, but they can work on their own too
  • Provides all the building blocks you need to create your application
  • Low-code, so it can be easily customized in many ways without coding
  • Can be integrated so easily with any other services – Facebook, Google, Amazon, Twitter, or your own web app, you name it!
  • Plus: It is integrated with Office 365

Let’s see all of these services one by one to get a basic understanding on what we get!

1. Common Data Service

First and foremost, we need a place to store our data. The Common Data Service (CDS) is way more than being just a database, but basically the main purpose of it is the same.

Create and manage your entities (tables), create new fields (columns) for them with different data types, apply auditing, security, validation on them, or maybe define relationships between them. And if you have some external data store like an SQL Server, you can easily integrate it with CDS to be able to access your records inside the platform.

Common Data Service can be called the primary building block of the whole platform that makes it possible to create your applications that will interact with the data you store here.

2. Power Apps

Once you have your data ready, it is time to interact with them. Power Apps support three different types of applications that you can create: Canvas Apps, Model-Driven Apps, Portals.

The most customizable ones are Canvas Apps, where you are presented with a drag & drop designer to add all kinds of controls to a canvas, provide custom functionality to them and publish it to your users.

Power Apps site
Microsoft Power Platform – Canvas App

Canvas Apps support both phones and tablets (and desktops, laptops of course) and these applications can be accessed through your browser or inside the Power Apps mobile application.

Tips
Use Canvas Apps when your application requires a fully customizable user interface.


The next in the list is Model-Driven Apps, which as its name suggests is based on models. Your app will have a pre-built interface – which will be familiar for previous Dynamics 365 users – where all your entities added to the app are available for interaction.

Sample model-driven app
Microsoft Power Platform – Model-Driven App

List your records using views that you can define for each entity, create and edit records using customizable forms or maybe you can go wild and customize your app even further with custom developed web resources and scripts developed using modern web technologies (HTML, CSS, JS, etc.).

Tips
Use Model-Driven Apps when the provided user interface is sufficient, the application is more data and process centric, or you need fast delivery with the least hassle.


Last but not least we have Portals, which in contrast to the previous two solutions can be published to external users so anyone can access it if you want.

You should think of Portals as a web application that you can customize in absolutely any way you want! You can create custom HTML templates, apply some custom styling, add jQuery, Kendo UI or even make it an Angular single page application.

Power Portal Editor
Microsoft Power Platform – Portals

But why would you do that? What is the purpose? Because you will have direct access to all your data stored in Common Data Service with permission management for the entities so your users will only have access to their data.

Tips
Nothing to add here, use Portals if you need a web application backed by common data service entities that you can publish to anyone 🙂

3. Power Automate (Available free)

You have the app, now you can integrate it with other services or create some processes inside your application. Power Automate does exactly that and more! Way more!

Power Automate Flow
Microsoft Power Automate

The main purpose of Power Automate is to give all users an easy way to build up flows (processes) that can be triggered by an event, by a schedule or manually and can perform a series of action. And these actions can interact with any other service.

You can build up a flow that fires up when a record in Common Data Service is created, it sends an e-mail to you using G-mail, posts a message to Twitter and saves the posted message to your on-premise SQL Server. And all of that in just a couple of minutes! Exciting isn’t it?

Power Automate Flow
Microsoft Power Automate – Custom Connectors

And for you, developers: you can integrate even your own services! All you need is a Rest API and you are good to go! You can use the HTTP Request action, or you can build up your own custom connector too!

Tips
You can use Power Automate for free with your personal account too! Just head over here and start building! For example, I use a flow that runs two times a day and creates a scheduled backup of my databases. MySQL, MSSQL, all from Power Automate 🙂

4. Power BI (Available free)

Once you have enough data, you are ready to consume and present it in a more informative way with reports and dashboards. Hello Power BI!

Power BI Desktop
Microsoft Power BI

Power BI can use lots of sources for your reports including the Common Data Service. It can be an SQL Server, an Excel file from your computer, a data warehouse solution – the list could go on forever.

I have never ever created a single report in my whole life before that, but the interface of Power BI was so intuitive, it shouldn’t take long for you to get familiar with it.

And let me give you a tip this time too:

Tips
Power BI can be used for free by downloading Power BI Desktop as long as you do not plan to publish and share your reports with others in Power BI Service.

5. Power Virtual Agents

This is something I don’t have too much experience with at the time of writing. Power Virtual Agents is a more recent addition to the Power Platform.

Power Virtual Agent
Microsoft Power Virtual Agents

The main concept of Power Virtual Agents is to make it possible to build your own chat bots using a graphical user interface without writing any code in the shortest time possible.

These virtual agents can interact with your data stored in Common Data Service or even trigger some of your flows in Power Automate so it is a great example how tightly these services can integrate with each other.

Tips
Just give it a try 🙂 I’ve already tried out developing chat bots using the Microsoft Bot Framework, but it is so much easier this way.

Summary

The main concept behind Microsoft Power Platform is to empower all of us and make it possible to deliver complex and innovative solutions which are on par with custom developed software – without the need of actual coding.

While this might sound utopist, let me round up this article with two conclusions:

Low-code solutions are not the future anymore, but the present. A long time have passed since the first attempts with these drag & drop like app makers and they have evolved to a point where they are actually a considerable alternative. Not to mention the cost effectiveness in comparison to a custom developed solution.

They will not replace developers, but will change their work. I’ve been a developer for years and yes, it is awesome and exciting to write code. But doing the same thing over and over again is not productive, nor creative. For example: with Power Automate I can integrate two systems without the hassle of reading long SDK documentations, overcoming incompatibility issues just to mention a few.

Power Platform is not the Holy Grail, it will not solve all our problems or transition us into a world without developers, but is a great option to take into account as a whole or even just parts of it!

Did any part of the Power Platform catch your attention? Which one is your favorite? Give it a try and share your opinions with us! 🙂

Power Platform
Extend Your Flows with C# Code in Common Data Service
Power Platform
Power Series: Subscriptions Manager – EP 1
Power Platform
Custom Components in PowerApps with Component Framework