IOT Fleet Management POC Running on Oracle Always Free Cloud Services

IOT Fleet Management POC Running on Oracle Always Free Cloud Services

I started using Oracle Always Free Cloud Services as soon as Oracle released them in September (in fact, even a few hours before Larry’s announcement during his keynote at OpenWorld). It gave me the possibility to re-architecture and expand my dev/lab environments, by taking advantage of those Always Free services:

  • **2 Autonomous Transaction Processing Databases **(with 1 OCPU and 20 Gb Storage)

    • 1 for JD Edwards database
    • 1 for storing JSON data using Simple Oracle Document Access (SODA) - see Oracle As Document Store
  • **2 Compute VMs **(with 1/8 OCPU and 1 GB memory)

  • 2 Block Volumes, 100 GB total (used by the Oracle Linux instances)

  • 1 Load Balancer, 10 Mbps bandwidth : in front of my Docker Swarm to expose the lab environment as xxx.solarpace.io URLs

Now that you have an overall overview of the architecture, let’s go back to the main topic of this article : for a few months now, I had this requirement to build an IOT lab including an IOT simulator, a storage component for the IOT events and an integration with JD Edwards using E1 Orchestrator. I also wanted to use the Cafe One capabilities to display the equipment location in real time.

Before the Free Services I had most of the components running somewhere but I didn’t know exactly how to assemble all this at a small cost; today I have a working lab environment, at no cost except for the JD Edwards instance (still difficult to fit all JDE architecture in a Free Tiers configuration …); the objective of this POC is to satisfy this business requirement:

how could a company track their vehicles in real-time with JD Edwards and therefore implement a fleet management solution to get new efficiencies and improvements in how businesses manage their fleets ?

The result is displayed in the picture illustrating this article; I used the following components for this IOT integration:

  • An IOT Simulator which simulates the truck events : location, speed, metrics (fuel levels,, oil pressure, …). It can send those events as REST messages to an external URL every few minutes

  • A home-made IOT solution including:

    • Node-RED : a programming tool for wiring together hardware devices, APIs and online services; I discovered this software 2 weeks ago and this was a real game changer for me - you can very easily integrate services, in my case REST services, just with a few drag&drops. I have lots of other use cases where Node-RED could facilitate the implementation so I may have other posts soon including this software.
    • Oracle DB as Document Store : I could have used a NoSQL database (non-Oracle) and I was about to do so when Oracle released their ATP Always Free database : with Simple Oracle Document Access (SODA), this proved to be a great fit to store the IOT events as JSON messages. You can start creating collections and post messages very quickly : the setup, from DB creation to REST messages being stored in a collection, only took me 1 hour.

  • E1 Orchestrator : this is now the de facto best integration tool for JD Edwards, especially for REST integration. I really love this product and how it facilitates automation and integration in JD Edwards.

    • I created a single Orchestration with 2 Services Requests to first update the meter readings (P12120U) and then update the equipment location - longitude and latitude (P1704 W1704A)

  • an Oracle JET small application, integrated with Google Maps to display dynamically the vehicle location on a map, with its planned itinerary. This Web application is then integrated in a Cafe One page and automatically displays the selected vehicle location.

With the IOT simulator you can start “driving” your truck, simulate events like collision, loss of oil pressure) and all those events will be stored in the Oracle database as JSON documents; the relevant readings, fuel level, oil pressure, latitude/longitude will also be sent to JD Edwards where you can then track the vehicle location in real-time.

Note : I am still working on the last part : an IOT analytics dashboard to display the IOT events stored in the Oracle Database; this will be another Oracle JET application. There may be a follow-up post in the next few weeks to keep you updated.

If you have questions or specific business requirements close to this post, you can contact me