Microsoft - Low Code No Code Manual - Original
Microsoft - Low Code No Code Manual - Original
MANNING
For online information and ordering of this and other Manning books, please visit
www.manning.com. The publisher offers discounts on this book when ordered in quantity.
For more information, please contact
Special Sales Department
Manning Publications Co.
20 Baldwin Road
PO Box 761
Shelter Island, NY 11964
Email: [email protected]
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in the book, and Manning
Publications was aware of a trademark claim, the designations have been printed in initial caps
or all caps.
Recognizing the importance of preserving what has been written, it is Manning’s policy to have
the books we publish printed on acid-free paper, and we exert our best efforts to that end.
Recognizing also our responsibility to conserve the resources of our planet, Manning books are
printed on paper that is at least 15 percent recycled and processed without the use of elemental
chlorine.
ISBN 9781617299803
Printed in the United States of America
startHere(Azure);
● $200 credit
● Free training
Figure 1 Web page with many dynamic features (Manning Press web site)
Low-code application development with Microsoft Power Apps and Azure 2
multiple third parties, including libraries of prebuilt components, some of which can
be quite complex.
As you get below the surface, the page is also connecting to a server and communi-
cating with a database, each of which needs to be designed, written, and maintained.
Finally, everything is connected with code written in JavaScript or another web pro-
gramming language.
Low-code tools
Low-code tools start with the idea that common components, boilerplate code, and
predictable application behaviors can be captured as prebuilt components and auto-
mated processes. The initial setup consists of choosing existing components and
actions from menus and composing them to create the app. Then you can concen-
trate on adding the custom features that make your app unique.
Applications composed of standalone services that share data or have a common
workflow are commonly called service-oriented applications, ranging from simple web
applications like the ones mentioned earlier to large, enterprise-scale applications.
Extending the idea of low-code tools to a cloud platform such as Microsoft Azure gives
the user access to a vast array of prebuilt services that can be integrated into your
application. This integration is the power behind Microsoft Power Apps.
Power Apps adds a visual interface (figure 2) to make it trivial to plug an impressive
array of services into an application, including services for data analysis; artificial intel-
ligence (AI); augmented, virtual, and mixed reality (AR/VR/MR); chatbots; popular
relational and nonrelational databases; and enterprise resource planning (ERP) plat-
forms. These tools are equally valuable to programmers and nonprogrammers such as
business intelligence (BI) users.
Finally, most developers are on the hook for a lot more than creating an applica-
tion. The modern development process includes testing and continuous integration,
version control, issue tracking, creating input and output to devices, embedding the
app in other environments (such as Power BI), and supporting multiple distribution
channels (such as the web, mobile devices, and social media).
Because Power Apps is designed both for nonprogrammers who may be working
alone—known as citizen developers—and for professional software engineers who are
part of larger teams, it can support all these activities.
To summarize, today’s programming environment involves
Power Apps reflects those priorities, offering integration through RESTful inter-
faces with
– Power BI
– Microsoft Teams and Microsoft Office 360
– Power Automation and Microsoft Flows
This report describes how programmers can use Power Apps to incorporate richly
featured tools into their applications and bring the applications to users in many ways.
We’ll look at some of the intriguing tools that tie Power Apps to its environment and
end with a couple of examples that show how Power Apps can allow applications to
grow over time.
Single sign-on gives users instant access to the services you’ve incorporated into your
application.
As previously mentioned, Power Apps provides a low-code environment as a graph-
ical interface. Typically, you drag a component on the screen where you want it. You
can drag in a web canvas element that provides the service to the web page displayed
by your app, for example. A low-code approach can speed up all kinds of applications,
but particularly quick apps designed for a small group of users (such as internal com-
pany apps) in which performance is not a critical concern. Many opportunities exist
for such applications, but they often aren’t produced in the absence of a platform like
Microsoft Power Platform, which makes them simple and low-cost.
Although the graphical interface is appropriate for a low-code environment, Power
Apps also lets you build apps through a command-line interface (CLI). This CLI lets
you do such things as install Power Apps components (plugins), store (push) compo-
nents, and make backups of your application development environment (figure 3).
The CLI enables scripting, so you can define robust, standard processes such as mak-
ing sure that every application has the right authorization policies. You can also per-
form administrative tasks by using PowerShell (figure 4).
The remaining tasks that get your function working with the service indicate how to
exchange data. RESTful APIs carry out this integration. The RESTful aspect of the inter-
face allows you to write in the language of your choice and insert calls to all the services
you want in a consistent manner that will soon become familiar. Data is passed between
your function and the services by means of common RESTful techniques: function
parameters and human-readable JSON data structures. Power Apps also uses the stan-
dard JSON format for configuration, in a type of file commonly known as a manifest. The
manifest provides the endpoints and related information that the function needs to
communicate with the service.
Azure API Management (APIM) makes applications discoverable to other Azure
users through a catalog. When you are ready to share your application, you can put it
in this catalog by exporting it to the API Management system (figure 5). APIM can list
both applications stored in Azure and those stored on-premises.
Low-code application development with Microsoft Power Apps and Azure 7
Databases
Most applications query and update databases. Power Apps makes it easy to perform
these functions on popular relational and nonrelational databases. But a Power Apps
function can also be used within a database to provide functions that you code in the
language of your choice, substituting for database-specific languages such as PL/SQL
in Oracle or Transact SQL in Microsoft SQL Server.
When you drag and drop a database in your Azure account into your application,
Power Apps gives you a form where you can enter the connection information, such as
server and username. After establishing a connection, Power Apps allows you to
choose a table and creates a simple visual interface to all the fields. You can choose
which ones to query or update by clicking them.
You can also use functions within a database by means of triggers. Database admin-
istrators can program all kinds of sophisticated operations. Here are a few examples:
¡ Each time text is inserted into a character field, it could be passed to an AI pro-
gram to determine what language it is and then translated into another language.
Low-code application development with Microsoft Power Apps and Azure 8
¡ Queries can be passed to a program that looks at who is making the query and
run security checks that might not be available within the database.
¡ Sophisticated logging can be done on selected types of queries.
Active Directory
Directories such as LDAP and Active Directory (AD) are like telephone switchboards
for businesses, allowing you to find employees or customers and control their access
to different corporate functions. The Conditional Access Policies in AD allow an
administrator to control access to an application by a user, a device, a location, and
so on.
Power Apps lets you use the APIs for AD, which you can locate either on-premises or
in Azure, to employ its search and security features. Suppose that you want to retrieve
the user credentials for a user of Microsoft 365. You could connect Power Apps to the
AD containing that user’s record and retrieve information such as their email address,
username, and anything else that the AD stores. By performing these tasks through
Power Apps, you avoid a lot of tedious routing, authentication, and the like.
¡ Consult the ERP for office locations and find the one closest to a remote
employee through geolocation
¡ Run analytics on sales to determine the rise or fall in the popularity of products
and compare this behavior with the behavior of factories, tracked by the ERP
Artificial intelligence
Over the past decade, machine learning has solved perplexing tasks such as speech
recognition and face identification. Azure has integrated many business uses for AI
into turnkey components (figure 6). Although these powerful functions must be vet-
ted carefully for accuracy, lack of bias, and respect for privacy, they are creating a bet-
ter world that gives people new capabilities. Voice interfaces, for example, are a boon
to everyone from a busy parent holding a baby to a vision-impaired person to anyone
who is too busy to figure out a graphical interface.
Feature-rich AI services can be loaded from Azure into Power Apps through a visual
interface (figure 7).
AI services available to Power Apps include
Figure 6 Numerous AI tools of use to businesses are available to Power Apps on a turnkey basis
Figure 7 A pull-down menu allows you to choose AI components and load them into your application.
long documents. Used well, NLP makes drop-down menus look old and tired.
A user can type or speak their request and be taken directly to the web page or
function they need.
¡ Chatbots—Chatbots build on NLP to guide a user through questions and answers
to what the user needs. Chatbots are being widely employed to save the cost of
employing support staff to talk to a client and find out what the client is seek-
ing. Power Apps makes it easy to incorporate a chatbot, along with an API for
providing the hierarchical flow of questions and answers that drive the chatbot.
Power Virtual Agents, which are part of the Power Platform along with Power
Apps, create sophisticated chatbots quickly. A sample chatbot is shown in fig-
ure 8, along with the visual interface in which the designer provides chatbot
Low-code application development with Microsoft Power Apps and Azure 10
Figure 9 How Mixed Reality can provide enhanced information to the user about their environment
Figure 10 You can choose which fields to extract from a scanned form
Low-code application development with Microsoft Power Apps and Azure 12
GitHub to take in a workflow definition file. There are a couple dozen events, such
as pushing a new version of code into the repository or building a release, where you
can automatically trigger workflows.
Integration goes even further than the development and test stages. Through
GitHub Actions or Azure DevOps, you can automate workflows and specify events that
trigger a workflow. GitHub and Azure DevOps perform many of the same tasks, but
developers are encouraged to use GitHub Actions because they offer richer
possibilities.
Modern development processes recognize programming as a team effort—one
that is often carried out by people collaborating around the world. Therefore, inte-
gration with GitHub is essential to the Power Apps vision of rapidly incorporating
many tools and features into applications.
DevOps
As software became more complex, many companies assumed that their products
required a slow, heavyweight development process and clear separation of respon-
sibilities within organizations. Large projects suffered from teams that operated in
silos with poor communication and competing priorities. The result was slower devel-
opment and stifled innovation.
The DevOps movement automates testing and deployment, providing a more con-
sistent and secure development environment and potentially lowering the technical
bar for participation in the process. Many organizations see that the rapid iteration
and rollout of promised features make DevOps a good approach for at least some of
their software. Further, DevOps encourages cross-functional communication and less-
strict definition of operating boundaries. Developers may take on tasks that were once
reserved for infrastructure engineers, for example, and business managers may par-
ticipate in software-team decisions.
As an interesting consequence of its success (the term having been invented a little
more than a decade ago), DevOps has become so popular that the word is starting to
lose its precise meaning. Whatever you call it, however, the Power Platform, of which
Power Apps is a part, offers teams the tools they need to automate and manage their
application life cycles.
¡ You can control access at the level of the application, the flow, the user, and so
on.
¡ In a cloud environment, where you serve many companies or divisions of your
own company, you can configure firewall policies for each tenant, such as to con-
trol inbound or outbound connections (figure 12).
¡ You can cut off nonbusiness connectors—the kinds of popular sites that people
use for fun or for personal projects.
Widespread deployment
Originally, programs were distributed as standalone tools; then the Internet made
them easier to use by allowing companies to deliver them through a browser
Figure 12 Configuring isolation rules for different tenants sharing a private cloud
Low-code application development with Microsoft Power Apps and Azure 15
(Software as a Service). But these types of programs are no longer sufficient to reach
all the users you need to reach. In fact, the promise of Power Apps to allow massive
integration extends to the environments in which you can embed your functions.
In this section, we’ll examine the following channels to reach users:
¡ Websites
¡ Mobile apps
¡ Power BI
¡ Power Automation and Microsoft Flows
¡ Microsoft Teams and Microsoft Office 360
Websites
Suppose that you’re working for a college and have developed an application that
displays a map, customizing it based on what you know about the user. For a chemis-
try major, for example, you highlight on the map all the buildings that are relevant to
that discipline. Now you want people to use this app.
In addition to building your own web application, you may want many other web-
sites run by the university—or even by the surrounding city and other institutions—to
show your maps. You can do this by creating an HTML canvas element, an amazingly
powerful feature that is thoroughly standard and robust. Azure exposes your function
as a canvas that any website with the proper permissions can embed. Websites that dis-
play Power Apps functions are responsive by design (figure 13).
One simple, low-code way to create a website uses Power Apps portals. These portals
are based on Power Fx, a descriptive language that lets you create a website and inte-
grate it with a database by specifying a few parameters. For example, Ernst & Young
used a Power Apps portal to create an application that helped banks distribute funds
from the U.S. Paycheck Protection Program quickly in response to the hardships
caused by the COVID-19 pandemic.
Mobile apps
Many applications are mobile-first, prioritizing the experience that a user has on a cell-
phone or tablet. Power Apps provides tools that help you rapidly build mobile-friendly
versions of your software. You can quickly generate iOS and Android apps from your
functions. Windows devices use the canvas element described in the Websites section.
Power BI
Nonprogramming knowledge workers are accustomed to using BI tools to investigate
organizational data through charts and reports. You can provide functions to Mic-
rosoft’s Power BI to greatly expand the analytics that it offers users. After a Power BI
user selects your function from a menu, Power BI displays a table with the data fields
output by the function; then the user can select what they want to see. The result: cus-
tomizable integration of your function into Power BI without the need for the user to
do any programming. Schlumberger used Power Apps to create a wellness app for its
Low-code application development with Microsoft Power Apps and Azure 16
Figure 13 Responsive web sites are a built-in features of Power Apps
employees and then integrated the app with Power BI so that it could track the use of
the app and determine whether it was having a effect.
Sample scenarios
Previous sections of this report introduced various applications and services, suggest-
ing how each one could enhance an application. Now we’ll walk through some proj-
ects that start small and add more functionality to meet the growing needs of the
organizations. We’ll also see how Power Apps can promote rapid development.
Conclusion
Programmers are increasingly willing to get help with programming. Just as they
rarely write assembly code, having long ago adopted advanced modern languages,
programmers are turning from plain text editors and command-line tools to IDEs
because the advantages of such tools are too impressive to ignore.
Some programmers, out of pride, want to do all their own coding. Although they
recognize the necessity of bringing in libraries and modules from third parties, they
may feel that it is a sign of immaturity to use low-code tools and pick functions from a
GUI. But luckily, the sign of a professional programmer is no longer coding virtuosity.
You don’t show your expertise by proving that you can write functions to process dou-
ble-linked lists from scratch. Instead, the modern programmer is valued for high-
er-level skills, such as
An environment such as Power Apps, in the context of the Azure platform, takes on
the low-level tasks and frees you to exercise these high-level skills. You can still do all
the programming you used to do with Power Apps, but faster and with less time spent
on fixing bugs. It’s even better if you exploit the boost that Power Apps gives your
projects to boost your own career, taking on new tasks that you never had the cycles for
before.
By developers,
for developers
Microsoft.Source
newsletter
Get technical articles, sample
code, and information on
upcoming events in
Microsoft.Source, the
curated monthly developer
community newsletter.
● Learn with
hands-on resources
Sign up