Skip to main content
CF

gRPC [Java] Master Class: Build Modern API & Micro services

5h 9m 9s
English
Paid

gRPC is a new and modern framework for building scalable, modern and fast API. It is leveraged by many top tech companies such as Google, Square & Netflix and enables programmers to write micro-services in any language they want while keeping the ability to easily create communications between these services. It relies on Protocol Buffers for the transport mechanism and Service Definition language.

In this course, we are going to explore in depth, with hands-on lectures, all the aspects to get started with gRPC.  

This course is hands-on and you will implement two services: Greet and a Calculator Service.

In just a few hours, you will know everything you need to know to write your .proto files, generate code in your Favourite Programming, and implement your services, servers and client in Java. There will be plenty of hands-on lectures and exercises for you to practice your newly acquired skills. 

It's time to say goodbye to slow and clunky REST API, and opt-in for a better API framework. 

gRPC Java Master Class is the best way to get a great overview of all the possibilities offered by gRPC with your favourite language

> Learn the gRPC theory to understand how gRPC works
> Compare gRPC and REST API paradigm
> Write your gRPC service definition in .proto files
> Generate Server & Client Code in Java using the Gradle gRPC plugin
> Implement Unary, Server Streaming, Client Streaming & Bi-Directional Streaming API
> Practice your learning with Exercises & Solutions
> Implement advanced concepts such as Error Handling, Deadlines & SSL Security
> Implement a full CRUD API on top of MongoDB
> Get pointers to expand your learning journey and get inspired by real world gRPC services

Note: This course expects you have some preliminary knowledge about Protocol Buffers. 

Section outline:

  • gRPC Course Overview: Get an understand of the course objectives, how the course is structured, download the course code and get ready!

  • [Theory] gRPC Internals Deep Dive: Learn how gRPC works behind the scenes. Learn about HTTP/2, Protocol Buffers efficiencies, and the differences of gRPC and REST.

  • [Hands-On] gRPC Project Overview & Setup: Setup your project using Gradle and learn how to trigger code generation

  • [Hands-On] gRPC Unary: API description & implementation

  • [Hands-On] gRPC Server Streaming: API description & implementation

  • [Hands-On] gRPC Client Streaming: API description & implementation

  • [Hands-On] gRPC Bi-Directional Streaming: API description & implementation

  • [Hands-On] gRPC Advanced Features Deep Dive: Advanced features such as Error Handling, Deadlines, SSL Security. 

  • Next Steps: Some useful real-world links & where to take your learning from here

This is the course that could change your API skills.  

Learning and getting hands-on on gRPC helps you to enhance your career opportunities and helps to boost your income. An investment in your career is an investment in yourself.  Don’t procrastinate. There is no time like the present to take charge of your career. Take your career to the next level by learning GRPC today!

Requirements:

  • Good Understanding of Java 8 Programming Language

  • Good Understanding of Protocol Buffers

Who this course is for:

  • Developers who want to understand how to write gRPC Services and Clients in Java
  • Architects who want to understand how gRPC works and the concepts behind the different types of API

