Git Product home page Git Product logo

orleankka's Introduction

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.

Terms of use

By using this project or its source code, for any purpose and in any shape or form, you grant your implicit agreement to all the following statements:

  • You condemn Russia and its military aggression against Ukraine
  • You recognize that Russia is an occupant that unlawfully invaded a sovereign state
  • You support Ukraine's territorial integrity, including its claims over temporarily occupied territories of Crimea and Donbas
  • You reject false narratives perpetuated by Russian state propaganda

To learn more about the war and how you can help, click here. Glory to Ukraine! πŸ‡ΊπŸ‡¦

Features

  • Message-based API with zero performance overhead
  • Switchable actor behaviors with built-in hierarchical FSM (behaviors)
  • Additional api to simplify programming long-running background tasks (jobs)
  • 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.Client

For server-side library:

PM> Install-Package Orleankka.Runtime

Check out "Getting started" guide

Build sources

You will need VS2019 and .NET Core 3.x installed in order to build and open the solution. 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.

On MacOS\Linux distributions use below script to build, package or run tests:

$> ./nake.sh

Packages

Package Description
Orleankka Core abstractions lib
Orleankka.Client Client-side lib
Orleankka.Runtime Server-side runtime lib
Orleankka.TestKit Unit testing kit

Examples

Documentation

At present, documentation is undergoing a major overhaul. Please, check the unit tests and examples above to get up-to-date information on API usage.

Community

License

Apache 2 License

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.