EIEIOTECHNOVATION
← Training programmes

EIEIO / CLOUD NATIVE & DEVOPS

Spring Boot with Microservices

Course outline

5 days

Duration

5 days

Introduction

  • What is Spring Boot?
  • Spring starter Maven Dependencies
  • Understanding @SpringBootApplication
  • Example of Spring MVC-based RESTful Web Service
  • Project Structure
  • Externalized Configuration application.properties and YAML
  • @ConfigurationPropetrties
  • Type Safe Properties
  • JSR303 Validation of Properties
  • Spring Environment Object
  • @Value vs @ConfigurationProperties
  • Logging
  • Actuators
  • Exposing Information about your services
  • Customize Health and Info Endpoints
  • Custom Metrics and Custom Actuator
  • Prometheus Monitoring
  • Building Web Applications
  • Controllers and ModelAttributes
  • Template Views
  • Using Embedded and External Databases
  • Spring Boot Initializers and Command Line Runners
  • Active Profiles
  • Form Submissions
  • REST Services
  • What is REST?
  • Restful Controllers
  • JSON and XML Data Exchange
  • Content Negotiation
  • Working with exception handling
  • Exception handling
  • Angular JS Accessing your Services
  • Java Clients using RestTemplate
  • ResponseEntity
  • Headers
  • Status codes
  • RequestEntity
  • Posting JSON to a Service
  • Integration with JMS and other backend services
  • Persistence with JPA Repositories
  • JPA, EntityManagers, Entity Classes, Annotation mappings
  • Spring JPA Data, CrudRepository, PagingAndSortingRepository
  • Spring Data Rest, Exposing Databases as Endpoints
  • HATEOAS JSON
  • @Projections and Excerpts
  • Restrict the data sent back to the client
  • Spring Unit Testing
  • Introduction to Microservices
  • What are Microservices?
  • Decentralized Governance, Scalability, Fault Tolerance
  • Cloud Computing
  • Spring Cloud
  • Microservice Tradeoffs
  • Key Principles – DDD/Bounded Context
  • Key Patterns – API Gateway and Security
  • Third party Communication using Spring
  • Service and Client Discovery
  • Netflix OSS
  • Core Microservice Patterns using Spring Cloud and Netflix OSS
  • Where are my Services?
  • Using Service Discovery
  • Eureka Servers and Clients
  • Scale Services
  • Load Balancing with Ribbon using Service Discovery
  • A LoadBalanced RestTemplate
  • Load Balancing with Ribbon without Service Discovery
  • Circuit Breaker, when services fail
  • Hystrix
  • Callbacks
  • Gateway/Edge Services – Providing an API
  • Zuul services
  • Filtering the Request and Response
  • Create Feign Clients to your Services
  • Event Driven Services or Sagas
  • Messaging frameworks : rabbit MQ
  • Keeping Services synchronized with each other
  • Creating Message Queues
  • Project development and deployment on Spring
  • Deploying to Docker container using AWS
  • Microservices Security
  • Microservices design patterns

Programme scope, delivery arrangements and suitability are confirmed during enquiry.