openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rex f <aug2...@gmail.com>
Subject Re: Donation of ibm-functions/composer to Apache OpenWhisk
Date Sat, 29 Sep 2018 01:08:37 GMT
Thank you Oliver and team at IBM research. This looks fun to play with.

- rex fatahi, phd

On Fri, Sep 28, 2018 at 4:57 PM Olivier Tardieu <tardieu@us.ibm.com> wrote:

> Here is some context about composer.
>
> Composer is a Javascript library to make it easy to author conductor
> actions and build serverless micro services by composing OpenWhisk
> actions. For now Composer is available at
> https://github.com/ibm-functions/composer. There you will find not only
> the code and documentation for Composer but also tutorials, videos, blog
> posts, etc. Composer is also distributed as an npm package:
> https://www.npmjs.com/package/@ibm-functions/composer/.
>
> Conductor actions have been part of OpenWhisk since February 2018 (
> https://github.com/apache/incubator-openwhisk/pull/3202). Like sequences,
> conductor actions make it possible to chain the invocation of multiple
> actions, but unlike sequences the length and components of the chain may
> be decided at run time. In particular, conductor actions may implement
> conditional, loops, and handle errors (whereas sequences abort on errors).
> Conductor actions are documented in
>
> https://github.com/apache/incubator-openwhisk/blob/master/docs/conductors.md
> .
>
> While conductor actions are powerful, writing conductor action code can be
> tedious. The Composer library dramatically simplifies the task of writing
> conductor actions. Conditional control flow for instance may be expressed
> as follows:
>
> composer.if(?authenticateRequest?, ?processRequest?, ?rejectRequest?)
>
> In this example, a first action validates a request, then if the request
> is admissible it forwards the request to a second action named
> processRequest. If not, it invokes the rejectRequest action instead. The
> Composer library automatically synthesizes the code of a conductor action
> that implements this flow of control. processRequest may be implemented in
> Javascript, rejectRequest in Python, and authenticateRequest may come from
> a third-party. There is no restriction on what the composed actions can
> be.
>
> The development of Composer actually predates conductor actions by almost
> a year. We (IBM Research) open sourced the first Composer library in
> October 2017. We later developed conductor actions as a low-level,
> language-independent runtime mechanism to dynamically chain action
> invocations and rewrote Composer (v2) to take advantage of conductor
> actions.
>
> Today?s Composer is a Javascript library focused on building sequential
> compositions of actions. But we don?t intend to stop there. In particular,
> we are already working on Composer for Python and on parallel composition.
> We think that Composer will be an important asset for OpenWhisk and, with
> the help of the community, we hope to accelerate its development.
>
> You can always find me on the OpenWhisk dev list or on slack.
>
> Olivier
>
>
>
> From:   "David P Grove" <groved@us.ibm.com>
> To:     dev@openwhisk.apache.org
> Date:   09/28/2018 12:56 PM
> Subject:        Donation of ibm-functions/composer to Apache OpenWhisk
>
>
>
>
>
> IBM Research would like to donate the Composer code in
> ibm-functions/composer to the Apache OpenWhisk incubator project.  The
> code
> is already open source under the Apache 2.0 license.
>
> Unless there are objections raised here on the dev list, I will plan to
> submit the infra tickets on Monday to create an
> apache/incubator-openwhisk-composer git repo, enable Travis on it, etc.
> and
> we will migrate the code next week.
>
> --dave
>
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message