Axon Framework 2.0 helps Java applications scale
The Trifork developers have released version 2.0 of the Axon Framework, their open source, Command Query Responsibility Separation (CQRS) based Java application development framework. Version 2.0 of the framework includes improvements to its API, performance enhancements and features that are designed to make it easy for developers to scale their applications without significant modifications.
According to the Axon developers, the framework's separation of data reading (query) and writing (update) components, communication over an asynchronous message bus, and runtime file-based configuration makes it suitable for applications that need easy scaling, because it allows the various components of an application to be connected using a bus. This bus can be local or can run between systems to enable application components to be distributed across different servers and workstations. The bus also allows components to be refactored more easily without interfering with other code. From a security perspective, Axon provides auditing features as part of the framework, which means applications can benefit from them without extra work.
New features in Axon 2.0 include improvements to the Command Bus API and the ability to use Spring Beans from the Spring Framework in an application's methods. Applications that grow too big for the
SimpleCommandBus interface can now use a high performance Command Bus that is multithreaded and lockless. Using only two or three threads, this high-performance Command Bus is, according to the developers, able to process four times as much data as the simple bus implementation. A Distributed Command Bus allows applications to scale horizontally and events can now be distributed over the Advanced Message Queuing Protocol (AMQP), though the current client requires the use of Spring. For users of MongoDB, the MongoEventStore is now an official component of Axon and can be safely used in production applications.