What is the Business Application Platform? (Developers overview)

What is the Business Application Platform (aka Power Platform aka PowerApps, Flow and PowerBI)

A simple question, but for new developers can be a challenge to understand exactly what it is, the business benefits and how to use it.  I've read numerous documents/slides and watched a few different //Build and Ignite sessions - but many were marketing pitches and not the right level for me.  Until I was steered to this video: https://www.youtube.com/watch?v=zomGjmzHsKI introduced by Charles Lamanna, worth watching all of it if you're actively learning this space.  If you like to learn by example - watch around the 18:30 mark where Ryan Cunningham does a great live demo.

Common Data Model

The Common Data Model (CDM) is a modular definition of standard entities that represent commonly used concepts and activities across business and productivity applications.  Started from Dynamics 365 and open sourced with over 250 entities (including ecosystem partners industry specific releases).  It defines a rich metadata system including relationships, hierarchies and traits, and is extensible.  The CDM is evolving as part of the Open Data Initiative, a jointly developed vision by Adobe, Microsoft & SAP.

Common Data Service for Apps

The Common Data Service (CDS) is a platform and includes the system of record for business critical transaction data, allows you to securely store and manage the data used within applications.    Data is stored in entities (sets of records), much like database tables.  Developers, ISVs etc. can build on CDS, there are different approaches to this.  To deep dive into the concepts needed to build applications on the Common Data Service for Apps, this Microsoft Ignite Session "Common Data Service for Apps: Building Enterprise Ready apps with ease" by Ryan Jones is worth watching.

PowerApps

Everyone from app users, business analysts, administrators and developers can build PowerApps - depending on your entry point.  Developers can build custom connectors, extend apps with Azure Functions, Embed apps or build on/offline apps.

Model Driven Apps

Design and model your application with no code environments.  Create responsive apps that work on cross platform mobile devices and the web.  Once you've determined what data your application will need you can define your own business process logic/flows.  Then, you use the app designer to compose the application using app components.

Canvas Apps

WYSIWYG design surface for building applications.  Works based on Powerpoint paradigm, simply drag and drop UI elements onto the canvas.  Pull in data from various sources using Connectors.

Connectors

Proxies or wrappers around an existing API.  Connectors have Actions and Triggers and come in two flavours, Standard Connectors which are ready to consume, or you can roll your own Custom Connectors.

Flow

Automate workflows between your favourite applications and services to build innovate applications.  Send notifications, emails, move files, invoke other services etc.  Build from scratch or use one of the many templates to bootstrap your process automation.

Power BI

A collection of software services, apps and connectors that turn unrelated data sources into meaningful, visually immersive and interactive insights.  The fundamental building blocks of PowerBI are visualisations, datasets, reports, dashboards and tiles.  Developers can embed Power BI dashboards and reports into their own applications, create their own custom visuals or automate dasboards using the API.