/Orleankka

Functional API for Microsoft Orleans http://orleanscontrib.github.io/Orleankka/

Primary LanguageC#Apache License 2.0Apache-2.0

Orleankka Logo

Orleankka is a functional extension for Microsoft Orleans framework. It provides a message-based API similar to Akka/ProtoActor, carefully layered on top of the Orleans (that's what in a name). Orleankka is an excellent choice for use-cases which can benefit from composable, uniform communication interface, such as CQRS, event-sourcing, FSM, etc.

References: intro, features, slides and discussion.

Features

  • Message-based API with zero performance overhead
  • Custom F# DSL and bindings (DU, Pattern Matching, Tasks)
  • Switchable actor behaviors with built-in hierarchical FSM (behaviors)
  • Poweful actor/proxy middlewares (interceptors)
  • Convenient unit testing kit (stubs, mocks, expectations)

How to install

To install client Orleankka library via NuGet, run this command in NuGet package manager console:

PM> Install-Package Orleankka

For server-side library:

PM> Install-Package Orleankka.Runtime

Check out "Getting started" guide: C# , F#.

Build sources

Clone repository and run the following in CLI from solution's root folder:

PM> Nake.bat

This will restore dependencies and build everything in debug mode. Run Nake.bat with -T switch to see available commands.

Packages

[inside]
Orleankka Core and client lib
Orleankka.Runtime Server-side runtime lib
Orleankka.TestKit Unit testing kit
Orleankka.FSharp F# core and client lib
Orleankka.FSharp.Runtime F# server-side runtime lib

Examples

C#
F#

Documentation

Documentation can be found here.

Community

License

Apache 2 License