Microsoft Power Platform Enterprise Architecture - Robert Rybaric - E-Book

Microsoft Power Platform Enterprise Architecture E-Book

Robert Rybaric

0,0
40,56 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

This book enables you to design tailor-made enterprise solutions using the latest models, methodologies, and patterns for your projects. It harnesses the capabilities of the Power Platform, Azure, and Dynamics 365 to create robust solutions. In this new edition, you can work with the latest technologies such as Dataverse and Power Portals to take your solutions to the next level.



Purchase of the print or Kindle book includes a free eBook in PDF format.

Expert insights



"This book provides a solid understanding of how Microsoft 365 and Power Platform work together and offers detailed information on the architecture. It blends a theoretical approach with real-world scenarios to bring the theories to life and demonstrates how architecture operates in practice."



—Mary Angiela Cerbolles, Dual Microsoft MVP, productivity analyst



"What I really like about this book is that it is well structured and easy to follow, using practical examples to illustrate key concepts throughout. I highly recommend it!"



—Thomas Rice, 16x Microsoft Certified Solutions Architect

Key Features



  • Design solution architecture utilizing the full Microsoft ecosystem, now with diagrams to explain the Microsoft cloud structure
  • Develop solutions with a wide range of customization tools and techniques, updated for the best practices regarding APIs and plug-ins
  • Optimize solution architecture using the latest ALM best practices and integration models, following example enterprise requirements

About the book



This book is for enterprise architects and decision makers who design solutions for complex business requirements. It teaches you how to use architectural best practices and methodologies to optimize an enterprise-grade solution.



You'll gain an understanding of the tools available in the Power Platform suite and how to integrate them seamlessly with various Microsoft 365 and Azure components to create a tailor-made solution. Progressing through the book, you'll discover how to address application lifecycle management, security, extensibility, and data migration. This includes Power BI, which often requires a separate approach to the rest of the Power Platform.



This book provides you with practical, essential, and concise information. It follows a complete, end-to-end example in every chapter, with diagrams that illustrate the intricacies of Microsoft cloud structure. It has been created by an experienced enterprise architect who actively creates solutions using Microsoft technology.



By the end of this book, you'll have the strategic perspective of an enterprise architect to make accurate architectural decisions for your complex Power Platform projects.

Who this book is for



If you're an enterprise architect or technical decision maker looking to design complex solutions using Microsoft Power Platform, this is the book for you. Familiarity with Microsoft Power Platform and Azure services will be required to follow along.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 674

Veröffentlichungsjahr: 2023

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Microsoft Power Platform Enterprise Architecture

Second Edition

Design tailor-made solutions for architects and decision makers to meet complex business requirements

Robert Rybaric

BIRMINGHAM—MUMBAI

Microsoft Power Platform Enterprise Architecture

Second Edition

Copyright © 2023 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Senior Publishing Product Manager: Ashitosh Gupta

Acquisition Editor – Peer Reviews: Saby Dsilva

Project Editor: Rianna Rodrigues

Content Development Editor: Matthew Davies

Copy Editor: Safis Editing

Technical Editor: Aniket Shetty

Proofreader: Safis Editing

Indexer: Rekha Nair

Presentation Designer: Ganesh Bhadwalkar

Developer Relations Marketing Executive: Rohan Dobhal

First published: September 2020

Second edition: January 2023

Production reference: 1270123

Published by Packt Publishing Ltd.

Livery Place 35

Livery Street

Birmingham

B3 2PB, UK.

ISBN 978-1-80461-263-7

www.packt.com

Contributors

About the author

Robert Rybaric is a Microsoft Power Platform and Microsoft Dynamics 365 architect, consultant, and trainer. He is a Microsoft Certified Trainer (MCT) and holds several certifications for Microsoft Dynamics 365, Microsoft 365, and Microsoft Azure.

For 10 years, Robert has worked for the Microsoft Corporation on numerous Microsoft Dynamics 365 presales and project implementation activities for enterprise customers across Europe, both as an architect and consultant. He is now a freelance architect, implementing Microsoft Dynamics 365 solutions for global customers and leading many Microsoft Power Platform training sessions.

In the past, Robert has written two books about Power Platform, including Microsoft Power Platform Enterprise Architecture (first edition) and Microsoft Power Platform Up and Running, published with Packt Publishing and BPB Publications respectively.

About the reviewers

Danilo Capuano is a Technical Delivery Manager and Office Manager at Agic Technology. He is a Microsoft Certified Trainer (MCT) and MVP. Danilo specializes in solution architecture for Power Platform, Dynamics 365, and Azure, as well as being familiar with DevOps engineering. He is active in the Microsoft community in Italy, being a group leader for Power Apps User Group Italia and Power Pages User Group Italia. He is active on social media and can be found through his blog (danilocapuano.blog), Twitter (@capuanodanilo), and LinkedIn (/capuanodanilo).

He has previously worked as a technical reviewer on several other titles, including Fundamentals of CRM with Dynamics 365 and Power Platform, Mastering Microsoft Dynamics NAV 2016, Microsoft Dynamics NAV 7 Programming Cookbook, Microsoft Dynamics NAV 2013 Application Design, Learn Microsoft PowerApps, and Programming Microsoft Dynamics NAV 2015.

EY Kalman started as a Dynamics 365 Support Analyst over 15 years ago and is now an experienced Power Platform and Dynamics 365 Solution Architect and Microsoft MVP. He has run development teams over large-scale projects across multiple sectors, translating business ideas into technical requirements and delivering projects. He has previously worked as a technical reviewer on another title, Microsoft Power Platform Functional Consultant: PL-200 Exam Guide.

EY currently enjoys being a technical evangelist for adopting business application technologies, enabling and empowering proper digital transformation for enterprise users across the globe. He engages regularly with the Microsoft Business Applications community under his handle of ‘The CRM Ninja’. EY blogs regularly about technical ideas, runs a weekly show called ‘The Oops Factor’, and organizes and presents at events. He also enjoys playing with gadgets, traveling, and going out for rides on his Ninja motorbike.

Contents

Preface

Who this book is for

What this book covers

To get the most out of this book

Get in touch

Section I: The Basics

Microsoft Power Platform and Microsoft Dynamics 365 Overview

Introducing Contoso Inc.

Introducing Microsoft Power Platform

Introducing the Common Data Model and Microsoft Dataverse

Introducing the Common Data Model

Introducing Microsoft Dataverse

Introducing model-driven apps

Introducing canvas apps

Introducing Power Automate

Introducing Power Virtual Agents

Introducing Power BI

Introducing On-Premises Data Gateway

Introducing AI Builder

Introducing Power Pages

Introducing Microsoft Dynamics 365 CRM applications

Microsoft Dynamics 365 Sales

Microsoft Dynamics 365 Marketing

Microsoft Dynamics 365 Customer Service

Microsoft Dynamics 365 Field Service

Microsoft Dynamics 365 Project Operations

Introducing Microsoft Dynamics 365 ERP applications

Microsoft Dynamics 365 Finance

Microsoft Dynamics 365 Supply Chain Management

Microsoft Dynamics 365 Commerce

Microsoft Dynamics 365 Human Resources

Microsoft Dynamics 365 Business Central

Introducing Microsoft Dynamics 365 AI, MR, and other modules

Microsoft Dynamics 365 Customer Insights

Microsoft Dynamics 365 Sales Insights

Microsoft Dynamics 365 Connected Spaces

Microsoft Dynamics 365 Fraud Protection

Microsoft Dynamics 365 Remote Assist

Microsoft Dynamics 365 Guides

Microsoft Dynamics 365 Product Visualize

Microsoft Dynamics 365 Unified Service Desk

Microsoft Power Platform licensing overview

Contoso Inc. Power Platform commitment

Summary

Microsoft 365 and Microsoft Azure Overview

Contoso Inc. cloud maturity

Introducing Microsoft 365

Introducing Microsoft Office 365

Microsoft Exchange

Microsoft SharePoint

Microsoft OneDrive

Microsoft OneNote

Microsoft Teams

Microsoft Outlook

Microsoft Word

Microsoft Excel

Overviewing Microsoft Enterprise Mobility + Security

Microsoft Intune

Microsoft Cloud App Security

System Center Configuration Manager

Contoso Inc. using Microsoft 365

Introducing Microsoft Azure

Introducing Azure Active Directory

Introducing Azure Service Bus

Introducing Azure Event Hubs

Introducing Azure Logic Apps

Introducing Azure API Management

Introducing Azure Functions

Introducing Azure SQL

Introducing Azure Cosmos DB

Introducing Azure Blob Storage

Introducing Azure Synapse Analytics

Introducing Azure IoT Hub and Azure IoT Central

Introducing Azure Key Vault

Introducing Azure DevOps

Introducing Azure Monitor

Contoso Inc. using Microsoft Azure

Microsoft 365 and Microsoft Azure licensing overview

Microsoft 365 licensing

Microsoft Azure licensing

Summary

Section II: The Architecture

Understanding the Microsoft Power Platform Architecture

Contoso Inc. starts architecting their planned Power Platform solution

Understanding the Power Platform architecture

Learning about the Microsoft cloud infrastructure

Understanding the customer cloud structure

User management

License management

Group management

App registration

Office 365 Activity Logging

Learning about Power Platform technology

Understanding Power Platform environments

Microsoft Dataverse

Microsoft Dataverse for Teams

Capacity restrictions

Power Platform data connectors

Data Loss Prevention policies

On-Premises Data Gateway

Managed environments

Learning about Power BI’s structure

Understanding the Power Platform and Dynamics 365 clients

Learning about desktop clients

Browser client

Dynamics 365 App for Outlook

Unified Service Desk

Omnichannel for Dynamics 365 Customer Service

Robotic process automation with Power Automate Desktop flows

Understanding mobile clients

Learning about Power Platform administration and monitoring

Understanding Power Platform administration centers

Microsoft Azure portal

Microsoft 365 Admin Center

Power Platform Admin Center

Power BI admin portal

Understanding PowerShell administration and monitoring

Microsoft 365 administration

Power Platform administration

Power BI administration

PowerShell monitoring

Learning about API administration

Microsoft 365 administration

Power Platform administration

Power BI administration

Administration and monitoring using Power Automate

Administration using Azure DevOps

Learning about platform auditing

Office 365 Activity Logging

Dataverse auditing

Understanding application monitoring

Presenting architectural best practices

Introducing single tenants or multiple tenants

Development and testing environments

Unsupported integration topology

Understanding environment strategies

Default environment

Developer environment

Shared test and production environment

Dedicated environment

Complex testing

Multiple release strategy

Product upgrades

Other environment types

Environment regions

Administration and monitoring

Contoso Inc. Power Platform architecture

Tenant structure

Power Platform environments

Power Platform clients

User groups and licensing

Summary

Power Platform Customization and Development Tools and Techniques

Contoso Inc. empowering the project team

The citizen developer vs. IT pro developer paradigm

Introducing the citizen developer

The IT pro developer

Distinguishing between the citizen developer and the IT pro developer

Presenting configuration and customization tools

Microsoft Dataverse and model-driven app tools

Power Apps Maker Portal

Model-driven app designer

Introducing XrmToolBox

Power Apps Studio

Power Pages Studio

Power Automate Maker Portal

Power Virtual Agents designer

AI Builder

Dataflows designer

Power BI designer tools

Power BI Desktop

Power BI Builder

Power BI service

Microsoft AppSource

ISV Studio

Presenting custom development tools

Visual Studio

Visual Studio Code

Power Apps Command-Line Interface (CLI)

Power Platform extensions for Visual Studio

NuGet developer tools and assemblies

The code generation tool

The plug-in registration tool

XrmToolBox

Postman

CRMRestBuilder

Testing tools

Testing the user interface

Testing backend components

Using network traffic analyzers

