Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
15 views

Microservice Course Structure

Uploaded by

danishcs
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Microservice Course Structure

Uploaded by

danishcs
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Building MicroServices in Java for Cloud

Milestone Module
Lecture Title
Java Identifiers
Java DataTypes
Data Types, Casting, Keywords
Java Reserve words
TypeCasting in primitive types
Working with Operators
Working with flow control statements
Operator, Array, String
Working with Arrays
Working with String,StringBuilder,StringBuffer
JVM Area and its Architecture
Types of variables and its scope
JVM, Variables
var-args in java
new vs newInstance(), instanceof vs isInstance()
Java ClassNotFoundException vs NoClassDefFoundError
Concept
Exception handling
revision Exception, imports, modifiers
java file strucutre,different types of import
packages and its modifiers
Introduction to oops
Inheritance in java
OOPS and MultiThreading Method Overloading and Method Overriding
Abstract class vs interface
MultiThreading
Collections
Collection and JDBC
Usage of JDBC API

Servlet and JSP Usage of Servlet to build webapplication


Usage of JSP to design view for webapplication

Introduction to Frameworks
Programming language
Technology
Framework
Java Bean (VO /DTO/BO classes)
Component class vs java bean vs spring Bean
Need of Framework and How Spring fits into
POJI vs POJO
Enterprise world
Introduction to Spring
What is Spring
How Spring fits into the Enterprise world
Strategy Design Pattern
Types of IOC
Constructor VS Setter Injection vs Field Injection
Collection Dependency Injection
Bean Alias
Bean Scopes
Bean Autowiring
Nested Bean Factories
Using P & C Namespace
Depends-On
SpringCore Basics
Bean Lifecycle
Aware Interfaces
Static Factory Method Instantiation
Instance Factory Method Instantiation
Factory Beans
Method Replacement
Lookup Method Injection
SPRING CORE ANNOTATION SUPPORT
@Configuration
@Repository
@Required
@Autowired
Frameworks and Need of Spring @Qualifier
@Scope
@Component
@Service
@Controller
@Bean
@DependsOn
SpringCore Advanced
SpringCore Advanced @Lazy
@Value
@ComponentScan
@Profile
@Import
@ImportResource
@ContextConfiguration
@PostConstruct
@PreDestroy
@Resource
@Inject
@Named
@Primary
SpringCore mini Projects
Layered Applications /MiniProjects
using xml driven cfgs
using 100% code cfgs
using spring boot
SpringBoot starter files
Introduction to SpringBoot Building Spring Boot Application
Normal Spring Manual Approach
Maven Overview
Spring Initializer
STS
Eclipse with STS Plugin
Understanding the Spring Bootautoconfiguration

What is Persistence Layer


Best practises to follow in persistence layer
ORM Basics
Spring Data JPA Introduction
Differences between Spring ORM and Spring Data
CurdRepository introduction
CurdRepository methods for DB operations
a) save( ) method
b) saveAll( ) method
SpringDataJPA c) findById( ) method
d) findAllById( ) method
SpringDataJPA

e) findAll( ) method
f) deleteById( ) method
g) deleteAllById( ) method
h) delete( ) method
Persistence i) count( )
Layer using
SpringBoot j) existsById( )
Custom findByXXX method syntax
Custom Queries Execution in Data JPA
JpaRepository introduction
JpaRepository methods for DB operations
Pagination Using Data JPA methods
Sorting Using Data JPA Methods
Query By Example Executor
Generators
SpringDataJPA-Advanced Custom Generators in Spring Data
Embedded Database Introduction
Embedded Database vs External Database
Application Development using Embedded Database (H2)
Application Development Using MYSQL Database
Application Development Using PostGreSQL Database
Application Development Using MongoDB

Spring Boot Profile Components


Introduction
Multiple Properties files
Properties file to YML conversion
YML File
Properties file Vs YML file
SpringBoot
Profiles and logging in SpringBoot Command Line Runner Example
Profiles
Real time scenarios of components
Enviroment Object
Spring Boot Custom Logging
Logging Level
Patterns Changes
Rolling Logs

SPRING WEB MVC


Spring Web MVC Introduction
Spring Web MVC Advantages
Spring MVC Architecture
Introduction to Front Controller
Controllers
Handler Mappers
View Resolvers
Web Application development using Spring Boot
WebApplication Development using SpringBoot
Embedded HTTP Servers Introduction
a) Embedded Tomcat Server
b) Embedded Jetty Server
c) Embedded Undertow Server

Making Jetty as Default server


