John Mercier

[A software developer interested in java, groovy, and nixos]

Aug
26
2015

I have been working on an idea for a microservice called pipe-service. It will take output from one service and send it as input to another service. The services I have in mind are http(s) and the variety of ftp services.

The project is called pipe-service as a reference to command line pipes. Pipes allow the output of one command to be used as input to another command. One example of this is ps and grep. When a user needs to see if a specific process is running he will use a pipe between the two commands.

ps aux | grep --color jboss

Bash will take the output stream of ps aux and make it available as the input stream of the grep program for processing.

pipe-services will work in a similar fashion.

get http://example.com/service... | post http://nextexample.com/service2...

Another example is to send the input to ftp. This will transfer a file from http to ftp.

get http://example.com/file.zip | put ftp://nextexample.com/home/john/file.zip

Other services could be created to faciliate an entire pipeline of processing.

get rest object | post transform-service
get transform-service | post neo4j-service

I plan on using spring-boot since it provides so much out of the box. It would also be nice to write an angular front end. Using something like JHipster may help with that.

2014 - 2018 | Mixed with Foundation v5.5.1 | Baked with JBake v2.5.1