Page tree
Skip to end of metadata
Go to start of metadata

This project is available as a student work experience opportunity with HPCC Systems this summer. Curious about other projects we are offering? Take a look at our Ideas List

Find out about the HPCC Systems Summer Internship Program.

The project proposal application period for 2020 summer internships is now open. Please see our list of Available Projects. Contact the project mentor for more information and to discuss your ideas. You may suggest a project idea of your own but it must leverage HPCC Systems in some way. Contact us for support from an HPCC Systems mentor with experience in your chosen project area.

Project Description

We are currently developing the ability to add additional protocols in to ROXIE. In doing this, it will be possible to also add support for protocols currently being used in Internet of Things (IoT) projects.

There are several protocols being used in IoT projects, or you can suggest any protocol you think might be of value:

  • Constrained Application Protocol (CoAP) - Defined by the Internet Engineering Task Force (IETF) Constrained RESTful environments (CoRE) Working Group as a RESTful protocol for the sorts of constrained devices used in IoT projects.
  • MQTTextremely lightweight publish/subscribe messaging transport..
  • External REST protocol emulation - Roxie currently supports REST queries, but current Roxie protocols expect query input and output to conform to a standard "envelope" in which inputs and results are embedded.  If we want to be able to inter-operate with existing projects we need to be able to completely emulate their messaging formats.  Protocol emulation would allow roxie to match existing RESTful structures in use by outside projects.  ECL would have full control over the entire request and response object structure.
  • Propose another protocol of your choosing - IoT or otherwise.  Make a case for how it would improve the HPCC or what systems the HPCC will be able to inter-operate with.
  • IoT project INTEROP - If there is already a specific IoT project you are interested in, perhaps you could focus on what it takes to inter-operate with that project.

By the mid term review we would expect you to have:

  • Produced a set of test cases to test protocol or project interoperability.
  • Implemented a roxie protocol plugin that allows devices to interact with roxie queries using the selected protocol.
Mentor

Anthony Fishbeck
Contact Details

Backup Mentor: Dan Camper 
Contact Details

Backup Mentor: Richard Chapman
Contact Details

Skills needed
  • Familiarity with the protocol or project you want to integrate
  • Ability to code in C++.
  • Ability to develop within an existing code framework.
  • Ability to build and test the HPCC system (guidance will be provided).
  • Ability to write test code.
Deliverables
  • Test cases demonstrating the correct behavior and performance.
  • Pull requests adding a new protocol plugin for roxie.
  • Documentation.
Other resources
  • No labels