Power Platform: An overview
Published: 2022-01-28 16:29:50

## Before we start, some words
This is supposed to be a quick overview of Microsoft's Power Platform, which is mostly interesting for businesses wanting to do some No-Code-Low-Code Development.

First it is as a "platform" a combination of several applications, which are part of and accessable with Office 365. The correct setup with the required licenses should be given of course. The parts are:

- Power Apps
- Power Automate
- Power BI
- Power Virtual Agent

## Power Apps
The "Power Apps" can be considered as a collection of tools to create different applications with User Interfaces. So basically we need to look at different types of apps, because these tools allow all to create these each in their own way:

- Canvas Apps
- Modell-driven Apps
- Portal Apps

### Canvas Apps
An editor will allow you to create an application being build up from components (like text inputs and buttons) on several pages. Canvas Apps can make use of so called _Connectors_ in order to call other Services, which can implement more complex functionalities or allow to read and write data, like a SQL database.

### Modell-driven Apps
These need the _Dataverse_ to be set up before, which would be some kind of more complexe database. It could be its own topic because of a lot of functionalities, but let us focus on it being just a database at the moment, allowing us to work with SQL-like data.
Modell-driven Apps heavily rely on the data model created with Dataverse together with defined views (lists) and forms as well as other components, like charts and dashboards. These will then be put together to an App. There are less possibilities regarding placement and design in general, but if you know, that you need to deal with table-like data, these can be a great choice.
Please note, that Dataverse ist not required for Canvas Apps.

### Portal Apps
If you want to create a more website-like experience, then Portals can be great, especially if there is the need to allow anonymous or guest users to use your App, which is a difference compared to the other Apps. In addition the Dataverse is also required, meaning you would also deal with the setup of tables and more.

## Power Automate
This is another set of tools, but this time it is not about users working with a Web Client, but creating "server processes" handling tasks in an automated way. If Power Apps are our "Frontend", then Power Automate Flows would be our "Backend" (to some extent, but I hope you get the idea) together with the Connectors, which just call other systems. We have:

- Cloud Flows
- Desktop Flows
- Business Process Flows

### Cloud Flows

Cloud Flows allow us to use a graphical editor to combine components into a process, which will begin with a Trigger to register the Flow for certain events to start it. Possible are manually started Flows (there will be buttons for this in certain apps from Power Automate and is good to start any developing), scheduled Flows (time intervals are used) and many more, like Triggers of Connectors. Then there will be other components, like conditions and loops, which are similar to what we know from programming in general. Functionality is given with the Actions, which are also part of the Connectors. To give an example: You could use the Trigger of the Excel Online Connector to start whenever a line is added to a table and the Action of a SQL Connector to insert it into a database.

### Desktop Flows
These allow you to create automations for a desktop computer and are good for automating tasks which are usually done by a real user. Just imagine a Virtual Machine doing automatically repetitive tasks for you.

### Business Process Flows
Business Process Flows are very different and a part of Dataverse. These are less for automation and more for guiding users, when working with forms.

## Power BI
The idea is to connect to other systems, which provide data, which in turn is changed in its form and forming a data model, used by graphical components (charts etc.) to create reports and dashboards. This is interesting for Data Analysts.
A connection to Dataverse is also possible!

## Power Virtual Agent

If you have the need for some kind of chat bot, then this tool  allows you to create them.

## Extension of the Tools
What all of these Applications have in common, is the possibility to only use No-Code-Low-Code approaches, meaning that you do not need to be a Software Developer (writing a lot of code). But as you can image, there will be limitations to what can (or _should_) be achieved, even if you know these tools very well. This can be the reason for doing some actual programming and if you add this capability to your "toolbox", there will be solutions for many more problems.

## Thank you for reading

I hope, that this article has given an overview for to understand better what the Power Platform is. If anybody feels like, she or he wants to know more about anything regarding this topic, feel free to comment and let me know!