We are using Pentaho for ETL by polling data from the web service. We have transformation in ETL job which calls external Web service to get json data at required time frame and transforms and loads the same into database.

We would like to support "push" from the external client. So that external client can call our web service to push the data as and when available and want to execute ELT for the given data. There are two ways we want to support this.

1. Let client drop files to ftp folder and pick up the file and run the ETL job to process the same. This we are able to achieve.

2. Support Web service which can be called by external client and can send the json data, which then invokes the ETL job to process the incoming data.

What is the best way to achieve #2? Is there any in-built support for this in Pentaho or do we need to write custom web service which in turn uses Pentaho web service (Carte) to execute ETL?

Appreciate your time and thanks in advance.