You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwhisk.apache.org by Olivier Tardieu <ta...@us.ibm.com> on 2018/01/19 14:56:30 UTC

Action compositions PR #3022

Folks,

I have submitted a large PR to add controller support for action 
compositions in OpenWhisk.
https://github.com/apache/incubator-openwhisk/pull/3202

This is in support of a a better implementation of the composer library.
https://github.com/ibm-functions/composer

See the PR text for more info and a small example.
I'll flesh out the doc in the next few days.

Feedback welcome!
(slack, dev list, PR discussion...)

Olivier


Re: Action compositions PR #3022

Posted by Rodric Rabbah <ro...@gmail.com>.
A bit more clarity on the pull request and the context:

OpenWhisk actions today are of two basic kinds: primitive actions which run
inside containers, and compositions of actions into sequences, which allow
for orchestration of a processing pipeline with data flowing from one
action to the next. The latter are handled within a scheduler inside the
controller.

The new pull request adds a new fundamental capability to the OpenWhisk
core: the ability for an action to hand-off execution to another action,
dynamically, for further processing. The hand-off is a form of continuation
passing: the action indicates which action should execute next, the
parameters/state to send to that action.

This model of execution complements the existing hand-off of actions that
execute in a sequence, where the continuation is internally triggered today
via the "active ack" mechanism between the invoker and the controller. The
extension is a fundamental new capability and for background (shameless
plug warning), we authored a paper on the topic [1] and a brief blog
illustration the need for this kind of capability [2].

The addition of this capability allows OpenWhisk to realize more complex
compositions of actions. Examples of this include if-then-else, try-catch,
data-forwarding, and loops, all of which can be seen in the composer [3]
which is a library for generating actions with continuations. One way to
look at composer is a compiler from a meta language (it's a node library
with combinators) into OpenWhisk actions. It uses continuations to realize
richer composition and data flow. Is it not necessarily the only way to use
the proposed new capability since actions can dictate their own
continuations.

-r

[1] http://doi.acm.org/10.1145/3133850.3133855
[2] https://medium.com/openwhisk/composing-functions-into-
applications-70d3200d0fac
[3] https://github.com/ibm-functions/composer

On Fri, Jan 19, 2018 at 9:56 AM, Olivier Tardieu <ta...@us.ibm.com> wrote:

> Folks,
>
> I have submitted a large PR to add controller support for action
> compositions in OpenWhisk.
> https://github.com/apache/incubator-openwhisk/pull/3202
>
> This is in support of a a better implementation of the composer library.
> https://github.com/ibm-functions/composer
>
> See the PR text for more info and a small example.
> I'll flesh out the doc in the next few days.
>
> Feedback welcome!
> (slack, dev list, PR discussion...)
>
> Olivier
>
>