axon framework · 2016-01-20 · event sourcing scalability performance framework integration...

2
AXON FRAMEWORK HELPS TO: Reduce time required for developing extremely scalable applications Focus on essential complexity of the domain while avoiding incidental complexity Prevent concurrency issues Maintain application consistency in distributed systems Separate business logic from non-functional issues 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. Storage command result Command Handling Component publish update Event Handling Components persist Storage UI Domain Model Domain Model query CLASSIFIED PROJECT IN BELGIUM Project was designed and developed based on the CQRS principles, but did not use Axon initially. All infrastructure components were therefore built as a part of the project. The team initially thought that the implementation was quite simple and did not want to spend time learning Axon. All went well until the application needed to scale up; it became quite complex and all the components needed to be redeveloped. Spending more time upfront and learning how to use Axon from the beginning would have saved considerable amounts of time when it came to upscaling. Why? Because implementing the command bus on one computer is simple, while scaling to more machines means serialization, invoking callbacks, keeping in mind that the system can be down, etc. Axon has solved the complexity of scaling and offers many other handy features such as Spring integration, addition of commands, addition of events, etc. In the end, the Belgian project was rebuilt using Axon Framework. Address: Rijnsburgstraat 9 1059 AT Amsterdam Call us: +31 20 486 2036 Email: [email protected] www.trifork.nl/axonframework CONCEPTS Axon is built on CQRS principles. The CQRS pattern describes a clear distinction between two parts of an application: one that processes commands and one that executes queries on data. Separating these two domains enables developers to build less complex and better maintainable applications. Axon enables developers to easily build their applications following this pattern without having to worry about cumbersome issues such as concurrency and scalability. WHY AXON? Axon is designed to help build complex and highly scalable applications. The framework allows developers to focus on building the features that really matter. Axon’s primary goals are simplifying decoupling in the application, solving concurrency issues in high performance systems, and most importantly, enabling easy application scaling at any time. Advantages like the effortless creation of occasionally connected clients, location transparency to enable cloud deployment, or natural support for Microservices architectures enable fast software development. It’s easy to spend a lot of time and money on infrastructure, but with Axon, a highly scalable system can be built quickly, and for a modern price AXON FRAMEWORK DATASHEET

Upload: others

Post on 25-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AXON FRAMEWORK · 2016-01-20 · EVENT SOURCING SCALABILITY PERFORMANCE FRAMEWORK INTEGRATION COMPLEXITY WHERE IS AXON USED • Enabling Microservices, based on CQRS principles •

AXON FRAMEWORK HELPS TO:

• Reduce time required for developing extremely scalable applications

• Focus on essential complexity of the domain while avoiding incidental complexity

• Prevent concurrency issues

• Maintain application consistency in distributed systems

• Separate business logic from non-functional issues

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 o�ers 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 �ts perfectly in the modern architectural pattern of Microservices.

Storage

command

result

CommandHandling

Component

publish

update

EventHandling

Components

persist

Storage

UI

DomainModel

DomainModel

query

CLASSIFIED PROJECT IN BELGIUMProject was designed and developed based on the CQRS principles, but did not use Axon initially. All infrastructure components were therefore built as a part of the project. The team initially thought that the implementation was quite simple and did not want to spend time learning Axon. All went well until the application needed to scale up; it became quite complex and all the components needed to be redeveloped. Spending more time upfront and learning how to use Axon from the beginning would have saved considerable amounts of time when it came to upscaling. Why? Because implementing the command bus on one computer is simple, while scaling to more machines means serialization, invoking callbacks, keeping in mind that the system can be down, etc. Axon has solved the complexity of scaling and o�ers many other handy features such as Spring integration, addition of commands, addition of events, etc. In the end, the Belgian project was rebuilt using Axon Framework.

Address: Rijnsburgstraat 9 1059 AT AmsterdamCall us: +31 20 486 2036Email: [email protected]

www.trifork.nl/axonframework

CONCEPTS

Axon is built on CQRS principles. The CQRS pattern describes a clear distinction between two parts of an application: one that processes commands and one that executes queries on data. Separating these two domains enables developers to build less complex and better maintainable applications. Axon enables developers to easily build their applications following this pattern without having to worry about cumbersome issues such as concurrency and scalability.

WHY AXON?

Axon is designed to help build complex and highly scalable applications. The framework allows developers to focus on building the features that really matter.

Axon’s primary goals are simplifying decoupling in the application, solving concurrency issues in high performance systems, and most importantly, enabling easy application scaling at any time. Advantages like the e�ortless creation of occasionally connected clients, location transparency to enable cloud deployment, or natural support for Microservices architectures enable fast software development. It’s easy to spend a lot of time and money on infrastructure, but with Axon, a highly scalable system can be built quickly, and for a modern price

AXON FRAMEWORKDATASHEET

Page 2: AXON FRAMEWORK · 2016-01-20 · EVENT SOURCING SCALABILITY PERFORMANCE FRAMEWORK INTEGRATION COMPLEXITY WHERE IS AXON USED • Enabling Microservices, based on CQRS principles •

www.trifork.nl/axonframework

“... DO NOT REINVENT THE WHEEL,FOCUS ON THE IMPORTANT STUFF”

Address: Rijnsburgstraat 9 1059 AT AmsterdamCall us: +31 20 486 2036Email: [email protected]

FEATURES

EVENT SOURCING

SCALABILITY

PERFORMANCE

FRAMEWORK INTEGRATION

COMPLEXITY

WHERE IS AXON USED

• Enabling Microservices, based on CQRS principles

• No single point of failure

• Reactivity

• Resilience (failover) enables high availability

• Real-time

• Given-When-Then test �xtures

• OSGi support

• Complex business transactions (invoicing as example)

• Audit trail

• Snapshotting

• Upcasting

• Location transparency

• Messaging / event driven

• Cost-e�ective scaling from single node to multiple data centers

• Proven architecture, handles millions of transactions

• Distributed events & commands

• Consistent Hashing

• Per-component focus on the right amount of e�ort to improve performance

• Isolated models allow focusing on performance characteristics of each model

• Axon components are tuned for performance

• Spring

• JPA

• MongoDB

• AMQP

• JGroups

• IntelliJ Plugin

• Separate infrastructure from business logic

• Domain modeling

• Systems integration

• Trading platform

• Online payment processing

• Online gaming and betting

• Logistics

• Healthcare

• Innovative banking solutions

• … anywhere