Imagine if your insulin pump could notify you when the battery level drops so you can proactively service the pump and avoid personal injury. Imagine if the insulin pump can also notify you and the pump manufacturer on a fatal error and not only let you know about it but also file an incident with the manufacturer. This provides a major improvement to the manual process of discovering a problem and contacting the manufacturer. That’s exactly what the Griffin Labs built with the Axway AMPLIFY IoT Device Incident Management Demo.
Of course, the devices don’t need to be medical devices, they can be a smart refrigerator (as shown in the animation above) or a bank ATM. The key is that the devices are connected to the internet and AMPLIFY can help you create an application like this easily. This demo only took a few days to create.
In this blog post, we’ll break down the demo and review the various components. In future blog posts, we’ll dive deeper into each component.
Block Diagram
Below is a block diagram of the application:
The technologies used in the demo:
- AWS IoT Button and AWS Lambda to emulate real IoT devices (e.g. the insulin pump)
- API Builder running in ARS to provide APIs to a device database
- Integration Builder to implement the logic for the incident management and notifications along with its connectors:
- Salesforce.com for storing the customer contact details
- JIRA as the ticketing system
- MS Teams for notifications
- Gmail for email notification
- AMPLIFY Central to secure the Integration Builder Flow API
- Syncplicity to store shared documents (device service manuals)
IoT Devices
In the demo, we are using AWS IoT Buttons that have three button events that it can send: Single, Double and Long click.
We will perform the following on each event:
- Single – this will represent a warning (small battery level drop or a single anomalous reading). Integration Builder will notify the support team via MS Teams and the customer via email. The message will contain the service manual (stored in Syncplicity).
- Double – this will represent an error (critically low battery level). Integration Builder will submit a help desk ticket and will notify the support team via MS Teams and the customer via email. The message will contain the help desk ticket number and link and the service manual link.
- Long – this will represent that the device has been serviced and is in working order. Integration Builder will close the help desk ticket and notify the support team via MS Teams and the customer via email.
These devices trigger a lambda function in AWS. I’ve created a lambda function to make an API call to an Integration Builder flow setup for manual trigger that is exposed through API Central.
Integration Builder Flow
The Integration Builder Flow leverages its SFDC Sales Cloud, Gmail and JIRA connectors. MS Teams will be integrated with using the HTTP Request step. The flow uses a manual trigger that exposes its trigger as an API in AMPLIFY Central. The flow is shown below:
Note that in the flow above, there are three legs of the flow near the bottom, each corresponding to the three types of events that can be generated by the AWS IOT Button (single, double and long clicks)
API Builder
API Builder and its MBS (mobile backend service) connector will be used for the Device database. This will be hosted in Axway ARS.
Note that we could easily house our data in MS SQL, MongoDB, MySQL or Oracle using the other API Builder DB connectors
The database is as follows:
This data structure enables the system to service different devices and different types of devices.
I created a composite model called deviceInstanceComplete that joins deviceDescription, deviceOwner and company to deviceInstance so one API call will return the device instance aggregated with all the related data (description, company and contact info).
Single Click
This represents a warning and generates the following notifications:
- Gmail to the customer/patient
Note the link to the maintenance manual
- MS Teams notification to the Company Support Staff Teams channel
Note the link to the maintenance manual
- Syncplicity Link to Manual
Double Click
This represents an error and creates an incident and the following notifications:
- Gmail to the customer
Note the link to the maintenance manual and the Incident
- MS Teams notification to the Company Support Staff Teams channel
Note the link to the maintenance manual and the Incident
- An incident is automatically created in JIRA:
Note that the incident status is To Do which means that the incident is open
Long Click
This represents that the device was serviced and the issue is resolved. The incident is closed and the following notifications are sent:
- Gmail to the customer
Note the link to the Incident
- MS Teams notification to the Company Support Staff Teams channel
- The previously created incident (on double click) is closed automatically in JIRA:
Note that the incident status is Done which means the incident is closed
Summary
Axway AMPLIFY makes it easy to create complex workflows that integrate with cloud (JIRA, SFDC, Gmail, MS Teams) and ground (API Builder) applications and APIs through robust normalized connectors. Further, it facilitates a low-/no-code development methodology that doesn’t require thousands of lines of .NET, Java or Javascript code.
Watch my demo video as I break down Axway AMPLIFY IoT Device Incident Management.
Follow us on social