Mastering Microservices with Spring Boot and Spring Cloud Training

About the Training

The “Mastering Microservices with Spring Boot and Spring Cloud” training teaches the use of Spring Boot and Spring Cloud technologies for developing Java-based microservices. This training covers the fundamental topics that participants will need during the process of building a microservices architecture.

The training teaches the core structures of Spring Boot, data processing, RESTful services, debugging, and other essential concepts. Participants improve their Spring Boot coding skills through examples and projects.

The training also teaches the use of Spring Cloud for developing microservices. Participants learn the key features of Spring Cloud, such as managing distributed systems, service discovery, external configuration, data flow, and other capabilities. Additionally, they gain an understanding of how various components of Spring Cloud work.

The “Mastering Microservices with Spring Boot and Spring Cloud” training covers the entire process of building a microservices architecture. Participants acquire the fundamental skills they need before starting microservices development. Learning is facilitated through examples, hands-on applications, and projects, helping participants begin developing microservices.

The program starts with the basics of Spring Boot. Participants learn fundamental concepts such as creating RESTful services with Spring Boot, managing data access, and configuration. Additionally, topics like deploying and managing microservices with Spring Cloud, service discovery, and external configuration are emphasized. These topics form the foundation that participants need for building a microservices architecture.

The training focuses on the key features and components of Spring Cloud. This equips participants with the ability to utilize the various capabilities and services of microservices, covering topics such as inter-service communication, load balancing, data flow, and managing distributed systems.

Lastly, the training provides information on how to package and deploy a microservice. This process includes conducting final tests, deploying the application, managing it, and ultimately bringing the service into production. This knowledge helps participants successfully deploy their microservices.

What Will You Learn?

In the Mastering Microservices with Spring Boot and Spring Cloud training, you will learn the following topics:
  • The fundamental concepts, advantages, and disadvantages of microservices architecture.
  • How to develop microservice applications quickly and efficiently using Spring Boot.
  • How to deploy and manage microservice applications using Spring Cloud.
  • Learn how to work with Spring Boot and Spring Cloud for database integration.
  • Learn how to work with Spring Boot and Spring Cloud for inter-service communication.
  • Learn how to handle security and authentication for microservice applications using Spring Boot and Spring Cloud.
These topics cover how to develop, configure, and manage microservice applications and focus on application development using the Java programming language.

Prerequisites

The prerequisites for the “Mastering Microservices with Spring Boot and Spring Cloud” training are as follows:
  • Basic knowledge of the Java programming language.
  • Understanding and application of Object Oriented Programming (OOP) concepts.
  • Basic knowledge of RESTful Web Services.
  • Basic knowledge of databases and SQL.
  • Familiarity with operating systems and terminal/command line usage.
These prerequisites will help you understand how to develop, configure, and manage microservice applications and enable you to work effectively during the training. If you do not meet these prerequisites, it is recommended to learn and practice these topics first.

Who Should Attend?

The Mastering Microservices with Spring Boot and Spring Cloud training is suitable for the following professional profiles:
  • Java Developers: Java developers looking to receive advanced training in microservices architecture and application development using Spring Boot and Spring Cloud.
  • Enterprise Developers: Enterprise developers seeking advanced training in developing, configuring, and managing large-scale applications.
  • DevOps Professionals: DevOps professionals aiming to receive advanced training in application deployment, configuration, and management using microservices architecture with Spring Boot and Spring Cloud.
  • Software Architects: Software architects who want to understand the advantages and disadvantages of microservices architecture and learn how to develop, configure, and manage applications using Spring Boot and Spring Cloud for their projects.

Outline

Introduction to the Spring Framework
  • What is the Spring Framework?
  • Spring Philosophies
  • Why Spring?
  • Spring Modules
  • Requirements and Supported Environments
  • Using Spring with Servers
  • Role of Spring Container
  • Spring Example
  • Avoiding Dependency on Spring
  • Additional Spring Projects/Frameworks
  • Summary
Spring Annotation Configuration
  • Spring Containers
  • Annotation-based Spring Bean Definition
  • Scanning for Annotation Components
  • Defining Component Scope Using Annotations
  • JSR-330 @Named Annotation
  • JSR-330 @Scope
  • Annotation-based Dependency Injection
  • Wiring Bean using @Inject
  • @Autowired – Constructor
  • @Autowired – Field
  • @Autowired – method
  • @Autowired – Collection
  • @Autowired – Maps
  • @Autowired & @Qualifier with Constructors, Fields, and Methods
  • @Autowired & Custom Qualifiers
  • @Autowired & Simple Custom Qualifier Field
  • @Autowired & Simple Custom Qualifier Method
  • @Autowired & CustomAutowireConfigurer
  • Dependency Injection Validation
  • @Resource
  • @PostConstruct and @PreDestroy
  • Summary
