|
HttpPipelines
Seeking a HTTP equivalent to Unix pipelines
IntroductionA HTTP equivalent to Unix pipelines would be a significant enabler for cloud computing. DetailsA software pipeline involves the chaining of the output of one component to the input of another (and so on), allowing each component to conduct some processing on and/or modify the data traversing it. This approach has been wildly successful with Unix philosophy and the intent is to follow this example rather than try to reinvent the wheel ala WS-*. Unix pipelinesUnix pipelines are an implementation of software pipelines which use standard streams (STDIN, STDOUT, STDERR). Additionally a return code from each component can affect program flow. HTTP pipelinesHTTP pipelines will be very similar to their Unix counterparts, only rather than using text stream we would use HTTP streams in a RESTful fashion. LocalLocal HTTP pipelines are where one end of the pipeline terminates locally; for example if you were to run a command in an interactive session and it were to set up a pipeline with one or more URIs, retrieveing and sending the data via the client. RemoteRemote HTTP pipelines involve remote invocation of pipelines such that the data does not have to flow via the client, which is particularly useful where the datasets are large and the connectivity between components is greater than the connectivity between components and the client (which is usually the case, for example where the client is on an ADSL service and the components are in one or more datacenters). This is obviously somewhat more involved and will likely require some modifications and/or extensions to underlying protocols (eg HTTP). |
Sign in to add a comment