Presenting application lifecycle management tools

NuGet developer tools and assemblies

The configuration migration tool

The package deployer tool

The solution packager tool

Azure DevOps

Contoso Inc. project team workplace setup

Enabling the core project team

Enabling citizen developers

Summary

Application Lifecycle Management

Contoso Inc. implementing application lifecycle management

Understanding application lifecycle management

Environment complexity

Power Platform solution complexity

ALM for the Power Platform

Introducing solutions management

Overview of solutions

Environment variables

Solution properties

Solution types

Unmanaged solution

Managed solution

Default solution

Common Data Services Default Solution

Managed properties

Forms, views, charts, and dashboards properties

Columns properties

Tables properties

Dependencies and solution segmentation

Solution layering

Layering behavior

Solution dependencies

Solution segmentation

Patching and updating solutions

Solution patch

Solution updates

Microsoft updates

Major Power Platform updates

First-party applications updates

Power Platform hotfixes

Introducing Azure DevOps for the Power Platform

Overview of Power Platform Build Tools

Helper and quality check tasks

Solution tasks

Environment tasks

Azure DevOps with Power Platform Build Tools

Committing a solution to the source control

Distributing solutions between development environments

Distributing solutions out of development

Pipeline versus Release

Introducing GitHub for the Power Platform

Application lifecycle management for Power BI

Environments in Power BI

Power BI components

Power BI ALM approach

Power BI deployment pipelines

Application lifecycle management for other solution components

Application lifecycle management best practices

Solution best practices

General practices

Unmanaged versus managed

Structuring solutions

Using segmentation

Using source control

Solution publishers’ best practices

Power BI best practices

Contoso Inc. ALM strategy

Establishing Azure DevOps

Using Power Platform solutions

Using Power BI ALM

Other ALM decisions

Summary

Section III: The Implementation

Implementation Approach and Methodologies

Contoso Inc. preparing the implementation project

Getting an overview of the implementation approach

Understanding customer enterprise architecture and environment

Data residency requirements

Authentication providers

Internet restrictions

Data protection requirements

Learning about project implementation methodologies and tools

Understanding programs and projects

Understanding project implementation methodologies

The waterfall model

The agile model

The iterative model

The combined model

Making a project effort estimation

Business requirements

Custom development

Infrastructure requirements

Integration

Data migration

Other efforts

Project management tools

Microsoft Project

Azure DevOps

Effort estimators

Creating project documentation

The project plan

The requirements document

The solution architecture document

The solution/technical design document

Other documents

Learning about project setup

Project types

Internal project

External project

Project roles and responsibilities

Central roles and responsibilities

Partner roles and responsibilities

Customer roles and responsibilities

Understanding project phases

The preparation phase

Identifying demand

Studying feasibility

Specifying the budget

Seeking approval

Issuing a Request for Information (RFI)

Issuing an RFP/RFQ/RFT

Discovery

Negotiations

Contract

The project execution phase

Project preparation

Project initiation

Initial analysis

Iterative execution

Final testing

Solution deployment

The operation phase

Support transition

Operation

Decommission

Contoso Inc. starting the implementation project

Bidding process

Project setup and methodology

Project plan, tools, and documentation

Project setup

Summary

Microsoft Power Platform Security

Contoso Inc. designing Power Platform solution security

Getting an overview of IT security

Authentication versus authorization

Microsoft cloud authentication and authorization fundamentals

Provisioning user identity

Assigning licenses

Granting authorization

Understanding authentication

Identity and authentication solutions for internal users

Cloud identity approach

Password hash synchronization approach

Pass-through authentication approach

Federation approach

Conclusion

Authentication features for internal users

Conditional access

ADFS claim rules

Multi-factor authentication

Single sign-on options

Cross-tenant inbound and outbound restrictions

Service authentication for internal users

Dataverse authentication

Power BI authentication

Authentication governance for internal users

Dataverse user accounts provisioning governance

Dataverse session governance

Azure Active Directory guest users

Authenticating external users

Understanding authorization

Authorization in Power Platform

Authorization in Dataverse and model-driven apps

Fundamentals of Dataverse authorization

Setting up basic authorization

Standard role-based security

Modernized Business Units

Group teams

Authorizing model-driven app access

Hierarchy security

Record sharing

Access teams

Column-level security

User interface security

Authorization in canvas apps

Authorization of apps

Authorization of connections

Authorization in Power Automate

Authorization of background flows

Authorization of interactive flows

Authorization of desktop flows

Authorization in Power BI

Authorization in Power Pages

Understanding compliance, privacy, and data protection

Presenting security best practices

Dataverse security roles

Modifying security roles

Layering of security roles

Dataverse content-based security

Using business units

Using table form switching

Using client-side scripting or business rules

Using server-side event handlers

Integrate security across solution components

Dataverse-SharePoint integrated security

Dataverse-Power BI integrated security

Using identity and access management automation

Establishing the Power Platform mature security model

Contoso Inc. security architecture

Active Directory integration

Data Loss Prevention policies

Dataverse

Other security decisions

Summary

Microsoft Power Platform Extensibility

Contoso Inc. – designing the Power Platform solution

Getting an overview of extensibility

Presenting Dataverse and model-driven app extensibility

Dataverse standard customization

Dataverse data modeling

Dataverse user interface design

Designing model-driven applications

Designing mobile apps

Dataverse automation

Dataverse business rules

Classic Dataverse workflows

Dataverse custom actions

Dataverse custom APIs

Dataverse business process flows

Dataverse client-side extensibility

Standard custom controls

Power Apps Component Framework

Web resources

Embedding canvas apps

Dataverse server-side extensibility

Dataverse API interface types

Plug-in event handlers

Custom workflow actions

Azure Service Bus integration

Azure Event Hub integration

Webhook integration

Building external applications

Unified Service Desk extensibility

Presenting Power Pages extensibility

Presenting Power Automate flows

Cloud flows

Desktop flows

Process advisor

Presenting canvas apps and Power Automate extensibility

Canvas apps and Power Automate customization

Power Fx

Building custom connectors

Presenting Power BI extensibility

Power Platform extensibility best practices

Dataverse client-side interface extensibility

Dataverse server-side extensibility

Dataverse API selection

Extensibility and automation options

Performance impact

Contoso Inc. Power Platform solution design

Model-driven apps

Automations

Client-side extensibility

Server-side extensibility and integrations

Other design decisions

Summary

Further reading

Microsoft Power Platform Integration

Contoso Inc. designing the Power Platform integration

Getting an overview of Power Platform integration

Integrating with Microsoft 365 and Microsoft Azure

Introducing implicit Dynamics 365 integrations

Integrations with Microsoft 365 services

Integrating with Exchange

Integrating with SharePoint

Integrating with OneDrive

Integrating with Microsoft Teams

Integrating with Microsoft OneNote

Integrating with Skype/Skype for Business

Integrations with Microsoft Azure services

Integrating with Azure Blob Storage

Integrating with Azure Data Lake/Synapse Analytics

Advanced integration scenarios with the Azure Synapse Link for Dataverse

Integrating with Azure Logic Apps

Integrating with Azure API Management

Frontend integration patterns and solution approaches

Embedding third-party content into Dataverse

Embedding Dataverse content into third-party containers

Event-driven and on-demand frontend integration

Using Unified Service Desk

Backend integration patterns and solution approaches

The remote procedure call pattern

The relay pattern

The publish-subscribe pattern

The request-callback pattern

Data integration

Virtual tables

Standard Azure data integrations

Integration between Dynamics 365 CRM and ERP

Custom backend integrations

Other Power Platform integrations

Power Virtual Agent and AI Builder

Power BI

Learning about Power Platform integration best practices

Frontend integration

Backend integration

Contoso Inc. Power Platform integration design

Integration with Microsoft 365 and Microsoft Azure

Frontend integration

Backend integration

Summary

Microsoft Power Platform Data Migration

Contoso Inc. planning the data migration

Getting an overview of data migration

Migration as part of integration

Migrating consolidated data

Advanced migration

Understanding the data migration tools and techniques

Entering data manually

Using Excel files

Using the Dataverse data import wizard

The Configuration Migration Tool

Dataflows with Power Query

SQL Server Integration Services

Extracting data

Transforming data

Loading data

Azure Data Factory

Data migration using code

Data migration challenges and best practices

Planning and effort estimation

Scoping the migration

Understanding the impact on storage

Compliance considerations

Understanding access issues

Coping with a lack of knowledge

Dealing with a lack of documentation

Poor-quality source data

Understanding encoding issues

Understanding record ownership issues

Understanding mapping issues

Understanding record relationship issues

Understanding business process flow issues

Understanding record status issues

Setting certain system fields

Migrating documents

Understanding the importance of the order of migration steps

Understanding migration automation

Understanding migration performance

Resolving API limits

Time for migration execution

Verifying the data by the customer

Contoso Inc. data migration design

Summary

Appendix

Best Practices for Solution Architecture

Architectural best practices

When to use multiple tenants

Separate development and testing environments

Unsupported integration topology

Environment strategies for an enterprise-scale project

The shared test and production environment strategy

The dedicated environments strategy

The complex testing strategy

The multiple release strategy

The product upgrades strategy

Environment regions

Administration and monitoring

Application lifecycle management best practices

Create a specific solution package

When to use unmanaged or managed solutions

When to use a single solution

When to use multiple solutions

Component sharing and component libraries

Using segmentation

Using source control

Use one single publisher for all solutions within a project

Power BI best practices

Security best practices

Dataverse security roles

Create new custom roles instead of modifying default roles

Layer security roles instead of configuring individual roles

Dataverse content-based security

Using a business unit hierarchy

Using table form switching

Using server-side event handlers

Integrate security across solution components

Dataverse-SharePoint integrated security

Dataverse-Power BI integrated security

How to use identity and access management automation

Establishing a Power Platform mature security model

Extensibility best practices

Optimizing the performance of client-side extensibility

Dataverse server-side extensibility

When to use which Dataverse API

Recapping extensibility and automation options

Avoid synchronous workflows and plug-ins

Integration best practices

Frontend integration

Backend integration

Data migration best practices

Don’t underestimate the project duration

Determine the scope of the migration

Understand the impact on storage

Compliance considerations

Start getting physical access to all required systems and solutions early

Expect a lack of knowledge about legacy IT systems

Include contractual responsibility for the quality of source data

Legacy IT systems might have encoding issues

Attempt to resolve record ownership issues in the data transformation phase

Understanding mapping issues

Exclude records with record relationship issues

Understanding business process flow issues

Understanding record status issues

Ascertain whether you need to set certain system fields

Migrating documents

Follow the order of migration steps

Understanding migration automation

Understanding migration performance

Request the lifting of API limits for large projects

Arrange time for the migration execution

The customer should verify the quality of all migrated data before the final migration

Other Books You May Enjoy

Index

Landmarks

Cover

Index

Download a free PDF copy of this book

Thanks for purchasing this book!

If you’d like to read on the go, or your eBook purchase is not compatible with your device, you can now get a DRM-free PDF version with any Packt book at no extra cost.

To do so, follow these simple steps:

Scan the QR code or visit the link below

https://packt.link/free-ebook/9781804612637

Submit your proof of purchaseThat’s it! We’ll send your free PDF and other benefits to your email directly

Share your thoughts

If this book is helping you improve your skills, we’d strongly suggest leaving a review on Amazon.com. This helps us know if you like our work and if the chapter content has been valued, and also helps the buyers on Amazon know if the book is right for them.

So, everyone else benefi ts from your review - we wouldn’t want you to miss out. You can now reach out to [email protected] with a screenshot of your review and the book URL, and we’ll send you a $5 voucher for your next Packt purchase. Thank you in advance for engaging with us, we are excited to see your review!

Learn more on Discord

To join the Discord community for this book – where you can share feedback, ask questions to the author, and learn about new releases – follow the QR code below:

https://packt.link/businesscenter

Section I

The Basics

This section will familiarize you with the basics of Microsoft Power Platform. After completing this part, you will have a full understanding of the structure and purpose of the Microsoft Power Platform and the Microsoft Dynamics 365 ecosystem, as well as the two other Microsoft cloud offerings – Microsoft 365 and Microsoft Azure – since a typical enterprise Power Platform solution is often successfully combined with the strengths and capabilities of these other two Microsoft cloud services.

This section comprises the following chapters:

Chapter 1, Microsoft Power Platform and Microsoft Dynamics 365 OverviewChapter 2, Microsoft 365 and Microsoft Azure Overview

1

Microsoft Power Platform and Microsoft Dynamics 365 Overview

The Microsoft Power Platform is a quickly growing collection of technologies, frameworks, solutions, and products. In this chapter, you will learn about the structure and modules of the Microsoft Power Platform to make qualified decisions about the components necessary for your business solution. This will give you a good understanding of all the components of the Power Platform and will enable you to draw a high-level overview of which components you will need to fulfill your business requirements.

In this chapter, we’re going to cover the following main topics:

Introducing Contoso Inc.Microsoft Power PlatformMicrosoft Dynamics 365 CRM applicationsMicrosoft Dynamics 365 ERP applicationsMicrosoft Dynamics 365 AI, AR, and other modulesMicrosoft Power Platform licensing overviewA practical example

First, we will introduce “Contoso Inc.,” an example company that we will revisit many times.

Introducing Contoso Inc.

Contoso Inc. is a fictitious global manufacturing and retail company with headquarters in Seattle, Washington, and a number of regional subsidiaries on all continents. Contoso Inc. works in the industry of manufacturing and implementing large machines and factories as well as producing consumer electronic goods. Furthermore, Contoso Inc. operates a chain of retail stores around the globe together with an e-commerce sales channel.

This fictitious company will serve as an example Power Platform customer to present the practical implementation of the concepts presented in this book. In this chapter, Contoso Inc. will familiarize itself with the Power Platform and Dynamics 365 to decide what components will suit their business requirements.

Introducing Microsoft Power Platform

In this section, you will learn the structure of the Microsoft Power Platform to understand the background technology on which Power Apps as well as all Microsoft Dynamics 365 applications run.

Microsoft made a big shift when it introduced the Power Platform. For seasoned Microsoft Dynamics CRM and, later, Dynamics 365 CE experts, the Dynamics product is no longer the centerpiece of this product line but rather a first-party app running on the Power Platform. The change can be illustrated in two diagrams. The first diagram shows the Microsoft Dynamics 365 high-level architecture before the Power Platform was introduced (not all applications are included for brevity):

Figure 1.1: Microsoft Dynamics 365 before the Power Platform

The second diagram presents the dramatic increase in the complexity and number of various new products and technologies that are part of the Power Platform today (not all applications are included for brevity):

Figure 1.2: Microsoft Power Platform

As you can see in the above diagram, the introduction of the Power Platform has added a complex composition of various services and components. Let’s summarize the most important:

Microsoft DataversePower AppsModel-driven apps and canvas appsPower AutomatePower Virtual AgentsPower BIPower PagesAI BuilderData connectorsOn-Premises Data Gateway

This new Microsoft Power Platform philosophy suggests that a potential user of a Microsoft-based business solution will need to undertake more evaluations and decision-making to find the best solution for their business requirements. Some example evaluations are as follows:

Will my workload be better covered by some of the Microsoft Dynamics 365 applications, or should I develop my own Power Apps application?Do I need mobile applications at all, and if so, can I use the standard Microsoft Dynamics 365 app, or do I need to develop my own apps using the canvas apps technology?Do I need to build automation for my business application using any costly legacy integration platform or another Microsoft/third-party integration solution, or can I use Microsoft Power Automate?Can I use some of the large number of public connectors for canvas apps and Power Automate or do I need to develop my own custom connector?What are the most effective licensing options to cover my business requirements?

In the following sections and chapters, you will learn what Microsoft Dataverse is and what the new role of the Microsoft Dynamics 365 apps is in the Power Platform. We will also explore how you can build mobile apps for an internal audience easily and with no code, as well as look at cross-platform automation and what the licensing options are for the various Power Platform components.

Introducing the Common Data Model and Microsoft Dataverse

There are two very important concepts introduced by Microsoft as part of the Power Platform, which move toward a standardized data model for business applications as well as provide a technical implementation of this model for practical use when building applications. The two concepts are the Common Data Model (CDM) and Microsoft Dataverse, and it is important to understand what these two concepts are and what the difference between them is.

Introducing the Common Data Model

The CDM is a standardized data model consisting of a metadata system and data schemas. The CDM was developed with the goal of providing a common platform facilitating data integration and application development. It was also presented by Microsoft together with Adobe and SAP as part of the Open Data Initiative (ODI). The expectation is that the ODI will welcome more partners and that all contributing parties will work on extending and further standardizing the CDM.

The CDM consists of a set of core tables, which are not directly related to any particular workload, together with a lot of additional tables grouped into typical workloads such as sales, service, and healthcare. An additional CDM extensibility option is the growing set of Microsoft industry accelerators. Currently, there are accelerators for banking, healthcare, education, non-profit, automotive, media, and more.

Introducing Microsoft Dataverse

Microsoft Dataverse can be understood as an implementation of the CDM for the purpose of hosting data for Power Platform applications. But Microsoft Dataverse is much more than just a database. It consists of the following main components:

Tables with the underlying structure of columnsRelationships between tablesUser interface elements used in model-driven apps (views, forms, charts, and dashboards)Global (table-independent) choices, which can be repeatedly used in several tablesAutomations (business rules, business process flows, and workflows)Security concept elements (for example, business units, security roles, and column security profiles)Custom development capabilities (API, server-side, and client-side extensibility models)

