IoT Platform CEP

Twitter: @thomasbjgilbert Language: Dockerized License Version:4.2.0-RC2

What is IoT Platform CEP?

The Alexandra Institutes IoT Platform is a micro-service platform for the Internet of Things. The communication backbone is the Kafka Message System which all other components use for inter-service communication. This repository is a Complex Event Processing engine, that can be used in the context of the IoT Platform, or as a standalone component.

The image is maintained by Thomas Gilbert. You can reach me at thomas.gilbert@alexandra.dk for help or if you have a comment about the image.

Features

  • Dockerized version of the WSO2CEP
  • For beginners
  • Can be used for creating ad-hoc queries or deploying C-App packages
  • Supports both MQTT and Kafka
  • WebUI for configuration and monitoring
  • Queries can be modified on the fly - either through the UI or the filesystem.
  • Supports distribution with Storm

Build

  1. Install Docker
  2. In the terminal for example:
    • docker build -t glagnar/wso2cep:latest -t docker.alexandra.dk/wso2cep:1.0.0 .
    • docker build -t glagnar/wso2cep:0.0.1 .
  3. Upload to either hub.docker.com or your own Nexus docker push yousnamehere/wso2cep

Run

There are several ways to run the program:

  • First try, is this even worth my time ?
    • docker run --rm -it -p 9443:9443 glagnar/wso2cep
  • Mount a pre-made folder with example code
    • docker run -d -p 9443:9443 -v $PWD/src/server:/usr/src/code glagnar/wso2cep
  • Mount with individual mount points for each of the four relevant folders
    • eventpublishers
    • eventreceivers
    • eventstreams
    • executionplans
  • Create your own docker image based on this one. ( See below )

Create your own

To create your own image, containing your own queries you need to create your own Dockerfile. Below is an example, and the source code for it is in BitBucket.

FROM glagnar/wso2cep:latest
MAINTAINER yourname@yourcompany.dk

COPY ./src/server /usr/src/code

WORKDIR /usr/src/wso2cep/bin

CMD ["./wso2server.sh"]

TODO

  • Add mountpoints etc. for persistance of C-App's.

Thanks

This could not be possible if it were'nt for the guy's behind Siddhi and WSO2