Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Student work experience opportunities also exist for students who want to suggest their own project idea. Project suggestions must be relevant to HPCC Systems and of benefit to our open source community. 

Find out about the HPCC Systems Summer Internship Program.

Project Description

ESP (Enterprise Services Platform) is an HPCC Systems component that hosts web services functions. It’s a container for running services. ESP is what provides you with the ability to write and run web services in HPCC Systems, support revenue based products and use the dynamic ESDL engine which gives you flexibility and ease of use. A couple of examples of ESP services are WsECL, which allows you to interface to published queries on Roxie or Thor, and ECL Watch which is our web-based query execution, monitoring and file management interface. ESP supports a number of protocols including, SOAP, XML, HTTP, REST and JSON.  

...

Code Block
languagebash
hpcc WsDfu DFUSearch myEspUrl --showExample=yes

To accomplish this, the following requirements must be considered:

  • It should be completely generalized with no special casing - configured purely by the XML files.
  • It should be integrated with the Linux command completion and provide context sensitive completion.
  • It should have build in help, also generated from the XML files.
  • Extension: The output could be controlled to use JSON/XML and it could use XPATH to extract values from the result.
  • It would initially only support scalar arguments. 

Completion of this project involves:

  • Learning general HPCC Systems architecture
  • Learning ESP services framework
  • Development of a functional command line tool as specified above
  • Creation of test cases for ESP services and specific methods
  • Creation of documentation including a github GitHub repository for the project
  • A blog, a recorded presentation, and a poster artifact about your project (see examples from previous years here).
Mentor

TBD
TBD

Backup Mentor: 

TBD

Skills needed
  • General knowledge of Linux and web services development
  • Self-motivated to learn about HPCC Systems (guidance will be provided)
  • Willing to explore new technologies
  • Basic programming skills such as Unix shell (bash), WSDL, Python, etc
Other resources