Web Application Deployment in External Server
Sending Data From UI to Controller
a) Query Param
b) Path Param
Sending Data From Controller to UI
a) Model
b) ModelAndView
@RequestBody annotation
@ResponseBody annotation
Working with View as JSP and Thymleaf
Introduction to Spring MVC Form Tag library
WebApplica Form Based application development using Spring Boot
tions using
Thymeleaf Introduction
SpringBoot
Web Application with Thymeleaf
Sending Email using Spring Boot
Exception Handling in Spring Boot Web Application

Spring Boot Actuators


a) Health
b) Info
c) Heapdump
Spring Mail and Exception Handling in
d) Theaddump
WebApplications
e) Beans
f) Httptrace
Spring Mail and Exception Handling in
WebApplications

g) Mappings
h) Shutdown etc

Unit Testing for Spring Boot Application using Junit with Mocking
Code Coverage using Jacocco
Spring Boot Security
Basics
Basic Authentication
Form Based Authentication
Authorization
SpringSecurity in WebApplications Remember me
Different authentication providers
Role Based Access Control
Attribute Based Access Control
LDAP Based
SSL Security & TLS Security

Distributed Applications
Distributed Technologies
SOAP vs REST
RESTful Services Introduction
REST principles
XML
XSD
One Time operations
Run Time Operations
a) Marshalling
SpringRest
b) Un Marshalling
JAX-B Introduction
JAX-B Architecture
Applications development with JAX-B
JSON Introduction
XML vs JSON
JACKSON API
Converting Java object to JSON and vice versa using Jackson API
GSON API
Converting Java Object to JSON and Vice Versa using GSON API
HTTP Protocol Details
HTTP Methods
a) GET
b) POST
c) PUT
d) DELETE
HTTP Status Codes
working a) 1XX
with b) 2xx
Distrubuted
Application c) 3xx
s d) 4xx
e) 5xx
@RestController
@RequestBody
@ResponseBody
@RequestParam
@PathVariable
MediaTypes
Consumes
SpringRest Building applications
Produces
Accept Header
Content-Type header
REST API Development using Spring Boot
POSTMAN
SWAGGER & SWAGGER UI
Exception Handling in REST API
REST Security
a) HTTP Basic Auth
b) JWT
c) OAuth2.0
Mono Objects
Flux Objects
REST Client Introduction
RestTemplate
WebClient
RestTemplate vs WebClient
Reactive Programming
Synchronous vs Asynchronous Calls
Spring AOP
AOP Concepts
Programmatic VS Declarative AOP
Programmatic AOP
i. Types of Advices
ii. Types of Pointcuts
Cross iii. Working with proxies
Cutting Spring AOP and Spring Transaction Declarative AOP
concerns i. Using AOP 2.0 Config element
ii. OGNL Expressions
Aspect J AOP

Spring Tx
Aop 2.0 Configuration driven Transaction Management
Aspect J annotation based Transaction Management

Microservices
Introduction
Principle and Characteristics
Usecases & Benefits
Challenges
Design standards
MicroServices Communication
i) Synchronous
ii) Asynchronous
Pitfalls

Microservices Design Considerations


Microservices per JVM?
Microservices share the data stores?
Microservices-1
Microservices Transaction boundaries
User Interfaces integration with Microservices
Challenges in Microservices implementation
Applying SOLID principles

Spring Cloud
Introduction
Cloud Architecture
Cloud application benefits

Spring Cloud Config


Introduction
Setup version control repository
Integration with repository

Netflix
Introduction
Microservic Eureka Server & Eureka Client
es Feign Client, Ribbon

Fault Tolerance Concepts


Circuit Breaker Pattern
Hystrics Concepts, Hystrix Dashboard

API Gateway
Introduction to ZUUL
Design standards
Microservices-2 Integration

Messaging Queue Concepts (CloudBus)


Apache KAFKA
RabbitMQ
JMS

Oatuh2 Concepts
Client Types
Protocol End Points
Grant Types
Implantation with Token Based
JWT Tokens

Cloud Hosting
AWS account setup
Hosting to AWS
Enabling cloud features like load balancing, security
Reactive Programming using spring boot
Deployment
Deployment
webflux
Spring boot mail
Spring boot captcha
Spring social

Introduction to Time Complexity


Problems Demonstration
Time and Space Complexity Recurrence Relation Solving
Introduction to Space Complexity
Problems Demonstration

Introduction to Recursion
Fibonacci Series using Recursion
Recursion Factorial using Recursion
Count of number of stairs using Recursion
Power function using Recursion

Introduction to Array
Memory addressing in an array
Array and 2D Array Passing an array to functions
Introduction to 2D array
Storage in 2D array

Reversal of an array
Palidrome in an array
Practice Problems Missing number in an array
Lower Bound of an element
Square root of a number

Introduction to String
Strings Storage of string
Inbuild functions in string

Comparison Sort: Selection, Insertion and Bubble


