AxonFramework - High Performance and Scalability framework for Java

  •        440

A CQRS (Command Query Responsibility Segregation) Framework for Scalable, High-Performance Java Applications.

Axon decouples application components to enable linear dynamic scaling. Logical components are separated within your architecture in a service oriented manner, and coupled using an asynchronous message bus. This enables components to be physically spread amongst different servers and hereby realizing linear scaling.

Axon Framework helps build scalable, extensible and maintainable applications by supporting developers apply the Command Query Responsibility Segregation (CQRS) architectural pattern. It does so by providing implementations of the most important building blocks, such as aggregates, repositories and event buses (the dispatching mechanism for events). Furthermore, Axon provides annotation support, which allows you to build aggregates and event listeners without tying your code to Axon specific logic. This allows you to focus on your business logic, instead of the plumbing, and helps you to make your code easier to test in isolation.

Axon does not, in any way, try to hide the CQRS architecture or any of its components from developers. Therefore, depending on team size, it is still advisable to have one or more developers with a thorough understanding of CQRS on each team. However, Axon does help when it comes to guaranteeing delivering events to the right event listeners and processing them concurrently and in the correct order. These multi-threading concerns are typically hard to deal with, leading to hard-to-trace bugs and sometimes complete application failure. When you have a tight deadline, you probably don’t even want to care about these concerns. Axon’s code is thoroughly tested to prevent these types of bugs.

www.axonframework.org
https://github.com/AxonFramework/AxonFramework

Tags
Implementation
License
Platform

   




Related Projects

wolkenkit - wolkenkit is an open-source CQRS and event-sourcing framework for JavaScript and Node

  •    Javascript

wolkenkit is an open-source CQRS and event-sourcing framework for JavaScript and Node.js that perfectly matches DDD. wolkenkit is a CQRS and event-sourcing framework for JavaScript and Node.js. wolkenkit uses an event-driven model based on DDD to setup an API for your business in no time. This way, wolkenkit bridges the language gap between your domain and technology.

The CQRS Kitchen

  •    

The CQRS Kitchen is an example application build with Silverlight 4 that demonstrates how to implement a CQRS / Event Sourcing application with the .NET Framework. It uses parts of the NCQRS framework and some of the ideas of Mark Nijhof.

JdonFramework

  •    Java

a Domain Driven Design + CQRS + EventSource java framework

commanded - Use Commanded to build Elixir CQRS/ES applications

  •    Elixir

Use Commanded to build your own Elixir applications following the CQRS/ES pattern. Commanded provides a solid technical foundation for you to build on. It allows you to focus on modelling your domain, the most important part of your app, creating a better application at a faster pace.

akka-ddd - Akka CQRS/ES framework

  •    Scala

Akka-DDD is a framework for building distributed services following DDD/CQRS/ES architecture on top of the Akka platform. Thanks to the pluggable architecture of the Akka-Persistence, Akka-DDD is not tied to any particular event journal provider. The services are built as actor systems. Different services can be distributed in the same cluster (Akka cluster) or can be deployed to independent clusters.


ncqrs - Ncqrs Framework - The CQRS Framework for .NET

  •    CSharp

Ncqrs is a framework for .NET helps build scalable, extensible and maintainable applications by supporting developers apply the Command Query Responsibility Segregation (CQRS) architectural pattern. It does so by providing an infrastructure and implementations for the most important building blocks for command handling, domain modeling, event sourcing, and so. These building blocks help you to focus on the code that adds business value. They come with annotation, convention and configuration support and help you to write isolated and testable. Run BUILD.bat to build the Ncqrs Framework. This will build the framework, run all the tests and updates all the lib folders of other solutions (extensions and sample) with the result.

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

  •    CSharp

Orleankka is a functional API for Microsoft Orleans framework. It is highly suitable for scenarios where having composable, uniform communication interface is preferable, such as: CQRS, event-sourcing, re-routing, FSM, etc.References: intro, features, slides and discussion.

Apworks - Apworks is a flexible, scalable, configurable and efficient

  •    CSharp

This repo is out of date and will no longer be maintained. Please refer to https://github.com/daxnet/apworks-core for the new, modern and latest version of Apworks. Apworks Core is the rewrite of Apworks framework, supporting Microsoft .NET Core. Apworks is a flexible, scalable, configurable and efficient .NET based application development framework that helps software developers to easily build enterprise applications by applying either Classic Layering or Command-Query Responsibility Segregation (CQRS) architectural patterns. Apworks provides the fundamental libraries and tools for practicing and implementing Domain-Driven Design concepts such as entities, value objects, repositories, factories, specifications, event sourcing, snapshots, domain repositories, message dispatching and synchronization, etc. It also provides the utilities from infrastructure level such as Inversion of Control/Dependency Injection (IoC/DI) components, AOP interception, exception handling & logging, so that architects and developers can focus on the business domain and communicate with domain experts via ubiquitous language without any concern of technical implementations.

cqrs-manager-for-distributed-reactive-services - Experimental CQRS and Event Sourcing service

  •    Java

CQRS Manager for Distributed Reactive Services (herein abbreviated CMDR), is a reference implementation for the key component in a specific architecture for building distributed information services following a Log-centric REST+CQRS+ES design. IMPORTANT! This is alpha-quality software, meant mostly to demonstrate the Log-centric REST+CQRS+ES architecture described in the linked talks, and to facilitate learning and discussion.

Apworks

  •    DotNet

A .NET based DDD application development framework.

awesome-ddd - A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources

  •    

A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources.The term was coined by Eric Evans in his book of the same title.

eventstore - CQRS event store using PostgreSQL for persistence

  •    Elixir

CQRS event store implemented in Elixir. Uses PostgreSQL as the underlying storage engine. Requires Elixir v1.5 and PostgreSQL v9.5 or newer.

eventhorizon - CQRS/ES toolkit for Go

  •    Go

Event Horizon is a CQRS/ES toolkit for Go. CQRS stands for Command Query Responsibility Segregation and is a technique where object access (the Query part) and modification (the Command part) are separated from each other. This helps in designing complex data models where the actions can be totally independent from the data output.

banksimplistic - Exploring CQRS, Event Sourcing and DDD with Ruby

  •    Ruby

Exploring CQRS, Event Sourcing and DDD with Ruby

mixter - CQRS and Event Sourcing Koans

  •    CSS

Mixter is a project to discover CQRS/Event sourcing through koans in multiple languages. At this point the koans have been ported to 5 languages: C#, Java 8, Scala, PHP and Javascript.

ddd-leaven-akka-v2 - Sample e-commerce system #Microservices #Akka #Reactive-DDD #CQRS

  •    Scala

Sample e-commerce application built on top of Akka and EventStore following a CQRS/DDDD-based approach.

Cqrs EventSourcing with Wcf Application

  •    

Cqrs Event Sourcing with Wcf Application

watermill - Building event-driven applications easy way in Go.

  •    Go

Watermill is a Go library for working efficiently with message streams. It is intended for building event driven applications, enabling event sourcing, RPC over messages, sagas and basically whatever else comes to your mind. You can use conventional pub/sub implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog if that fits your use case. Note: Watermill should run reliably in a production environment, but it is still under heavy development and the public API may change before the 1.0.0 release.