Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Architecting Modern Java EE Applications

You're reading from   Architecting Modern Java EE Applications Designing lightweight, business-oriented enterprise applications in the age of cloud, containers, and Java EE 8

Arrow left icon
Product type Paperback
Published in Oct 2017
Publisher Packt
ISBN-13 9781788393850
Length 442 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Sebastian Daschner Sebastian Daschner
Author Profile Icon Sebastian Daschner
Sebastian Daschner
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Introduction FREE CHAPTER 2. Designing and Structuring Java Enterprise Applications 3. Implementing Modern Java Enterprise Applications 4. Lightweight Java EE 5. Container and Cloud Environments with Java EE 6. Application Development Workflows 7. Testing 8. Microservices and System Architecture 9. Monitoring, Performance, and Logging 10. Security 11. Conclusion Appendix: Links and further resources

Event sourcing, event-driven architectures, and CQRS


Traditionally, enterprise applications are built using a model approach that is based on the atomic Create Read Update Delete (CRUD).

The current state of the system, including the state of the domain entities, is reflected in a relational database. If a domain entity is updated, the new state of the entity including all of its properties is put into the database and the old state is gone.

The CRUD approach requires applications to maintain consistency. In order to ensure the state of the domain entity is reflected correctly, all use case invocations have to be executed in a consistent manner, synchronizing modifications to the entities.

Shortcomings of CRUD-based systems

This synchronization is also one of the shortcomings of CRUD-based systems, the way that we typically build applications.

Scalability

The required synchronization prevents the system from scaling infinitely. All transactions are executed on the relational database instance...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime