There are multiple types of apps that you can build that interact with the Willow Platform. Currently, the Willow Platform supports Connection Apps and Edge Apps. A third app type, Embedded Apps, will be supported in the future. The following sections describe each app type to help you determine which best fits your use case needs.
The most common integrations built for the Willow platform are characterized as Connection Apps. A Connection App provides a link between Willow and other external technology systems such as accounting, asset management, BMS, CMMS, fault detection, indoor positioning, security, sensors, visitor management, and many others.
For example, a large property management firm may use a CMMS tool for managing service requests, while using the Willow platform and products for enhancing their operational and tenant experience. In this scenario, the property management firm could install and configure a Connection App to provide the link between their CMMS and Willow, syncing data between the two systems as needed. The Connection App leverages APIs from both Willow and the external system to import and export data. Here is a diagram depicting the high-level architecture of a Connection App:
- The Connection App retrieves information from Willow using a
GETcall to the Willow API.
- The Connection App then imports the data to the External System acting as a middleware. If the External System is a REST API, this is generally done via a
PUTcall to the External System.
- The Connection App can conversely export information from the External System. This is generally done via a
GETcall to the External System.
- The Connection App creates, updates, or delectes resources in Willow by making a
DELETEcall to the Willow API.
Expanding on this scenario, the property management firm may have several different CMMS tools across their portfolio. They can leverage Connection Apps for each of these CMMS tools to integrate into their Willow portfolio. This normalizes their data across the portfolio to allow them to analyize, visualize, and compare data across the portfolio.
Edge Apps are similar to Connection Apps in that they provide a link between Willow and an external technology system. The primary difference is that Edge Apps get deployed onto Willow's Edge Gateway (aka The Willow Cube) which is behind a firewall at a customer site. This allows the Edge App to interact with a technology system or systems that do not have public IP addresses. Leveraging Microsoft IoT technologies, Willow's Edge Gateway provides a secure connection to the Willow platform. Here is a diagram depicting the high-level architecture of an Edge App:
The requirements for building Edge Apps are more stringent because they get deployed onto the Willow Edge Gateway. The app gets deployed as a contatiner onto the Willow Edge Gateway which runs on the Microsoft IoT Edge runtime. For more details on how to building Edge Apps as Microsoft IoT Edge modules, visit here.
Developers will soon have the ability to create Embedded Apps which display directly within a Willow user interface on a Willow web or mobile application. This will allow users to directly interact with an external system without having to leave the Willow platform.