Skip to content
Branch: master
Find file History
Pull request Compare This branch is 8 commits ahead of redhat-iot:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
android
com.redhat.iot
custsim
data_virtualization
gui/customer-tracker
installs
persistance
redhatsapiot
support
README.md
RHSAPIOT_ARCHITECTURE.png
init.sh

README.md

JBoss Data Virtualization, A-MQ, BRMS, SQLAnywhere, HANA IoT Demo

Demo based on Red Hat JBoss Data Virtualization, A-MQ, BRMS, SQLAnywhere and HANA. This demo uses simulated retail customer beacon data generated by a python script.

Architecture

![alt text][architecture] [architecture]: https://github.com/tejones/jboss-sap-integration/blob/master/iot-demo-jdv/RHSAPIOT_ARCHITECTURE.png "Reference Architecture"

Prerequisites

Install Python

Install mqtt Python client

Install node.js

Install socket.io (node.js)

Install mqtt (node.js)

Install Maven

Setup and Configuration

  • Download JBoss A-MQ product from https://www.redhat.com/en/technologies/jboss-middleware/amq (version 6.2) into install folder

  • run 'init.sh'

  • start JBoss A-MQ

    go to ./target/jboss-a-mq-{$version}/bin execute JBoss A-MQ by executing ./amq

  • Run the custsim.py sript

    The custsim.py script is a Python script that will generate simulated customer actions related to a retail store (entering, moving and exiting). To execute this script you will need Python installed and can exexute the script using the command "python custsim.py" from the custsim folder.

  • Download SQL Anywhere 17 Developer Edition and install. You may need to source the binaries before using.

  • Rename persistance/remote.cfg.example to persistance/remote.cfg and set the correct host and port for fuse

  • Create and populate the remote databaes. These commands will create the database, start it as a daemon listening on port 8080, and populate it with the fake customer data.

    • dbinit -dba dba,sqlsql remote.db
    • dbsrv17 -ud -xs http{port=8081} remote.db
    • dbisql -c "uid=dba;pwd=sqlsql" remote.sql

The global_database_id must be unique for each databaes that is created. If you need to create multiple databases, choose a new global_database_id each time.

  • dbisql -c "uid=dba;pwd=sqlsql" "SET OPTION PUBLIC.global_database_id = XX"

  • Update your HANA DB using the DDL in the /persistance folder

  • From the redhatsapiot directory, run java -jar target/redhatsapdemo-0.0.1-SNAPSHOT-uberjar.jar

  • Install and run the HTML5 web UI to view customer activity in the store.

    • In the gui/customer-tracker project, run "mvn clean install jetty:run" from the command line to build the war.

    • Run "node subscribe.js" from jboss-sap-integration/iot-demo-jdv/gui/customer-tracker/src/main/webapp/js.

    • The web application will be available at http://localhost:8080/customer-tracker/

    • Customers will display and move around the store using the coordinates provided by messages from A-MQ. BRMS will detect customers that may need assistance due to focused attention to a single department or excessive browsing and send messages to alert salespersons.

    • Model your sources in Teiid Designer

    • HANA import

    • SQLAnywhere import

    • Federated View

Supporting Articles

https://developer.jboss.org/blogs/tedjones/2016/06/27/iot-demo-using-sap-iot-edge-with-red-hat

Released versions

See the tagged releases for the following versions of the product:

  • v0.1 - JBoss A-MQ 6.2.
  • v0.1 - JBoss Data Virtualization 6.2
You can’t perform that action at this time.