Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Results Page:  Previous Next
Author Royal, Peter, author.

Title Building modern business applications : reactive cloud architecture for Java, Spring, and PostgreSQL / Peter Royal. [O'Reilly electronic resource]

Publication Info. New York, NY : Apress, [2023]
QR Code
Description 1 online resource (189 p.)
Summary 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.
Contents Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Part I: Business Applications -- Chapter 1: What Is a Business Application? -- Business Software -- Domain Specific -- How It Is Used -- Measuring Importance -- "Modern" -- Summary -- Chapter 2: The Status Quo (and How It Came to Be) -- Business Application Architectures -- The Status Quo -- Green Screen -- Rich Client -- Web Applications -- The Rise of Consumer Applications -- Concurrent Practices -- Agile -- Test-Driven Development -- Continuous Integration and Delivery
Observability -- Summary -- Part II: Design Prerequisites -- Chapter 3: What Is a Reactive System? -- What Is Reactive? -- Reactive Manifesto -- Responsive -- Resilient -- Elastic -- Message Driven -- Composing a Reactive System -- Summary -- Chapter 4: Why Build Business Applications As Reactive Systems? -- Business Expectations -- Developer Expectations -- Property Alignment -- Responsive -- Resilient -- Elastic -- Message Driven -- Summary -- Chapter 5: What Is a Business Rule? -- Thinking About Business Rules -- Categorizations -- Data at Rest -- Side Effects -- Derivable Data -- Summary
Chapter 6: Managing Time -- Answering "What Happened?" -- Tracking Changes -- Why Did That Happen? -- Events -- Commands -- Understanding Time -- Serialization of Time -- Eventual Consistency -- Bitemporality -- Business Rule Changes -- Summary -- Part III: Design -- Chapter 7: Constraints and Principles -- Constraints -- From REST to a Graph -- Falcor -- GraphQL -- Why GraphQL -- Being Real-Time -- Principles -- Never Forget -- Message Driven -- Read/Write Separation -- Partial Availability -- Design Flexibility -- Modularity -- Testability -- Amenability to Change -- Summary
Chapter 8: High-Level Data Flow -- Event Sourcing and CQRS -- Thinking in GraphQL Schemas -- Scalars and Enums -- Objects -- Lists -- Input Objects -- Interfaces and Unions -- Queries and Subscriptions -- Mutations -- Combining GraphQL + ES + CQRS -- Summary -- Chapter 9: Command Processor -- What It Is, and Is Not -- Requirements -- Composing the Core Loop -- Handling Failures -- Infrastructure -- Application -- Enforcing Business Rules -- How to Test -- Testing the Command Processor -- Testing Your Code -- Summary -- Chapter 10: Command Generator -- Interaction with GraphQL
From Input Arguments into a Command -- Appending to the Command Log -- Returning the Mutation Result -- Commands and Other Required Data -- Handling Failures -- Optimistic Locking -- Timeouts -- Testing the Command Generator -- Command Submission -- Command Creation -- Summary -- Chapter 11: Event Materializer -- Defining the View Model -- Event Materializer Behavior -- Transactions -- Consistency -- Multiple Sources -- Evolving the View Model -- Communicating Changes to Others -- GraphQL Subscriptions -- Other Side Effects -- Managing Failure -- Testing -- Summary
Subject Business -- Data processing.
Cloud computing.
Java (Computer program language)
Gestion -- Informatique.
Infonuagique.
Java (Langage de programmation)
Business -- Data processing
Cloud computing
Java (Computer program language)
Other Form: Print version: Royal, Peter Building Modern Business Applications Berkeley, CA : Apress L. P.,c2022 9781484289914
ISBN 9781484289921 electronic book
1484289927 electronic book
Standard No. 10.1007/978-1-4842-8992-1 doi
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information