Coder Social home page Coder Social logo

unni-vp / thingworx-kinesis-connector Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 2.52 MB

Connector implementation for sending messages arriving at Kinesis stream to ThingWorx platform. Connector listens to Kinesis Data stream using 'Spring Cloud Stream Binder Kinesis' library, provides them to a pool of connectors through JMS, which then publish the messages via WebSocket channel.

Java 100.00%
thingworx kinesis web-socket connector

thingworx-kinesis-connector's Introduction

thingworx-kinesis-connector

Connector implementation for sending messages arriving at Kinesis stream to ThingWorx platform. Connector listens to Kinesis Data stream using 'Spring Cloud Stream Binder Kinesis' library, provides them to a pool of connectors through JMS, which then publishes the messages via WebSocket channel.

Pre-launch Configuration

Modify the 'application.yml' file before you launch the application. The below properties need to be specified:

Cloud and Kinesis configurations

  • cloud.aws.credentials : Specify the AWS access-key and secret-key required for accessing the Kinesis Data stream resource.
  • cloud.aws.region.static : Region for the Kinesis Data stream resource.
  • spring.cloud.stream.bindings.input.destination : Name of the Kinesis Data stream for consumption.

ThingWorx configurations

  • connectorCount : The number of connectors require to process the incoming telemetry messages. Identify a count according to your requiremnts. Can be set as low as 1 for low volume streaming data and as high as 1000 for high volume streaming data.
  • host : Host name of Thingworx Foundation server
  • port : Port of Thingworx Foundation server
  • secureConnection : Provide this as 'true' if using a secure (https) connection, else 'false'
  • appKey : Thingworx application key that provides service execution permissions for the telemetry and health services
  • telemetryThing : The Thing containing the service for telemetry processing
  • telemetryService : The ThingWorx service that processes the telemetry message.
  • healthThing : The Thing containing the service for health check
  • healthService : The ThingWorx service that performs health check.

Note : A sample ThingWorx entity can be found in the 'entities' folder. The 'Thing' entity has sample services for telemetry processing and health check.

Installation

Use maven to compile and build project:

mvn clean install 

Run the spring-boot application:

mvn spring-boot:run

Disclaimer: This is a proof-of -concept project, meant to demonstrate ThingWorx websocket based ingestion from AWS Kinesis. It would not be advisable to use this as is in a production environment. Ideally the internal JMS implementation for message queuing, should be replaced with an external queue implementation (AWS SQS, Kafka) to manage memory, scale and performance.

thingworx-kinesis-connector's People

Contributors

dependabot[bot] avatar unni-vp avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.