Spring Framework Configuration
  • Java @Configuration Classes
  • Defining @Configuration Classes
  • Loading @Configuration Classes
  • Modularizing @Configuration Classes
  • Qualifying @Bean Methods
  • Trouble with Prototype Scope
  • Configuration with Spring Expression Language
  • Resolving Text Messages
  • Spring Property Conversion
  • Spring Converter Interface
  • Using Custom Converters
  • Spring PropertyEditors
  • Registering Custom PropertyEditors
  • Summary
Introduction to Spring Boot
  • What is Spring Boot?
  • Spring Boot Main Features
  • Spring Boot on the PaaS
  • Understanding Java Annotations
  • Spring MVC Annotations
  • Example of Spring MVC-based RESTful Web Service
  • Spring Booting Your RESTful Web Service
  • Spring Boot Skeletal Application Example
  • Converting a Spring Boot Application to a WAR File
  • Externalized Configuration
  • Starters
  • The ‘pom.xml’ File
  • Spring Boot Maven Plugin
  • HOWTO: Create a Spring Boot Application
  • Summary
Spring MVC
  • Spring MVC
  • Spring Web Modules
  • Spring MVC Components
  • DispatcherServlet
  • Template Engines
  • Spring Boot MVC Example
  • Spring MVC Mapping of Requests
  • Advanced @RequestMapping
  • Composed Request Mappings
  • Spring MVC Annotation Controllers
  • Controller Handler Method Parameters
  • Controller Handler Method Return Types
  • View Resolution
  • Spring Boot Considerations
  • Summary
Overview of Spring Boot Database Integration
  • DAO Support in Spring
  • Spring Data Access Modules
  • Spring JDBC Module
  • Spring ORM Module
  • DataAccessException
  • @Repository Annotation
  • Using DataSources
  • DAO Templates
  • DAO Templates and Callbacks
  • ORM Tool Support in Spring
  • Summary
Using Spring with JPA or Hibernate
  • Spring JPA
  • Benefits of Using Spring with ORM
  • Spring @Repository
  • Using JPA with Spring
  • Configure Spring Boot JPA EntityManagerFactory
  • Application JPA Code
  • “Classic” Spring ORM Usage
  • Spring JpaTemplate
  • Spring JpaCallback
  • JpaTemplate Convenience Features
  • Spring Boot Considerations
  • Spring Data JPA Repositories
  • Summary
Introduction to MongoDB
  • MongoDB
  • MongoDB Features
  • MongoDB’s Logo
  • Positioning of MongoDB
  • MongoDB Applications
  • MongoDB Data Model
  • MongoDB Limitations
  • MongoDB Use Cases
  • MongoDB Query Language (QL)
  • The CRUD Operations
  • The
  • find
  • Method
  • The
  • findOne
  • Method
  • A MongoDB QL Example
  • Data Inserts
  • MongoDB vs Apache CouchDB
  • Summary
Working with Data in MongoDB
  • Reading Data in MongoDB
  • The Query Interface
  • Query Syntax is Driver-Specific
  • Projections
  • Query and Projection Operators
  • MongoDB Query to SQL Select Comparison
  • Cursors
  • Cursor Expiration
  • Writing Data in MongoDB
  • An Insert Operation Example
  • The Update Operation
  • An Update Operation Example
  • A Remove Operation Example
  • Limiting Return Data
  • Data Sorting
  • Aggregating Data
  • Aggregation Stages
  • Accumulators
  • An Example of an Aggregation Pipe-line
  • Map-Reduce
  • Summary
Spring Data with MongoDB
  • Why MongoDB?
  • MongoDB in Spring Boot
  • xml
  • Application Properties
  • MongoRepository
  • Custom Query Methods
  • Supported Query Keywords
  • Complex Queries
  • Create JavaBean for Data Type
  • Using the Repository
  • Summary
Spring REST Services
  • Many Flavors of Services
  • Understanding REST
  • RESTful Services
  • REST Resource Examples
  • REST vs SOAP
  • REST Services With Spring MVC
  • Spring MVC @RequestMapping with REST
  • Working With the Request Body and Response Body
  • @RestController Annotation
  • Implementing JAX-RS Services and Spring
  • JAX-RS Annotations
  • Java Clients Using RestTemplate
  • RestTemplate Methods
  • Summary
Spring Security
  • Securing Web Applications with Spring Security 3.0
  • Spring Security 3.0
  • Authentication and Authorization
  • Programmatic v Declarative Security
  • Getting Spring Security from Maven
  • Spring Security Configuration
  • Spring Security Configuration Example
  • Authentication Manager
  • Using Database User Authentication
  • LDAP Authentication
  • Summary
