DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • DZone's Article Submission Guidelines
  • Avoiding Pitfalls With Java Optional: Common Mistakes and How To Fix Them [Video]
  • Comparing Cloud Hosting vs. Self Hosting
  • Competing Consumers With Spring Boot and Hazelcast

Trending

  • DZone's Article Submission Guidelines
  • Avoiding Pitfalls With Java Optional: Common Mistakes and How To Fix Them [Video]
  • Comparing Cloud Hosting vs. Self Hosting
  • Competing Consumers With Spring Boot and Hazelcast
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. Axway AMPLIFY IoT Device Incident Management - Demo Breakdown

Axway AMPLIFY IoT Device Incident Management - Demo Breakdown

Axway AMPLIFY makes it easy to create complex workflows that integrate with cloud and ground applications and APIs through robust normalized connectors.

Leor Brenman user avatar by
Leor Brenman
·
Jun. 25, 20 · Tutorial
Like (2)
Save
Tweet
Share
5.61K Views

Join the DZone community and get the full member experience.

Join For Free


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:

application diagram

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 Builderto 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:

AMPLIFY flow

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:

Database

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
GMail

Note the link to the maintenance manual

  • MS Teams notification to the Company Support Staff Teams channel
MS Teams notification

Note the link to the maintenance manual

  • Syncplicity Link to Manual
Syncplicity link

Double Click

This represents an error and creates an incident and the following notifications:

Error email

Note the link to the maintenance manual and the Incident

  • MS Teams notification to the Company Support Staff Teams channel
MS Teams notification

Note the link to the maintenance manual and the Incident

  • An incident is automatically created in JIRA:
Jira Incident

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:

Notifcations

Note the link to the Incident

  • MS Teams notification to the Company Support Staff Teams channel
Notification to Teams channel
  • The previously created incident (on double click) is closed automatically in JIRA:
Previous incident closed

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.

Incident management IoT teams Integration API Help desk Links Flow (web browser)

Published at DZone with permission of Leor Brenman, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • DZone's Article Submission Guidelines
  • Avoiding Pitfalls With Java Optional: Common Mistakes and How To Fix Them [Video]
  • Comparing Cloud Hosting vs. Self Hosting
  • Competing Consumers With Spring Boot and Hazelcast

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: