Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Spring System Design in Practice
  • Table Of Contents Toc
Spring System Design in Practice

Spring System Design in Practice

By : Rodrigo Santiago
close
close
Spring System Design in Practice

Spring System Design in Practice

By: Rodrigo Santiago

Overview of this book

Software system design goes beyond just writing code—it requires a structured approach to translating real-world requirements into scalable, maintainable solutions. With Rodrigo Santiago’s hands-on mentoring style and Java Spring expertise, he makes system design accessible to developers at all levels. Spring System Design in Practice guides you through building robust software architectures with Spring. From breaking down complex business needs into actionable use cases to implementing services using Spring Boot, this book equips you with the tools and best practices needed for developing secure, high-performance applications. You'll explore inter-service communication, security, and aspect-oriented programming to streamline development. Covering microservices architecture, the book demonstrates how to create self-configuring, resilient, and event-driven services that integrate seamlessly into the cloud. Through hands-on experience, you'll apply best practices to enhance reliability and scalability while tackling complex challenges such as state management, resilience patterns, concurrency issues, and distributed transactions—including bottlenecks related to asynchronous and reactive programming.By the end of this book, you'll have the confidence to analyze system requirements and design well-structured, scalable architectures.
Table of Contents (19 chapters)
close
close
1
Part 1: Foundations for System Design
6
Part 2: Designing Great Spring Services
10
Part 3: Security, Performance, and Scalability
14
Part 4: Orchestrating Resilient Services

Preface

Welcome to this journey into the heart of Spring! If you’ve ever stared at a blank IDE, wondering where to even begin when building a robust, scalable service, you’re not alone. The world of software development is full of grand ideas and ambitious goals, but turning those into well-structured, maintainable applications? That’s both an art and a science. This book is here to help you bridge that gap.

We will start with the foundations because great software is built on clarity. We’ll walk through dissecting requirements, distinguishing between functional and non-functional needs, and transforming them into domain objects and solid API contracts. It’s like laying down the blueprint before building a skyscraper—you wouldn’t want your application to topple at the first gust of real-world complexity.

Then, we’ll roll up our sleeves and get into the real magic: building services with Spring. How should interfaces interact with implementations? What’s a clean way to design services that will grow gracefully over time? We’ll answer these questions and propose a practical blueprint for creating new APIs and communicating seamlessly with other systems. And since security is a non-negotiable in today’s world, we’ll dive into user authentication, token creation, and validation using asymmetric keys.

Of course, no journey is complete without a few obstacles. We’ll face them head-on with testing—unit tests, integration tests, and end-to-end tests—ensuring that what we build is not just functional, but reliable. We’ll also explore event-driven architectures, discuss best practices for handling data integrations with SQL and NoSQL databases, and even build a fully-fledged Spring Cloud application.

But what happens when things go wrong? Because, let’s face it, they will. Services fail, networks break, and race conditions lurk in the shadows. That’s why we’ll also talk about designing for resilience: structuring configurations effectively, handling failures gracefully, and resolving concurrency issues like a seasoned architect.

Throughout this book, we’ll keep things practical. This isn’t an abstract tour of Spring 6’s features; it’s a hands-on guide to building applications that work in the real world—applications that scale, recover from failures, and integrate cleanly with the systems around them. We will work from a sample application that we call the HomeIt app, which connects landlords with tenants interested in renting properties.

So, grab your favorite beverage (coffee, tea, or whatever fuels your coding sessions), fire up your IDE, and let’s build something great together. Welcome to the world of Spring!

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Spring System Design in Practice
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon