How to choose between declarative programming (Power Platform) and regular programmatic development?
Dealing with the reality imposed by the health rules put in place while reinventing its remote business model, will have enabled many companies to realize the pressing need to invest in the digital transformation of their operations.
To meet the expectations of employees and customers, innovation through Cloud technology is becoming essential. Think about all that a digital transformation can include; online order taking, customer delivery tracking, real-time inventory adjustment, all while integrating employee teleworking.
Whether it’s a new application or a specialized business process needing to be modernized to help improve the user experience, developing custom-made Cloud software is a must-have approach.
In business, efficiency is fundamental, and many IT executives say the speed of cloud application creation is a very important performance indicator.
They say improving the speed of Agile development cycles is a priority.
Despite this, very few companies can prototype and design a web application in less than a month. From concept to completion, a declarative programming¹ platform (drag-and-drop configuration) should make a project much more efficient than if you had to write all the code manually from scratch.
However, this declarative programming approach has its limits and does not meet all business needs. An application of greater complexity and increased performance requires regular development cycles.
So how do you go about identifying the right approach while optimizing results, costs and lead times?
To do this, it is useful to present our optimized approach to custom-made Cloud software development.
Development history at AZUR Group
For more than 20 years, AZUR Group’s experts have been developing tailor-made web applications using an in-house code generator. This approach increases the productivity, standardization, portability and quality of the software we deliver to our customers.
Prior to the Power Platform, we kicked off virtually all of our cloud software projects by automatically generating much of the final code in seconds. This approach allows us to generate client (Angular), server (.NET, C #) and database (SQL Azure) code from our reusable code templates that we improve with each project. This initial version is then completed in Agile mode by our development teams in order to obtain the complete software and deployed in production via the Microsoft Azure Cloud.
Custom software development has evolved a lot in the last decade. For example, the Salesforce platform, a pioneer in the field, has been offering for more than 10 years a declarative development mode by drag & drop configuration to modify and add functions specific to the vanilla version (out of the box) of their CRM. The Salesforce platform also enables regular programmatic development with Apex code.
New era of Low-code/No-code with Microsoft’s Power Platform
From now on, the Power Platform also allows the use of a drag & drop configuration development mode to create new Cloud software hosted on Microsoft Azure. It also makes it possible to add Cloud software specific to business processes to Office 365 and Dynamics 365 Business Central software packages to complete their Cloud offering for their customers, suppliers and employees.
The Power Platform offers tools to better embrace Cloud technologies to meet the demands of teleworking. It facilitates the secure migration of companies’ business processes to the Cloud while taking advantage of its ecosystem and the compatibility of its functionalities without restriction on the origin of data.
Power Platform is implemented via 4 modules: Power Apps, Power BI, Power Automate and Power Virtual Agents.
Power Apps – A tailor-made application for your data
Power Apps, allows “citizen developers”² and analyst developers to configure web and mobile applications tailored to your business needs using intuitive interfaces that make development cycles faster and more efficient.
Power Apps combines services, connectors (over 300) as well as an SQL database, called Dataverse, with added services (security, audit, business rules engine, etc.).
Formerly Common Data Service, Dataverse makes it easy for you to integrate and interact with your data.
² AZUR Group collaborated with Microsoft for a webinar dedicated to better understanding how citizen and professional developers have come together to drive positive change and digital transformation. Watch it on demand here: https://www.microsoft.com/en-ca/sites/power-platform-reimagine-your-business/
Power BI –
Analyze data to thrive
Power BI (Business Intelligence) allows you to analyze data and generate reports and dashboards so that you can make decisions quickly and efficiently. With this secure analytics service, your sales data, the progress of your performance targets (KPIs), and individual performance can be viewed more easily.
Power Automate –
Focus on the essential
Power Automate automates repetitive work processes and tasks to free up working time and thereby increase user productivity.
You can also create workflows between applications and services.
Power Virtual Agents – Create intelligent chat-bots
Power Virtual Agents allows you to create powerful chat bots that can answer questions from your customers, other employees, or visitors to your website.
As you develop your project using the tools in the Power Platform, it becomes easier to modify and customize the software. You are able to evolve it and change the functionality without having to know complex programming languages. While you are not at the level of customization like you would with regular programming, most declarative platforms give you advantages that would require a keen knowledge of computer development.
To better understand the positioning of the Power Platform in the custom-made development ecosystem, we present the following use case.
Power Platform use case – AZUR Generator
More and more at AZUR Group, we are starting our Cloud software projects with the Power Platform for all the advantages it provides. However, there are often specific needs arising from architectural requirements of our customers that will require a web application or server process developed by regular programming.
- In order to reduce costs, we use our in-house AZUR Generator tool which allows us to quickly generate more than 60% of the N-Tier³ code of the new solution project. This first step, performed automatically, aims to provide our developers with the basis of a well-built solution i.e.: the basic plumbing portion of the application is generated for them.
- Then, our developers finish the remaining 40% with manual coding activities in Agile mode (business rules, integrations, reports, etc.). In short, the developers’ playground, since the foundations have already been assumed by the code generator.
For our code generator, we needed a new web interface, more efficient and easy to use in telework mode by our teams and our customers.
- We therefore used the tools of the Power Platform to create a Power Apps in order to define, via the Cloud, the Entity-Relations (E-R) models of our client projects.
- This fundamental step makes it possible to clearly define the parameters of the new solution in terms of business objects (ie: customer, account, invoice, user, etc.), fields (ie: name, type, address, price, etc.) and types of relations between objects (i.e: 1-1, 1-N, NN).
- Microsoft’s Dataverse data structure is leveraged to optimize our E-R models.
- Through our analysis sessions with users, the E-R model of the project is designed and, we enter it into our AZUR Generator tool via the new Power Apps interface.
- The analyst can then generate the Cloud solution project which will be managed with Microsoft’s Visual Studio code editor.
- The developers will complete the work using user stories in Agile mode.
The advantage of this approach is that business analysts benefit from a Power Apps interface hosted via the Azure Cloud to facilitate their remote work. The regularly developed core of the code generator is now securely accessible by a Power Apps application from anywhere and at any time.
At AZUR Group, the custom-made development of Cloud software is now done in three ways depending on the nature of the customer project:
- By declarative programming with the Power Platform
- By programmatic development assisted with our AZUR Generator tool
- In hybrid mode which combines the two
Advantages of declarative development:
- Lets you develop low to medium complexity software faster and at lower cost.
- Allows more business and IT specialists to actively participate in software configuration.
- Helps facilitate upgrades and reduce maintenance and support costs.
- Delivers high quality pre-engineered technology architecture in process, data and security.
Benefits of programmatic development:
- Allows you to increase the capabilities of an application beyond the standardized functionalities of the declarative platform.
- Allows developers of proprietary solutions (ISVs) to be more independent and free from licensing costs.
- Offers more flexible deployment options through the Cloud and internal enterprise servers.
With a hybrid approach, Power Apps can easily integrate with server modules, developed by regular programming, to increase the computational performance of certain complex business processes.
Depending on the nature of the project, we offer our clients the option of being able to combine the two approaches in order to optimize the custom-made development of their Cloud solutions.