What you'll learn:

  • Learn the gRPC theory to understand how gRPC works
  • Compare gRPC and REST API paradigm
  • Write your gRPC service definition in .proto files
  • Generate Server & Client Code in Java using the Gradle gRPC plugin
  • Implement Unary, Server Streaming, Client Streaming & Bi-Directional Streaming API
  • Practice your learning with Exercises & Solutions
  • Implement advanced concepts such as Error Handling, Deadlines & SSL Security
  • Implement a full CRUD API on top of MongoDB
  • Get pointers to expand your learning journey and get inspired by real world gRPC services

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 61 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 61 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: gRPC Introduction
All Course Lessons (61)
#Lesson TitleDurationAccess
1
gRPC Introduction Demo
08:18
2
Course Objective
02:48
3
About your instructor
02:21
4
Important Message
00:34
5
Protocol Buffers & Language Interoperability
08:41
6
HTTP/2
08:47
7
4 Types of gRPC APIs
04:37
8
Scalability in gRPC
01:39
9
Security in gRPC (SSL)
01:13
10
gRPC vs REST
05:11
11
Section Summary – why use gRPC
00:45
12
Java Gradle Project Setup
06:21
13
Dummy Service Code Generation
04:35
14
Server Setup Boilerplate Code
06:01
15
Client Setup Boilerplate Code
05:15
16
What’s an Unary API?
01:33
17
Greet API Definition
04:43
18
Unary API Server Implementation
07:31
19
Unary API Client Implementation
06:04
20
[Solution] Sum API
08:14
21
What's a Server Streaming API?
02:27
22
GreetManyTimes API Definition
02:21
23
Server Streaming API Server Implementation
05:50
24
Server Streaming API Client Implementation
04:04
25
[Solution] PrimeNumberDecomposition API
07:13
26
What's a Client Streaming API?
01:54
27
LongGreet API Definition
01:56
28
Client Streaming API Server Implementation
07:24
29
Client Streaming API Client Implementation - Part 1 - Refactoring
04:25
30
Client Streaming API Client Implementation - Part 2 - Implementation
10:10
31
[Solution] ComputeAverage API
11:05
32
What's a Bi-Directional Streaming API?
01:40
33
GreetEveryone API Definition
01:41
34
Bi-Directional Streaming API Server Implementation
03:53
35
Bi-Directional Streaming API Client Implementation
07:46
36
[Solution] FindMaximum API
07:49
37
[Theory] Errors in gRPC
03:37
38
[Hands-On] Errors implementation
08:39
39
[Theory] Deadlines
02:19
40
[Hands-On] Deadlines
10:21
41
[Theory] SSL Security
05:39
42
[Hands-On] SSL Security
13:40
43
[Demo] Language Interoperability
04:01
44
gRPC Reflection & Evans CLI
09:06
45
Install MongoDB
03:17
46
Install MongoDB UI - Robo 3T
01:11
47
Blog Service Java Setup
05:50
48
CreateBlog Server
09:45
49
CreateBlog Client
05:10
50
ReadBlog Server
07:12
51
ReadBlog Client
05:13
52
UpdateBlog Server
07:40
53
UpdateBlog Client
06:14
54
DeleteBlog Server
05:31
55
DeleteBlog Client
02:03
56
ListBlog Server
03:34
57
ListBlog Client
01:42
58
Evans CLI test with CRUD
03:52
59
gRPC Services in the Real Word
04:01
60
Congrats & Next Steps
01:10
61
THANK YOU!
01:33
Unlock unlimited learning

Get instant access to all 60 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
The course assumes a basic understanding of programming concepts and familiarity with Java, as it involves setting up Java Gradle projects and implementing APIs in Java. Knowledge of HTTP/2 and basic networking concepts will be beneficial, as these are covered in the context of gRPC API development.
What kind of projects will I build during the course?
Students will engage in hands-on projects such as setting up and implementing various types of gRPC APIs, including Unary, Server Streaming, Client Streaming, and Bi-Directional Streaming APIs. There are also practical exercises like creating a Blog Service using CRUD operations, which include setting up the server and client for operations like CreateBlog, ReadBlog, UpdateBlog, and DeleteBlog.
Who is the target audience for this course?
This course is designed for developers who wish to build scalable and modern APIs using gRPC technology. It is particularly suited for those who want to understand the differences between gRPC and REST, and for programmers interested in multi-language microservices communication, as the course covers language interoperability.
How does this course compare to other API development courses?
While many API development courses focus on REST, this course offers a deep dive into gRPC, covering its unique aspects such as Protocol Buffers, HTTP/2, and various streaming APIs. It also includes hands-on modules on SSL security and language interoperability, providing a comprehensive understanding of gRPC's role in modern API architecture.
What specific tools or platforms are used in this course?
The course utilizes Java with Gradle for project setup, and tools like MongoDB and Robo 3T for database operations. Additionally, the Evans CLI is used for testing CRUD operations. These tools help in demonstrating practical applications of gRPC in building microservices.
What topics are not covered in this course?
The course does not cover basic programming concepts or introduce Java as a language. It also doesn't delve into REST API development beyond comparing it with gRPC. Additionally, while it covers gRPC security aspects, it assumes prior understanding of SSL.
What is the expected time commitment for completing the course?
The course comprises 61 lessons, but the total runtime is not specified. Given the practical exercises and theoretical components, students should expect to dedicate several hours per week over a period of weeks to fully engage with the material and complete the hands-on projects.