Custom Mobile Workforce App

Solution Idea

If you'd like to see us expand this article with more information (implementation details, pricing guidance, code examples, etc), let us know with GitHub Feedback!

This mobile workforce app architecture uses Active Directory to secure corporate data from an SAP back end system, delivered to devices via Azure App Service API Management.

A Xamarin.Forms client app, with support for iOS, Android, and Windows, works offline and enables field engineers to view and edit the jobs assigned to them.

The app is built with Visual Studio (PC or Mac) and Xamarin, sharing C# code across Android, iOS, and Windows without compromising user experience. Visual Studio App Center is used to automate builds and tests and distribute to beta testers and app stores, while also providing usage monitoring and analytics in conjunction with App Insights.

The links to the right provide documentation on deploying and managing the Azure products listed in the solution architecture above.

Visual Studio Team Services

Visual Studio

Visual Studio Tools for Xamarin

Application Insights

Visual Studio App Center

App Service Mobile Apps

Architecture

Architecture diagram Download an SVG of this architecture.

Data Flow

  1. Create the app using Visual Studio and Xamarin.
  2. Add the Azure App Service Mobile Apps back end service to the app solution.
  3. Implement authentication through Azure Active Directory.
  4. Connect to business data in external systems like SAP using Azure API Management.
  5. Implement offline sync to make the mobile app functional without a network connection.
  6. Build and test the app through Visual Studio App Center and publish it.
  7. Use Application Insights to monitor the App Service.
  8. Deploy the app to devices using App Center.

Components

  • Build the web front end, mobile apps, and back end services with C# in Visual Studio 2017 or Visual Studio for Mac.
  • Xamarin: Create mobile apps for iOS and Android using C# and Azure SDKs.
  • Visual Studio App Center: App Center enables a continuous integration and deployment workflow by pulling code from BitBucket, GitHub, and Visual Studio Team Services.
  • An App Service web app can host a customer-facing web app and a service that is used by both the web and mobile client.
  • Application Insights: Detect issues, diagnose crashes, and track usage in your web app with Application Insights. Make informed decisions throughout the development lifecycle.
  • API Management: Publish APIs to external, partner, and employee developers securely and at scale.
  • Azure Active Directory is used for secure, enterprise-grade authentication.

Next steps