about banner




Program Overview:
This is an intensive hands-on course is aimed at experienced Spring developers. Learn how to quickly get started with Spring applications using Spring Boot. Learn how to arrange, configure and package Spring Boot applications. Learn all about the motivations and benefits of Microservices architecture. You will learn to deploy applications on to Pivotal Cloud Foundry and to bind to services. Learn all about Spring Cloud components like Zuul, Hysterix, Ribbon and Feign.

Program Duration: 3 Days

Prerequisite Skills:
  • This training assumes no prior knowledge of Spring Boot and Spring Cloud, but assumes strong working knowledge of the following:
  • Spring Core - Dependency Injection, XML, Annotation and Java Config, ApplicationContext
  • Resource Configurations , Datasources etc
  • Spring MVC and RESTful Services
Recommended Learning Resources:
  • Spring Reference Documentation
Software& Hardware requirements:
  • Java JDK 1.8
  • Eclipse for JEE [ Mars or Neon ]
  • Pivotal CF account (Optional)
  • MySql database
  • A reliable and unrestricted internet connection
High Level Course Contents
  • Spring Boot
  • Microservices Architecture
  • Spring Cloud
  • Deploying on Pivotal Cloud (Optional, time permitting)
  • Spring Cloud Components - Eureka, Zuul, Ribbon, Hysterix
Day 1 :

INTRODUCTION TO SPRING BOOT
  • Spring Lifecycle, Spring Boot Introduction.
  • Introducing Spring Boot
  • Installing Spring Boot
  • Structuring your code
SPRING BOOT INTERNALS
  • Spring Initializer,
  • Spring Boot Dashboard
  • Configuration, Auto-Configuration
SPRING BOOT FEATURES
  • Packaging,
  • SpringApplication class,
  • External Configuration,
  • Profiles and Logging
SPRING BOOT WEB DEVELOPMENT AND REST SERVICES
  • Developing web applications
  • Embedded servlet container support
  • Web Development with Spring Boot
Pivotal Cloud Foundry Overview & Architecture (Optional, time permitting)
  • Understanding IaaS, PaaS, and SaaS
  • Understanding the Open nature of Cloud Foundry
  • The Cloud Foundry Foundation
  • App Centric platform
  • Pivotal CF and Pivotal Web Services

Day 2 :

Microservices Architecture
  • Basic Concepts
  • SOA vs Microservices
  • Spring Boot and Microservices
  • RESTful services
  • Hypermedia
  • HATEOAS
  • Service Granularity
Spring Cloud Eureka
  • Why DiscoveryServer?
  • How to Create a Eureka Server using @EnableEurekaServer or @EnableDiscoveryServer
  • How to register Eureka Client using @EnableEurekaClient or @EnableDiscoveryClient
  • How to look up a service from Eureka Server
Spring Cloud Ribbon
  • Why Client Side Load Balancing?
  • What is ribbon and how to use spring ribbon?
Spring Cloud Hystrix
  • What is a circuit breaker?
  • Using Hystrix with Ribbon and Feign
Zuul API Gateway
  • Why API Gateway?
  • What is ZUUL ?
Spring Cloud Config
  • Configuring Server and client pointing to configuration file in github
  • @EnableConfigServer
  • HTTP, resource-based API for external configuration
Spring Cloud Feign
  • What is a Feign?
  • Implementing REST Clients in declarative approach