In this ‘Mobile First, Cloud First’ world we are surrounded with thousands, if not millions, of mobile apps. However, only a fraction of these apps are truly mobile business apps.
Why is this the case:
- It’s hard to develop true mobile business apps. Mainly because one will have to target devices running in multiple form factors (phone, phablet, tablet, laptop, desktop) across multiple operating systems (iOS, Android, Windows)
- Data is spanned both on premise as well as in the cloud. Company data is nowadays stored virtually anywhere. Some data might be stored in a SaaS application hosted somewhere in the cloud, while other data might be stored on premise. Accessing this data and integrating these systems is not an easy job.
- Application Deployment. Once the application(s) have been developed they need to be deployed to a user’s device. Currently in order to be able to do this an application has to be published to an official market-place, and if we target multiple operating systems (iOS, Android, Windows) we will have to target multiple market-places, with their own processes.
An alternative to the above would of course be side-loading apps, or setting up company market-places. However, not all platforms might allow this.
In short, it is pretty hard to not only create, integrate and deploy business apps, it also takes time, hard work and money to develop and maintain these apps.
If you were able to build a business app within minutes, and deploy it to all kinds of devices regardless of their operating systems, you would have a pretty valuable business proposition.
PowerApps is Microsoft’s answer to address the business app gap. It does so by offering a platform which includes tooling to enable employees, developers, and integrators to create and share mobile business apps.
These apps work on phones, tablets or desktops and they work across iOS, Windows and soon Android. PowerApps allows the user to seamlessly connect to disparate data sources spanning both on-premises and the cloud in a secure way.
(Click here for some more technical details on what PowerApps are).
Why should you use PowerApps?
If you, as a business, have an active ‘power user’ base who are more than comfortable with Excel and Access and want to quickly leverage ‘intranet’ like business apps, which boost productivity or simply allow users to gain quick access, anytime and anywhere to business information, then PowerApps is the platform to go for. Your imagination is your limitation.
It would also be ideal if the following infrastructure and solutions/platforms are being leveraged by your company:
- Azure Active Directory Tenant,
- Dynamics CRM Online,
- Google Drive,
- Microsoft Translator,
- Office 365 Outlook,
- Office 365 Users,
- SQL Azure,
- SharePoint Online,
- Twitter or any publically facing rest API (preferably with a swagger definition).
Lacking inspiration? Why not build a PowerApp that allows users to report on ‘Hazardous situations’?
So this app would allow users, if they see a hazardous situation to instantly report this by describing the situation, attaching a picture and the exact location (using GPS). Once reported the responsible business unit can take action and once resolved the person who reported would be notified that the hazardous situation has been resolved.
What type of apps can I build using PowerApps?
There are two types of business apps which make prime candidates for PowerApps:
- Intranet like mobile business apps
- Line of business like mobile business apps
The differences between these two apps are best explained by listing a few examples. Intranet like mobile business apps, are typically mobile business apps which offer intranet like functionality and usually contain (if any) a simple workflow (logic flows AKA Logic App) such as:
- Expense declaration
- Leave request
- Service Desk
- Meeting room planner
- Event signup
- Company news
Line of business like mobile business apps, typically would expose and tap into core business processes, have more complex workflows (logic flows AKA Logic App) which could span multiple back-end systems, typically these business apps would want to leverage functionality which is contained within the space of
- Warehouse Management
- Order Processing
- Supply Chain
- Transport Planning
This latter type of mobile business apps, usually takes some more time to develop and in my opinion requires a good ‘design’ process and of course special attention needs to be given to the Integration Architecture.
In short, an integration specialist needs to build a decoupled API layer leveraging the full (professional) integration stack which is to one’s disposal. These APIs can then be surfaces as custom business connections such that they can be dragged, dropped and configured by the ‘Power / Business’ user.
The golden rules
If you want to display ‘simple’ information, go ahead and hook directly into the required API’s or leverage the default connections. However, if you want to display composite information, you’d better keep integration practices in the back of your mind. We can only recommend building custom rest APIs with a ‘single’ purpose.
For applications which tap into a business process and mutate / manipulate / insert / update data which affect the process and applications, require ‘guaranteed processing’ are transactional based or require compensation logic we’d recommend to leverage for example Azure Service Bus (light-weight but powerful) maybe in combination with an on premise Middleware platform such as our beloved BizTalk.
Edited from original posted by Rene Brauwers – Solutions Architect/Integration Architect at MOQdigital, here.