Microsoft Dataverse is the foundation for building model-driven apps. The approach is to first configure the whole Microsoft Dataverse data model, create all elements, and then configure a model-driven app using the necessary subset of Microsoft Dataverse elements. Depending on the purchased licenses, Microsoft Dataverse is extended either by a Microsoft first-party application from the Microsoft Dynamics 365 family of products, any third-party partner applications, or within a user’s own configuration capacity.

Introducing model-driven apps

Model-driven apps are one of the two interactive end user application types that can be developed in the Power Platform. Historically, model-driven apps were the Microsoft Dynamics 365 applications themselves. The philosophy of model-driven apps has, however, changed compared to Microsoft Dynamics 365 and is based on the following capabilities:

A model-driven app can be either a first-party application (any of the Microsoft Dynamics 365 apps), a third-party ISV application purchased from a partner or on AppSource, or a self-developed application.A model-driven app is based on Microsoft Dataverse.There can be only one Microsoft Dataverse database in a single environment but multiple model-driven apps of any of the mentioned types.All model-driven apps share the same data or subsets of data in Microsoft Dataverse.Model-driven apps run primarily on a PC in a browser, but can also be used on mobile devices within platform-specific mobile apps.

You will learn details of the Power Platform environment in Chapter 3, Understanding theMicrosoft Power Platform Architecture.

A model-driven app is technically a very simple unit, consisting of only two components:

A model-driven app, specified with a few parameters, for example, name and URLA model-driven app navigation pane called the site map

An example of the model-driven app user interface is shown in the following screenshot:

Figure 1.3: Example model-driven app

Here we can see the site map navigation pane on the left side of the screen, with the app itself in the center.

All other components of a model-driven app are stored within the Microsoft Dataverse environment and should exist prior to creating a model-driven app. The end-to-end process of creating a model-driven app can be divided into the following steps:

Provision a Power Platform environment with the Microsoft Dataverse.Create the data model (tables with columns and relationships).Create the user interface (views, forms, charts, and dashboards).Create the automations (business rules, business process flows, and workflows).Create a new model-driven app.Create a site map.Select components for the model-driven app.Save, validate, publish, and play.

Introducing canvas apps

Canvas apps are a younger member of the Power Platform family and are primarily intended to be used on mobile devices rather than on PCs. Historically, canvas apps evolved from the Microsoft Siena project of 2014. The philosophy and capabilities of canvas apps are very different from model-driven apps:

Canvas apps can be created in a Power Platform environment without Microsoft Dataverse.Canvas apps are designed very much like apps for mobile devices, focusing on the user interface.The business logic in canvas apps is implemented using an Excel-like expressions language called Power Fx.Canvas apps can be connected to various data sources using connectors, as described in the information box below. Right now, there are more than 600 publicly available connectors, and you can easily develop your own custom connector if no public connector is suitable for the required technology.Canvas apps can run on a mobile device within the Power Apps mobile app. They can run on a PC in a browser or can be embedded in websites, SharePoint sites, Power BI, Teams, or even model-driven apps.

Introducing data connectors

Data connectors in Power Platform are used to support the low-code/no-code character of the Power Platform when connecting to various IT systems and solutions. Instead of developing complex interface connections, the citizen developer can just select the right connector, configure the settings, and start communicating with the systems.

An example of the canvas app user interface is shown in the following screenshot:

Figure 1.4: Example canvas app

Here we can see an interface that would be logical to use on desktop or mobile. Within the Power Apps environment, you would be able to select different areas of the screen and modify their shape, size, and color, as well as select buttons and develop expressions related to them that affect how users interact with the app.

For an accelerated adoption of canvas apps, Microsoft offers a wide variety of canvas app templates within the canvas apps designer tool.

The end-to-end process of creating a canvas app can be divided into the following steps:

Provision a Power Apps environment with or without Microsoft Dataverse.Create a canvas app.Connect to data sources using connectors.Create the user interface (screens with controls like galleries, forms, and many other controls).Create the business logic using the expression language Power Fx.Save, validate, play, and share.

Introducing Power Automate

Power Automate (previously Flow) is the automation engine within Microsoft Power Platform. The purpose of Power Automate is to build automation flows across a wide variety of systems and technologies in a low-code style using a very intuitive graphical user interface. The underlying technology of Power Automate is Microsoft Azure Logic Apps and the use of connectors, as well as the graphical design of flows, are very similar. A Power Automate flow generally consists of a trigger and business logic, which in turn consists of flow control elements (conditions, switches, and loops) and actions, implemented mainly using connectors, most likely as in canvas apps. The following types of flows are available:

Automated flows: These are triggered in the background by an event trigger usually coming from a connector.Button flows: These are triggered manually by a button and can take manual data input. These flows can run on PCs and mobile devices within a specific Power Automate mobile app.Scheduled flows: These are triggered in the background by a timer or scheduler trigger.Desktop flows: These are used for recording and automating manual steps on various legacy software.

For an accelerated adoption of Power Automate, Microsoft offers a wide variety of Power Automate templates within the flow designer tool.

The end-to-end process of creating a Power Automate flow can be divided into the following steps:

Provision a Power Apps environment with or without Microsoft Dataverse.Create a Power Automate flow.Define the trigger type and trigger parameters.Create the business logic using the graphical designer, and configure the actions appropriately.Save, validate, test, and share.

Introducing Power Virtual Agents

Power Virtual Agents is the latest member of the Microsoft Power Platform product family. The purpose of the Power Virtual Agents technology is to enable the creation of chatbots using a graphical interface and no-code approach, and so open the world of chatbots to everyday business users without specific programming skills. The following are the capabilities of Power Virtual Agents:

The chatbots are developed in a graphical designer without any coding requirements.The designer defines conversational topics, business logic, and actions for the conversation. The actions can be implemented using Power Automate.The chatbot can be integrated with a variety of environments, including websites, mobile apps, Teams, Skype, and Cortana, as well as various non-Microsoft systems, such as Facebook, Slack, Telegram, and Twilio.

