Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Spring System Design in Practice

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course offers a practical approach to system design with Java Spring, teaching you to build scalable, maintainable web applications. It covers microservices, Spring Boot, and key design patterns, ensuring you can apply these concepts to real-world projects. By the end of the course, you'll be proficient in designing complex systems, making strategic decisions about service architectures, and optimizing performance using both synchronous and asynchronous methods. What sets this course apart is its hands-on nature, where you’ll apply your learning to build a complete application while understanding core architectural principles. This course is perfect for developers with some Java and Spring experience who are looking to elevate their system design skills and prepare for more senior roles.

Syllabus

  • What Are the Product Requirements
    • In this section, we explore identifying business problems, articulating problem-solution statements, and avoiding technical choices in requirements to ensure clear, user-aligned software development.
  • Sorting Complex Requirements into Features, Use Cases, and Stories
    • In this section, we break down complex requirements into features, use cases, and user stories. It focuses on structuring business requirements, clarifying roles, and defining workflows for software development.
  • Defining Domains for Your Application
    • In this section, we prioritize high-value features, define application domains and boundaries, and model interactions through diagrams to align technical and business goals effectively.
  • Defining Services for Your Domains
    • In this section, we explore non-functional requirements, user handling, data maintenance, disaster recovery, and testing to ensure system reliability and performance.
  • Writing Your Services Introducing REST APIs with the Spring Framework
    • In this section, we implement RESTful APIs using Spring, design controllers for HTTP requests, and analyze Spring bean lifecycle and dependencies.
  • Translating Business Requirements into Well-Designed Spring APIs
    • In this section, we translate business requirements into well-designed Spring APIs, focusing on microservice blueprints, REST clarity, and automated testing for reliable applications.
  • Handling Data and Evolving Your Microservice
    • This section covers SQL persistence with Spring Data, reactive vs non-reactive data handling, and microservice data modeling.
  • Securing Services with Spring Security and OAuth 2.0
    • In this section, we explore securing services using Spring Security and OAuth 2.0, focusing on JWT token validation and practical implementation strategies for microservices.
  • High-Performance Secure Communication Between Spring Services
    • In this section, we explore high-performance secure communication between Spring services using WebFlux and RestAssured, focusing on reactive architectures and integration testing.
  • Building Asynchronous, Event-Driven Systems with NoSQL Databases
    • In this section, we explore event-driven architectures using Kafka and NoSQL databases, focusing on reducing service coupling and improving system maintainability through asynchronous design patterns.
  • Launching Your Self-Organizing Microservice Cloud
    • In this section, we explore structured logging, environment-specific property management, and Spring Cloud configuration for scalable microservices. These concepts enable efficient cloud deployment and service orchestration.
  • Optimizing Your Services
    • In this section, we explore strategies for optimizing service resilience, including caching, fault tolerance with Resilience4j, and throttling for high traffic management.

Taught by

Packt - Course Instructors

Reviews

Start your review of Spring System Design in Practice

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.