Way back when, in the late 1990s, we were talking about 4th Generation Languages, which became known as 4GLs. These programming languages were an integration and extension layer that took data on minicomputers and mainframes and turned it into desktop applications. Those early client-server applications changed the way companies did business, taking data from green-screen terminals into interactive windows.
Now it’s time to do the same to modern, cloud-hosted line-of-business applications. At least that’s what Microsoft is suggesting as it rebrands Power BI, Power Apps and Flow as its Power Platform. Where tools like Forte would have taken AS/400 applications and rethought them for the PC, the Power Platform is made up of tools that take the data and events from Dynamics 365 and Office 365 and turn them into apps and services, on our PCs and on our smartphones.
A foundation: The Common Data Service
At the heart of the Power Platform is the Common Data Service (CDS). Perhaps best thought of as providing the same underpinnings for line-of-business applications as the Microsoft Graph does for productivity, the Common Data Service acts as an extensible object store, hosting data structured as ‘entities’. Each entity is a set of commonly-used business data, much like a row in a table, with all the instances of an entity acting like a database table. An entity might be an address, or a product, or a customer record; it can even be a set of records that define something that only your business needs to use, whether it’s adding custom records to one of the CDS entities or creating your own from scratch.
SEE: PowerShell scripting: Seven tips to reduce errors (free PDF) (TechRepublic)
If it was only a way of defining data, the CDS would be useful. But it’s the data layer used for all the Dynamics 365 services, allowing them to share common records, putting all your business data in one easily accessible place. Excel’s familiar Power Query tools can reach down into the CDS and help you build your own analytic solutions, or for more complex queries and building business dashboards, the same query language works inside Power BI.
The ‘Triple-A Loop’
Microsoft talks in terms of a loop that links business applications, which James Phillips, CVP Business Applications Group, calls a ‘triple-A loop’. The three As are ‘Analyze, Act, and Automate’, and are connected to the different roles of the three core Power Platform applications.
Power BI provides business analytical services that can be used to do more than display data — they can be used to trigger applications, or at the very least inform decision makers so they take the appropriate actions. Displays and dashboards are constructed using the Power Query query language, handling transformation and quickly exploring millions of rows of information.
Power Apps provides an application framework that displays information from multiple services in a familiar app model, on desktop and on mobile. By building on technologies like Power Query and a simple UI model that owes a lot to building apps in Access, it’s the logical cloud-connected successor to technologies like Visual Studio Lightswitch and the original client-server Visual Basic. By hosting apps in the tool used to build them, it’s become a way of democratising application development, giving app development capabilities to anyone who can write an Excel macro.
Flow takes a different approach, offering a low-code (and in many cases a no-code) approach to application integration. Events in one application can be transformed and processed and used to trigger actions in another, giving you hands-free automation. It’s the tool you’d use to trigger an update to a Power BI dashboard if a CRM record in Dynamics 365 updated, or if you wanted to update a Google Calendar entry when an Office 365 Calendar updated. It’s a surprisingly powerful tool, with many different integrations to many different applications. By taking an event/action approach to application integration, you can quickly put together a series of simple flows that together add up to a complex set of automations.
Integration and automation
All three development environments integrate with each other and with other Microsoft development tools and services. An action in a Power Apps app can trigger a Flow, making a change to data in the CDS, driving a report in Power BI and on and on round the loop. Modern business thrives on information, and the Power Platform is Microsoft’s tool for delivering it in a way that allows it to drive actions quickly.
What makes the Power Platform a true platform isn’t the combination of Power Apps and Flow: it’s the set of SDKs they sit on. You’re not limited to working inside Microsoft’s tools — you can build your own applications and start to experiment with the wider set of graph databases Microsoft offers. If a CDS customer entity contains names, addresses, and emails, why not use the LinkedIn graph to get more information about your customer contacts? Or use the Microsoft Graph to tie it to all the relevant documents in SharePoint or OneDrive?
Going outside the Power Platform
Perhaps the biggest advantage of the Power Platform is its relationship with the Open Data Initiative, expanding its data model beyond Microsoft’s services, to Adobe’s Marketing Cloud and to SAP’s tooling. Businesses need access to all their data, without it stagnating in silos. Information that’s gathered in one platform needs to be usable in an another, and the Power Platform tooling will make it easier to bring that data together. With connectors to many different tools and services in Flow, it’s possible to start automating actions in one set of products based on events in another.
You can even step outside the familiar ecosystem: by mixing different integration and automation tools, going from Flow to If This Then That (IFTTT) or to Zapier, you can add new user interfaces to familiar services. If there’s a problem with an important customer, why not use a Flow to trigger a change in colour in a light in the help desk?
We’ve really only seen the beginnings of what can be done with the Power Platform. Putting its tools in the hands of users is a surprising move for Microsoft — but then again, it’s a developer-centric company and the philosophy that drives the Power Platform is one that says everyone is a developer. Giving those tools to everyone makes even more sense when combined with the cross-ecosystem Open Data Initiative, and with the machine-learning services that Microsoft and its partners are starting to deliver.