Cloud Mobile for Composite Application

Mobile user interface with mobile backend for a composite application incorporating Cloud-based and on-premises applications.

Pattern Definition

Problem How do I provide a mobile user interface for a composite application incorporating on-premises applications and SaaS or Cloud-hosted applications?
Context This pattern is applicable when there is a desire to integrate Cloud-hosted applications and/or on-premises applications into a composite application.
Forces
  • Little or no need for integration between the applications themselves.
  • The mobile interface exposes a business process that spans applications.
  • The mobile user interface exposes functionality that is available in the applications.
  • A Cloud-based mobile backend is desirable
Solution This mobility pattern employs a Mobile Platform only in the Cloud with connectivity to the Cloud-based and on-premises applications. This provides the quickest way to create a mobile user interface that spans applications.
ConsequencesPros:
  • Provides the quickest approach to provide a mobile user interface for a composite application.
  • Only one Mobile Platform to manage.
Cons:
  • Not a good solution for application to application integration.
  • Not a good solution if all applications are on-premises.

Interaction View


Process Orchestration

Mobile user interface for a composite application using a Process Platform and Application Integration Platform. 

Interaction

Interaction initiated by mobile device:

  1. The mobile device uses a mobile application to call the Process platform.
  2. The Process platform calls the Application Integration platform to integrate with a Cloud-based application.
  3. The Application Integration platform calls the Cloud-based application via an adapter. The Cloud-based application could be SaaS, or an application running on PaaS or IaaS.
  4. The Process platform calls the Application Integration platform to integrate with an on-premise application.
  5. The Application Integration platform calls the on-premises Integration Agent.
  6. The Integration Agent uses an adapter to access the on-premises application.

Notes

  1. The Process Platform hosts the business orchestration that incorporates human tasks and applications (on premises and/or Cloud based).
  2. The Integration Agent provides secure communication between on premises and Public Cloud. The Integration Agent establishes an encrypted connection to the Application Integration platform by calling into the Application Integration platform. There is no need to “punch a hole” in the on-premises firewall.
  3. The Process platform tends to provide a pre-built mobile application that delivers task list functionality.

Application Integration Platform Orchestration

Mobile user interface for a composite application using the Mobile platform and Application Integration Platform. 

Interaction

Interaction initiated by mobile device:

  1. The mobile device uses the Mobile platform Client SDK to call the mobile backend provided by the Mobile platform.
  2. The Mobile platform calls the application integration platform. The
    application integration platform hosts the orchestration across two (or more) applications.
  3. The application integration platform calls the Cloud-based application via an adapter. The Cloud-based application could be SaaS, or an application running on PaaS or IaaS.
  4. The application integration platform calls the on-premises application.

Notes

  1. The Mobile platform provides the mobile backend while the application integration platform hosts the business process that incorporates human tasks and applications (on premises and/or Cloud based).
  2. The on-premises application must provide an interface that is readily accessible from the application integration platform (e.g. REST).
  3. The communication to the Cloud-based application could use native APIs instead of adapters.