The end-to-end process of creating a Power Virtual Agents chatbot can be divided into the following steps:

Create a Power Virtual Agent bot.Create topics.Create the conversational logic using questions, messages, and actions.Specify the end of the conversation by either a survey or transfer to an agent.Save, validate, and test.Publish the bot into a required channel.

Introducing Power BI

Power BI is a collection of a data platform, cloud services, applications for PC and mobile devices, and connectors working together to provide an analytical and reporting solution. From a consumer point of view, Power BI provides Power BI apps, which consist of reports and dashboards. This content can be consumed in a browser on PCs as well as on Power BI mobile apps.

For designers and developers, Power BI offers the following capabilities:

The Power BI cloud service, where the published content runsDesigner and developer tools to prepare the content, such as Power BI Desktop and Power BI Report BuilderTools for advanced topics such as creating custom visuals or using the Power BI API

Key concepts of Power BI for Microsoft Power Platform solutions are as follows:

Power BI reports and dashboards can use data from Microsoft Dataverse alone as well as combined with data from various other sources.Power BI reports and dashboards can be embedded in model-driven apps as well as canvas apps and Power Pages portals.Canvas apps can be embedded in Power BI reports and dashboards.

Introducing On-Premises Data Gateway

On-Premises Data Gateway is a specific software solution enabling the use of on-premises data sources within various cloud services, such as Power Apps, Power Automate, and Power BI, as well as some Microsoft Azure services. On-Premises Data Gateway needs to be installed on a local infrastructure and configured to expose the required on-premises data sources to the cloud. The benefit of this solution is that there is no inbound connection from the cloud to the user’s own data center; the connection is always established outbound.

Introducing AI Builder

AI Builder is one of the latest members of the Microsoft Power Platform product family. The purpose of AI Builder’s technology is to enable the creation of AI components using a graphical interface and a no-code approach, opening the world of AI to everyday business users without specific scientific and programming skills. Here are the characteristics of AI Builder:

AI solutions are developed in a graphical designer without any AI or programming requirements.The user selects one of the ready-made AI models the platform offers, provides data for training the model, trains the model, and publishes the solution.The AI solution can be used from Power Automate flows as well as from model-driven apps or canvas apps to infuse AI-processed content into an automation or application.

AI Builder provides AI models like document processing, invoice processing, and receipt processing for the automated extraction of text blocks from documents stored as image files. Further, there are multiple models for processing text blocks, including sentiment analysis, text translation, and language detection.

Introducing Power Pages

Power Pages recently evolved from Power Apps portals, which in turn historically evolved from Microsoft Dynamics 365 portals. The purpose of Power Pages is to provide external-facing websites connected with Microsoft Dataverse data for users outside of their own organization.

An example of the Power Pages app user interface is shown in the following screenshot:

Figure 1.5: Example Power Pages app

Portals made using Power Pages are the only Microsoft Power Platform technology that are really open to public and even anonymous access. Power Pages portals have the following capabilities:

The portals run on Microsoft Azure services, but the content of the portals is completely configured within model-driven apps.Power Pages portals expose selected data from Microsoft Dataverse to anonymous or registered and authenticated users.Power Pages portals offer a wide variety of authentication possibilities for external visitors.

Introducing Microsoft Dynamics 365 CRM applications

Microsoft Dynamics 365 CRM technology was historically the foundation for Microsoft Dataverse, but in the current concept, Microsoft Dataverse is the foundation and the Microsoft Dynamics 365 CRM applications are called first-party Power Apps. Each of the applications, when provisioned, extends the Microsoft Dataverse database with the workload-specific data model and provides one or more model-driven apps for managing the respective workload. The applications cover the typical CRM workloads of sales, marketing, and customer, field, and project services. The Microsoft Dynamics 365 CRM applications are available also as an on-premises deployment, except for Marketing and Project Operations. In this section, you will learn the capabilities of all five main Dynamics 365 CRM applications.

Microsoft Dynamics 365 Sales

The Microsoft Dynamics 365 Sales app (also called Sales Hub) has the following capabilities:

Customer managementLead and opportunity managementQuote and order managementProduct catalog and sales literatureCompetitor managementGoal managementPlaybooksSales InsightsSurveysReporting and analytics

Microsoft Dynamics 365 Marketing

The Microsoft Dynamics 365 Marketing app has the following capabilities:

Customer journeysMarketing contentSegmentsMarketing emailsMarketing formsMarketing pagesLead managementInternet marketingSocial media marketingEvent managementSurveysReporting and analytics

Microsoft Dynamics 365 Customer Service

The Microsoft Dynamics 365 Customer Service app (also called Customer Service Hub) has the following capabilities:

Case managementQueuesEntitlementsService-level agreementsKnowledge managementSurveysMulti-session capabilityOmnichannel capabilityReporting and analytics

Microsoft Dynamics 365 Field Service

The Microsoft Dynamics 365 Field Service app has the following capabilities:

Work order managementResource managementUniversal resource schedulingAgreementsInventory managementAsset managementField service mobileConnected Field Service for IoT integrationSurveysReporting and analytics

The Dynamics 365 Connected Field Service ad-on extends the capabilities of the solution with IoT-enabled devices for proactive and remote maintenance.

Microsoft Dynamics 365 Project Operations

The Microsoft Dynamics 365 Project Operations app has the following capabilities:

Project-based opportunity managementProject managementResource managementProject service schedulingProject time and expense trackingProject billingReporting and analytics

Introducing Microsoft Dynamics 365 ERP applications

Although the Microsoft Dynamics 365 ERP applications are not in the scope of this book, it is important to have a basic understanding of the capabilities of these modules to make informed decisions when designing a future business solution. The Microsoft Dynamics 365 ERP applications are not based on the Microsoft Dataverse platform and are not considered model-driven applications. Some of the applications are also available as an on-premises deployment. In this section, you will learn the capabilities of all five main Dynamics 365 ERP applications.

Microsoft Dynamics 365 Finance

The Microsoft Dynamics 365 Finance app is dedicated to midsize to large multinational customers and has the following capabilities:

