Ibm Functions Composer Versions Save

Composer is a new programming model for composing cloud functions built on Apache OpenWhisk.

v0.4.0

6 years ago
  • The composition json is now just the AST with no implicit lowering.
  • composer.lower(composition, [combinators]) is now exposed and gives control over the lowering (if desired).
  • The compose command has two new options: --lower and --version.
  • The combinators are now automatically derived from spec, e.g, if: { args: [{ _: 'test' }, { _: 'consequent' }, { _: 'alternate', optional: true }], since: '0.4.0' }.
  • The spec for the combinators is now exposed as well (composer.combinators).
  • The core language has shrunk thanks to composer.mask and a more aggressive use of lowering.
  • The fsm has fewer states.
  • The code is now split into three components: 1 compiler component available client-side and server-side, 2 client-side composer, and 3 server-side conductor.

v0.3.0

6 years ago

Add composer.mask combinator.

v0.2.2

6 years ago
  • Improve compose command messages
  • Support defining actions from functions with names other than main
  • Add a lot of documentation
  • Update CLA recipient

v0.2.1

6 years ago
  • Fixes #43

v0.1.1

6 years ago

v0.2.0

6 years ago
  • Composer generates conductor actions to implement compositions. This resolves double billing and restores substitution. Compositions support blocking invocations and may be exposed as web actions.
  • Redis is no longer required to run compositions.
  • The JSON serialization format has evolved to retain the original code structure (sequences, conditionals...). The compilation to finite state machines now happens when the action container is initialized.
  • The scheduling code is stitched to the composition JSON to produce a self-contained action that implements the composition, resolving possible versioning or dangling reference issues.
  • New constructs have been added including finally and dowhile.
  • A composition may include the definition of component actions and compositions.
  • A compose shell script is provided to serialize compositions to the JSON format and deploy them. An extension of the Javascript client for OpenWhisk can do the same. Deployment takes care of nested actions and compositions.
  • The composer module regroups the client-side and server-side code in one file.