Building Modern Business Applications: Reactive Cloud Architecture for Java, Spring, and PostgreSQL
Discover a new way of thinking about business applications in light of the massive industry shift toward cloud computing and reactive programming technologies. This book synthesizes technologies and techniques such as event sourcing, command query responsibility segregation (CQRS), property-based testing, and GraphQL into a cohesive guide for modern business applications that benefit every developer.
The book begins with a look at the fundamentals of modern business applications. These fundamentals include business rules and the managing of data over time. The benefits of reactive techniques are explained, including how they are fundamentally aligned with what application developers strive to achieve in their work.
Author Peter Royal equips you with sound guidance to follow as you evolve your existing systems, as well as examples of how to build those systems using modern techniques in Spring, Java, and PostgreSQL.
What You Will Learn
- Architect business applications for cloud-based environments
- Design sustainable business applications
- Integrate GraphQL best practices into business applications
- Use property-based testing to exhaustively test possible system states
- Think about business applications in terms of message flows
- Relate the benefits of reactive systems to business goals
- Model time appropriately for business requirements
Who This Book Is For
Practicing software developers who are building business applications, developers who are being asked to deploy into cloud environments that are more volatile than statically provisioned data centers, developers who want to increase the reliability of their systems and are struggling to find the right paradigms and architectures to achieve their goals, developers who see and use capabilities in software in other areas of their lives and want to bring those capabilities into their own work, and developers with experience designing other types of software who want to learn how to design business applications