Java Framework for Scalable and High-Performance Applications
Axon is a Java Framework developed with one goal: solving common application complexity to enable developers to focus on the essence of business problems. Axon Framework offers extreme application scalability, handling a huge number of concurrent events while maintaining application consistency in distributed systems. Axon Framework is based on CQRS principles and fits perfectly in the modern architectural pattern of Microservices.
The market moves quickly, and the ability to scale quickly is crucial for a business’ existence. With today’s cloud solutions, companies are able to be flexible in how they scale their hardware, and the Axon Framework hereby makes sure your software solution scales too!
It’s easy to spend a lot of time and money on infrastructure, but with Axon, a highly scalable system can be built quickly, for a fair price.
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 among different servers and hereby realizing linear scaling.
Applications evolve during their lifetime. By the time a project goes into production, many changes will have been made due to new insights or requirement changes. Axon Framework promotes loose coupling between components by using components in an application. This ensures that changes in one component will not directly affect behavior in another component.
Besides making components much easier to adjust, it also makes adding new components easier. By simply connecting to the message bus, addition of new components doesn’t require existing components to be modified. This is a huge advantage over the more traditional imperative programming approach.
Axon Framework distinguishes between two types of components; query (read) and update (write) components. This means the information structure in these components can be optimized for the purpose at hand. As a result, query components have quick access to data that is already structured for its purpose. This in itself is a performance benefit, but also allows scaling for a specific component type. For many applications, the majority of requests are for query purposes, in other words; reading data. Axon Framework enables to scale just these, and leave components of the other type intact.
Applications that need to process large amounts of requests can benefit from the high-performance component based architecture Axon provides. These components allow for efficient processing of requests, allowing processing of over 1 million messages per second, on commodity hardware.
Application security involves, among others features, authentication, authorization and auditing. While the first two are quite common in applications, auditing is often overlooked or found too costly to implement. Axon Framework provides auditing capabilities out of the box. Not only can unauthorized access being prevented, unauthorized use can be tracked down too.
Most applications need to exchange information with other systems to function properly. In the more traditional architectures, this involves writing code in different places to trigger communication with these external systems.
As the Axon Framework works with an asynchronous message bus, you can easily add components which provides integration with 3rd party systems without intruding the original application behavior. This holds for both in- and outbound 3rd party systems. This architecture makes integration with several external systems possible, without increasing complexity.
Axon Experts at Trifork
Trifork, as the birth place of the Axon framework, is one of the few companies with several years of production experience in applying CQRS and event sourcing: approaches which are especially great for building scalable and auditable systems in complex domains, and have become very popular recently with the rise of microservices-based systems.
If you would like to know more, contact us!