Sorting Algorithms
Non-Comparison Sort: Count, Radix and Bucket

Linear Search
Searching Algorithms
Binary Search
Rotation of matrix
Strings and Practice Problems Search in 2D matrix
Prefix Sum in 2D matrix

Introduction to Linked List


Insertion of a node in Linked Lists
Linked List
Deletion of a node in Linked Lists
Midpoint of a node in Linked Lists

Merge two sorted Linked Lists


Reversing of a Linked Lists
Practice Problems
Merge Sort of a Linked Lists
Floyd's Cycle Detection Algorithm

Introduction to Stack
Stack using Arrays
Stack using Linked Lists
Stack and Queue
Introduction to Queue
Queue using Arrays
Queue using Linked List

Valid Parenthesis
Practice Problems Implementation of Stack using Queue
Implementation of Queue using Stack
Data
Structure Subset Permutations and Combinations
algorithm Interview Problem: N-Queens
Backtracking
Interview Problem: Solving a Sudoko
Interview Problem: Rat in a Maze

Introduction to Tree
Taking a tree as input and printing
Generic Tree
Tree traversals: Inorder, Preorder and Postorder Traversals
Diameter of a Binary Tree

Introduction to Binary Search Tree


Searching a node in BST
Binary Search Tree Insertion of a node in BST
Deletion of a node in BST
Binary Search Tree

Checking of BST

Introduction to Priority Queue


Ways to implement Priority Queue
Introduction to Heaps
Introduction to Complete Binary Tree
Priority Queue
Insert and Delete Operations in Heaps
Implementation of Priority Queue
HeapSort
Inbuilt Priority Queue

Introduction to HashMaps
Inbuilt HashMap
Hash Functions
HashMaps Collision Handling Techniques
Insert and Delete Operations in HashMap
Load Factor
Rehashing

Introduction to Graphs
Depth First Seach Traversal
Graphs
Breadth First Search Traversal
Weighted and Directed Graphs

Introduction to Divide and Conquer


Finding of maxima and minima
Divide and Conquer Sorting Algorithms: MergeSort
Sorting Algorithms: QuickSort
Finding of number of Inversions

Introduction to Greedy Algorithms


Minimum Spanning Tree
Cycle Detection in Graphs
Greedy Algorithms Kruskal's Algorithm
Prim's Algorithm
Dijksrta's Algorithm
Fractional Knapsack

Introduction to Dynamic Programming

Dynamic Programming
Fibonnaci Series using Recursion, Memoization and Tabulation
Longest Common Subsequence using Recursion, Memoization and Tabulation
Dynamic Programming Edit Distance using Recursion, Memoization and Tabulation
Knapsack Problem using Recursion, Memoization and Tabulation
Sum of Subset using Recursion, Memoization and Tabulation
Catalan Number Concept

Introduction
Why we use Design Patterns
Difference between Design patterns & Anti Patterns
Pattern Elements
Design Patterns
Classification of Design Patterns
Core Level Design Patterns
Web Level Design Patterns
Enterprise Application Level Design Patterns

Core Level Design Patterns


Design Patterns-01 Factory Method Design Pattern
Singleton Design Pattern

Synchronized Singleton Design Pattern


Factory Pattern Design Pattern
Design Patterns-02
Abstract Factory Design Pattern
Builder Design Pattern

Prototype Design Pattern


TemplateMethod Design Pattern
Design Design Patterns-03 Adapter Design Pattern
Patterns Fast Line Reader Design Pattern
DTO/VO Design Pattern

IOC or Dependency Injection Design Pattern


Web Level Design Patterns
Design Patterns-04
MVC1 & MVC2 Design Pattern
View Helper Design Pattern

Composite View Design Pattern


Front Controller Design Pattern
Design Patterns-05
Abstract Controller Design Pattern
Design Patterns-05

Intercepting Filter Design Pattern

Enterprise Application Level Design Patterns


DAO Design Pattern
Design Patterns-06
DAO Factory Design Pattern
Business Delegate Design Pattern

Service Locator Design Pattern


Design Patterns-07 Session Façade Design Pattern
Message Façade Design Pattern

System Design Basics


Key Characteristics of Distributed Systems
Load Balancing
Client—Server Model
Network Protocols
Storage
System Design part 1
Latency And Throughput
Availability
Caching
Data Partitioning
Indexes, Replication , Sharding
Proxies, Redundancy
System Design
CAP Theorem and PACELC Theorem
Web Applications
Web App architectures : Monolithic | SoA | Micro Services
Consistent Hashing
Long Polling vs WebSockets vs Server Sent Events
System Design part 2 Bloom Filters
Quorum, Leader and Follower, Heartbeat, Checksum
Rate Limiting
Logging And Monitoring
Security And HTTPS
API Design

You might also like