Push Data to Salesforce App Users With Hub/Spoke Model

August 19, 2015 | Andrew Lawlor

Salesforce.com offers an excellent platform for independent software vendors (ISVs) to distribute commercial applications. Salesforce, as the original cloud platform as a service (PaaS), pioneered the infrastructure to enable ISVs to also push code updates transparently to end users, without their involvement. This capability is possible only with cloud-based technology.

However, the Salesforce platform does not provide built-in functionality to enable ISVs to push data to the end users of their apps. Updates to data are often distinct from updates to code in apps.

This limitation can hinder the functionality of apps designed to deliver data as the product and/or to provide a service that is dependent on externally sourced data. In either case, the need to push data to end users can occur via regularly scheduled or intermittent updates.

We encountered one such case during recent work with a client who needs to distribute data intermittently to the users of its Salesforce app. The eFormix app helps hospitals to comply with ever-evolving government healthcare regulations by providing users with updated forms for compliance. The forms support standard documentation, such as inspection checklists, risk assessments, and customer surveys. The forms cover multiple areas of compliance, including fire safety, infection control, and environmental services.

A major challenge in managing hospital compliance is the intermittent nature of the updates to requirements. Updated requirements, in turn, require updated forms. Hospitals have no way to know in advance when the government will update compliance requirements in a particular area. If a hospital is audited and found to be using an outdated set of forms, it could lose its accreditation.

We developed an infrastructure component for ISVs to automatically push updated data, as soon as available, to their app users via the Salesforce platform. The solution employs a web service as the mechanism for pushing the updated data to end users.

The basic architecture consists of a hub-and-spoke model, in which the ISV acts as a hub and customers running the app in the Salesforce Org act as spokes. The spokes communicate with the hub through the Salesforce platform. Based on licensing information stored on spokes, the hub selectively pushes data to each spoke.

The eFormix app illustrates the solution.

Users of eFormix’s app subscribe to a suite of forms (i.e., the data) and then install the app on their Salesforce Orgs (i.e., the spokes). The installation includes an instance of Salesforce with the eFormix app on top of it. Staff at eFormix continuously monitor government publications, such as those from the Joint Commission, and then update eforms hosted in the eFormix hub accordingly. Aptaria’s solution employs logic to detect when an updated eform has been published to the hub and then automatically pushes the new version to users.

This infrastructure can also be deployed in reverse, with the spokes pushing data to the hub. This would allow an ISV to collect information about how their customers are using the app, as well as other data.

The specific forms to distribute to particular end users are determined by end-user licenses. Licenses are categorized by purchased subscriptions to specific data packages, such as the patient safety suite or the environmental services suite. The licenses are stored on each spoke and communicated back to the hub.

The solution provides developers with the following capabilities:

  • Push updated data in a timely manner to end users of apps on the Salesforce platform.
  • Ensure the most accurate data is available to end users.
  • Secure data using encryption native to the Salesforce platform.
  • Up-sell subscriptions to app end users to generate additional revenue streams.

If you have a use case you would like to discuss, please contact us.

Related Insights

Ready to Get Started? Let's Talk.

First Name *
Last Name *
Organization Type *
Organization Name *
Position Title
Email Address *
Phone Number *
This site is protected by reCAPTCHA and the Google Privacy Policy.