Spring JMS
  • Spring JMS
  • JmsTemplate
  • Connection and Destination
  • JmsTemplate Configuration
  • Transaction Management
  • Example Transaction Configuration
  • Producer Example
  • Consumer Example
  • Converting Messages
  • Message Listener Containers
  • Message-Driven POJO’s Async Receiver Example
  • Message-Driven POJO’s Async Receiver Configuration
  • Spring Boot Considerations
  • Summary
Microservices
  • What is a “Microservice”?
  • One Helpful Analogy
  • SOA – Microservices Relationship
  • ESB – Microservices Relationship
  • Traditional Monolithic Designs and Their Role
  • Disadvantages of Monoliths
  • Moving from a Legacy Monolith
  • When Moving from a Legacy Monolith
  • The Driving Forces Behind Microservices
  • How Can Microservices Help You?
  • The Microservices Architecture
  • Utility Microservices at AWS
  • Microservices Inter-connectivity
  • The Data Exchange Interoperability Consideration
  • Managing Microservices
  • Implementing Microservices
  • Embedding Databases in Java
  • Microservice-Oriented Application Frameworks and Platforms
  • Summary
Spring Cloud Config
  • The Spring Cloud Configuration Server
  • Why Configuration Management is Important
  • Configuration Management Challenges in Microservices
  • Separation of Configuration from Code
  • Configuration Service
  • How the Configuration Service Works
  • Cloud Config Server Properties File
  • Git Integration
  • Properties
  • Configuration Client
  • Sample Client Config File
  • Sample Client Application
  • Dynamic Property Updates – Server
  • Dynamic Property Update – Client
  • Dynamic Property Update – Execute
  • Summary
Service Discovery with Netflix Eureka
  • Service Discovery in Microservices
  • Load Balancing in Microservices
  • Netflix Eureka
  • Eureka Architecture
  • Communications in Eureka
  • Time Lag
  • Eureka Deployment
  • Peer Communication Failure between Servers
  • Eureka Server Configuration
  • Eureka Client/Service
  • Eureka Client Properties
  • Spring Cloud DiscoveryClient Interface
  • ServiceInstance JSON
  • ServiceInstance Interface
  • What about Services
  • Eureka and the AWS Ecosystem
  • Summary
Load-Balancing with Netflix Ribbon
  • Load Balancing in Microservices
  • Netflix Ribbon
  • Server-side load balance
  • Client-side Load Balance
  • Architecture
  • Load Balance Rules
  • RoundRobinRule
  • AvailabilityFilteringRule
  • WeightedResponseTimeRule
  • RandomRule
  • ZoneAvoidanceRule
  • IPing Interface (Failover)
  • Using Ribbon
  • YAML Configuration
  • Configuration Class
  • Client Class
  • Client Class Implementation
  • Integration with Eureka (Service Discovery)
  • Using Ribbon in the Amazon AWS Cloud
  • Summary
Application Hardening with Netflix Hystrix
  • Netflix Hystrix
  • Design Principles
  • Design Principles (continued)
  • Cascading Failures
  • Bulkhead Pattern
  • Circuit Breaker Pattern
  • Thread Pooling
  • Request Caching
  • Request Collapsing
  • Fail-Fast
  • Fallback
  • Using Hystrix
  • Circuit Breaker Configuration
  • Fallback Configuration
  • Collapser Configuration
  • Rest Controller and Handler
  • Collapser Service (Part 1)
  • How the Collapser Works
  • Hystrix Monitor
  • Enable Monitoring
  • Turbine
  • The Monitor
  • Monitor details
  • Summary
Edge Components with Netflix Zuul
  • Zuul is the Gatekeeper
  • Request Handling
  • Filters
  • Filter Architecture
  • Filter Properties
  • filterType()
  • filterOrder()
  • shouldFilter()
  • Run()
  • Cancel Request
  • Dynamic Filter Loading
  • Filter Communications
  • Routing with Eureka and Ribbon
  • Summary
Distributed Tracing with Zipkin
  • Zipkin
  • Zipkin Features
  • Architecture
  • The Collector
  • Storage
  • API
  • GUI Console
  • Zipkin Console Homepage
  • View a Trace
  • Trace Details
  • Dependencies
  • Dependency Details
  • Zipkin in Spring Boot
  • Zipkin Configuration
  • Summary

Training Request Form

Microservices Training

The Microservices Training provides participants with the knowledge and skills necessary to understand and implement microservices architecture. This training covers the transition from monolithic architecture

Eğitimi İncele »