Written by: Daniel Haurey on 06/29/20

The statement of invariable universal truth between technology and business professionals goes something like this: writing custom software is convoluted, unnecessarily complex and just plain difficult.  Often, software developers train for years to understand and master coding principles, database and data technologies and coding patterns and styles.  But while Polymorphism, Inheritance and Encapsulation will likely elicit a trance-like autonomic Zen response from a professional developer, the rest of the non-beaniecopter-wearing world is left dumbfounded, glassy-eyed and still without recourse for developing the business functionality and data analytics they so desperately need in a simple and uncomplicated manner.  While it’s often a very necessary undertaking, especially for complex issues or solutions, nobody, and I mean NOBODY wants to endure the process of designing a custom software solution if they do not have to.

Microsoft Power Platform to the rescue! For several years now, Microsoft has been developing a platform that is intended for use by what they have begun to refer to as “Citizen Developers”.  The true intention of the Power Platform is to enable anyone who’s willing to learn a little bit about creating apps to go from concept to design to implementation in a very short time – all without writing a single line of code. All Power Platform solutions are intended to be simple enough to be low-to-zero code apps built on a technology stack that’s powerful enough to provide data, apps, functionality and services on an enterprise level yet simple enough that a non-developer or even, dare I say, quasi-luddite can employ with aplomb.

At a high level, nearly every software solution can be boiled down into four distinct components: the Data Layer (which stores the app’s the data and provides the ability to gather and query data), the User Interface Layer (which presents user-facing forms and user prompts for input and review), the Business Logic Layer (which provides workflows and data transformations based on rules and algorithms) and a Reporting Engine (which allows for robust reporting and data analysis). Power Platform delivers tools for each of these layers rather neatly and, true to theme, without the need to write code.

Data Layer: Common Data Service

Built on what Microsoft refers to as the Common Data Model, Common Data Service (CDS) is Power Platform’s data layer and comes pre-built with a common set of “entities”.  Entities are pre-built data objects such as Accounts, Contacts, etc. that are in use in common application scenarios.  This gives the user a head-start with devising their data schemas.  CDS also provides some preconfigured connectivity to other Power Platform tools.

User Interface Layer: PowerApps

This is the fun part of the development process – what the user sees.  Forms, user input, notices, images and layout are all controlled quite neatly and easily by the Power Apps interface builder.  No need to manually create form elements or wire up methods to button clicks as you would with most other Integrated Development Environments (IDE’s).  PowerApps comes pre-loaded with all the drag-and-drop form elements one would need to make a first-rate application from scratch. From text input boxes to buttons and loading spinners, PowerApps gives the Citizen Developer simple and ready-connected tools to build an app from scratch.

Business Logic Layer: Power Automate

Every application processes activity and data based on a set up pre-defined rules – often referred to as workflows. As the artist formerly known as Microsoft Flow, Power Automate is Power Platform’s visual workflow builder tool. As with PowerApps, Automate comes pre-loaded with a number of common workflows and tools that empower non-developer users to visually build comprehensive business logic rules. Activities like reacting to when data is entered into a PowerApps form, assigning a task to user, requesting approval for a document or even automating manual tasks are easily implemented via the Power Automate online interface.

Reporting and Analytics Engine: Power BI

Smart data, commonly referred to as Business Intelligence or BI, is a key element of any good application. Without analytics, data is just data. Power BI, as with the rest of the tools in the Power Platform suite, offers a simple interface, drag and drop common reporting components (like pie charts, data grids, key performance indicator controls and a great deal more) and pre-defined data connectors. Power BI helps transform mere data into actionable business information, often with just a few clicks and a stroke or two of the keyboard.

Tying it all together: Baked-in Office 365 integration

As if all the other features are not enough, did I mention that the Power Platform is built to integrate with Office 365 tools like SharePoint, Teams and other apps out of the box? Yep, that’s the best part of all this…Microsoft has positioned the Power Platform smack dab in the middle of the Office 365 and Azure universe. Have a SharePoint list and want to assign tasks to users automatically, for example? No problem – Power Automate has built-in SharePoint Online list connectors that allow for connecting list events to workflows that do just about anything. Office 365 and Power Platform make a VERY powerful combination, especially in the post-COVID-19 work from home, cloud-enabled world that’s come to be.

Empowering Developers: Quicker Delivery of more Powerful Apps

Citizen Developers the world over are rejoicing at the possibilities the Power Platform represents, but what about traditional developers? Certainly, all that Polymorphism-jargon-stuff must still bring some benefit to the end user’s experience and bear some impact on the feature set of any app…if not, why would we even need developers anymore? The answer is simple: while the Power Platform enables Citizen Developers to cobble together home-grown apps via powerful prefab components, the impact for trained developers is exponentially greater. By leveraging Microsoft’s Power Platform in combination with coding skills and software engineering experience, today’s otherwise conventional software developer has the tools to design and deliver applications more quickly, more effectively and more tightly integrated with the Office 365 and Azure ecosystems. In the hands of a capable software development team Power Platform presents the perfect opportunity to deliver custom-designed software application at a more amenable price and timeline than other, more traditional custom solutions.

Exigent Technologies has extensive experience designing, developing and implementing custom Power Platform software solutions that integrate tightly with Office 365 tools, allowing clients to work in the office productivity software environment with which they are already familiar.