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
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
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.
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.
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.
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 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.
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 are very different and a part of Dataverse. These are less for automation and more for guiding users, when working with forms.
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!
If you have the need for some kind of chat bot, then this tool allows you to create them.
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.
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!