General ledgerAccounts receivableAccounts payableBudget and forecastingProject accountingInvoicing and billingFixed assetsCash and bank managementExpensesCredits and collectionsReporting and analyticsCompliance management

Microsoft Dynamics 365 Supply Chain Management

The Microsoft Dynamics 365 Supply Chain Management app is dedicated to midsize to large multinational customers and has the following capabilities:

Product managementMaster planningSales order managementProcurement and sourcingAsset managementWarehouse managementTransportation managementService managementManufacturingReporting and analytics

Microsoft Dynamics 365 Commerce

The Microsoft Dynamics 365 Commerce app is dedicated to midsize to large multinational customers operating in the retail business and has the following capabilities:

Unified commerceModern POSMerchandise managementInventoryCustomer loyaltyChannel managemente-CommerceReporting and analytics

Microsoft Dynamics 365 Human Resources

The Microsoft Dynamics 365 Human Resources app has the following capabilities:

Organizational managementEmployee and manager self-serviceEmployee performance and developmentGoals, skills, training, and certificationsCompensation and benefitsLeave and absenceReporting and analytics

Microsoft Dynamics 365 Business Central

The Microsoft Dynamics 365 Business Central app is dedicated to small to midsize local customers with no complex structures and business requirements and has the following capabilities:

Financial managementSupply chain managementSales and service managementProject managementOperations managementReporting and analytics

Introducing Microsoft Dynamics 365 AI, MR, and other modules

For a long time, Microsoft has been heavily investing in bringing advanced capabilities into the business solutions product line by leveraging modern technologies such as artificial intelligence and mixed reality. The result is a large and always-growing number of Dynamics 365 addons and separate applications extending the business solution modules with analytical and insight capabilities as well as unique capabilities provided by the HoloLens hardware.

Microsoft Dynamics 365 Customer Insights

Microsoft Dynamics 365 Customer Insights is a customer data platform (CDP) solution intended to bring a comprehensive 360° view of the customer by combining master data with transactional, observational, and behavioral data from various data sources using connectors. Microsoft Dynamics 365 Customer Insights has the following capabilities:

Data source configurationData unification (mapping, matching, and merging)Data enrichmentCustomer card – providing a 360° view of the customer’s data with aggregated information from multiple sourcesCustomer segmentation – creating segments for Microsoft Dynamics 365 MarketingKPI measuresIntelligence and predictionsConnections to Power Apps, Power Automate, and Power BI

Microsoft Dynamics 365 Sales Insights

Microsoft Dynamics 365 Sales Insights is a set of AI-driven capabilities for Dynamics 365 Sales, from which some are included in the Sales app for free, while others are based on additional licenses:

Figure 1.6: Dynamics 365 Sales Insights capabilities

The capabilities significantly improve the productivity of sales staff, providing automated guidance, notifications, reminders, conversation starters, suggestions for taking action, and advanced sales analytics dashboards and overviews.

Microsoft Dynamics 365 Connected Spaces

Microsoft Dynamics 365 Connected Spaces is an IoT- and AI-based solution for analyzing and improving store operations by collecting information from video cameras and IoT-enabled devices to understand customer behavior and situations that need attention. The solution analyzes the signals and situations and creates notifications and alerts.

Microsoft Dynamics 365 Fraud Protection

Microsoft Dynamics 365 Fraud Protection is an add-on for the Dynamics 365 Commerce solution to provide payment fraud protection and protection of other business scenarios when using e-commerce. The solution analyzes customer identities, e-commerce transactions, payments, and other activities and, with the support of AI, identifies risks and recommends actions.

Microsoft Dynamics 365 Remote Assist

Microsoft Dynamics 365 Remote Assist is a mixed-reality solution used to improve the efficiency of on-site maintenance and repair work, where an on-site service technician equipped with the HoloLens device can benefit from the support and guidance of remote experts. The solution is used as an extension of the Microsoft Dynamics 365 Field Service app. There is also a mobile version of this solution, using a mobile app for iOS or Android instead of HoloLens.

Microsoft Dynamics 365 Guides

Microsoft Dynamics 365 Guides is a mixed-reality solution used to improve the efficiency of learning on the job for employees new to a particular job role or providing complex procedures. The employee can use the HoloLens device, where holographic work instructions including text, images, videos, or 3D models are presented to them and guide their work.

Microsoft Dynamics 365 Product Visualize

Microsoft Dynamics 365 Product Visualize is a mixed-reality solution used in the sales process for presenting, discussing, and configuring complex products in front of customers to accelerate and simplify the sales process. The solution can be used on ARKit-compatible mobile devices using the iOS operating system. The solution is directly integrated with Microsoft Dynamics 365 Sales and Microsoft SharePoint.

Microsoft Dynamics 365 Unified Service Desk

Microsoft Dynamics 365 Unified Service Desk is a framework for building call-center applications, integrating Microsoft Dataverse applications with existing legacy and third-party applications of various types (web, desktop, Java, and mainframe), and offering frontend automation workflows, session management, and telephony integration to build an integrated agent desktop solution. The solution consists of an installable desktop application and configuration and settings capabilities within the Microsoft Dynamics 365 Customer Service app.

Microsoft Power Platform licensing overview

The purpose of this section is to provide a brief overview of the licensing possibilities of the Microsoft Power Platform components including high-level price tags. Licensing details, which are very complex and change frequently, can be found in the various licensing guides Microsoft regularly publishes:

Trials: For almost all Microsoft Power Platform components, there is a possibility to provision a free trial, usually limited to 30 days.Power Apps Developer Plan: Specific free-of-charge but permanent license for learning and individual development. Cannot be used for production purposes and is limited to a single user.Power Apps/Power Automate for Office 365: These licenses allow building apps and flows using the standard data connectors only, based on the Office 365 services.Power Apps/Power Automate for Dynamics 365: These licenses are included in most Dynamics 365 licenses and allow the creation of apps or flows using the Dynamics 365 data model only.