We may earn an affiliate commission when you visit our partners.
Course image
Clément Jean

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. 

Read more

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

Instructor

My name is Clément Jean, and I'll be your instructor in this course. I teach about Protocol Buffers and gRPC with my focus always on helping my students improve their professional proficiencies. I am also the author of some of the most highly-rated & best-selling courses.

With development being a widely accepted and pursued career, I've decided it's time for students to properly learn about gRPC . So, let’s kick start the course. You are in good hands.

This Course Also Comes With:

  • Lifetime Access to All Future Updates

  • A responsive instructor in the Q&A Section

  • Links to interesting articles, and lots of good code to base your next template onto

  • Udemy Certificate of Completion Ready for Download

  • A 30 Day "No Questions Asked" Money Back Guarantee.

I hope to see you inside the course.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

gRPC Course Overview
gRPC Introduction
Course Structure
About your instructor
Read more
Important Message
Prerequisites
Code Download
[Theory] gRPC Internals Deep Dive
Why this section?
Protocol Buffers & Language Interoperability
HTTP/2
4 Types of gRPC APIs
Scalability in gRPC
Security in gRPC (SSL)
gRPC vs REST
Section Summary – why use gRPC
Quiz on GRPC
[Hands-On] gRPC Project Overview & Setup
Java Gradle Project Setup
Dummy Service Code Generation
Server Setup Boilerplate Code
Client Setup Boilerplate Code
[Hands-On] gRPC Unary
Greet API Definition
Unary API Server Implementation
Unary API Client Implementation
[Exercise] Sum API
[Solution] Sum API
[Hands-On] gRPC Server Streaming
GreetManyTimes API Definition
Server Streaming API Server Implementation
Server Streaming API Client Implementation
[Exercise] Primes API
[Solution] Primes API
[Hands-On] gRPC Client Streaming
LongGreet API Definition
Client Streaming API Server Implementation
Client Streaming API Client Implementation - Part 1 - Refactoring
[Exercise] Avg API
[Solution] Avg API
[Hands-On] gRPC Bi-Directional Streaming
GreetEveryone API Definition
Bi-Directional Streaming API Server Implementation
Bi-Directional Streaming API Client Implementation
[Exercise] Max API
[Solution] Max API
[Hands-On] gRPC Advanced Features Deep Dive
[Hands-On] Errors implementation
[Hands-On] Deadlines
[Hands-On] SSL Security
gRPC Reflection & Evans CLI
[Hands-On] CRUD API with MongoDB
Install Docker
Docker-Compose setup
Blog Service Java Setup
CreateBlog Server
CreateBlog Client
ReadBlog Server
ReadBlog Client
UpdateBlog Server
UpdateBlog Client
ListBlog Server
ListBlog Client
DeleteBlog Server
DeleteBlog Client
Next Steps
gRPC Services in the Real Word
Congrats & Next Steps
Bonus Lecture: Student Special Coupons for my Other courses

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for beginners who want to learn about gPRC
Develops professional skills and deep expertise in gPRC
Covers a comprehensive study of gPRC
Offers hands-on labs and interactive materials
Taught by Clément Jean, who is recognized for their work in gRPC

Save this course

Save gRPC [Java] Master Class: Build Modern API & Micro services to your list so you can find it easily later:
Save

Reviews summary

Accessible grpc [java] fundamentals

Learners say this basic course is easy to follow. While there are some up front challenges in setting up projects, students generally give high marks for this well-presented course.
Course is easy to follow once you are set up.
"I had some difficult at the beginning because I hat to set up my project using maven instead of gradle, but after that it was easy."
Setting up projects maybe challenging at first.
"I had some difficult at the beginning because I hat to set up my project using maven instead of gradle, but after that it was easy."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in gRPC [Java] Master Class: Build Modern API & Micro services with these activities:
Review Protocol Buffers
This course leverages Protocol Buffers extensively, so it's important to have a strong understanding of how it works before beginning the course.
Browse courses on Protocol Buffers
Show steps
  • Read the Protocol Buffers documentation
  • Complete the Protocol Buffers tutorial
  • Create a simple Protocol Buffers schema and generate code for it
Review Protocol Buffer basics
Review the fundamentals of Protocol Buffers to strengthen your understanding of the underlying data serialization mechanism used by gRPC.
Browse courses on Protocol Buffers
Show steps
  • Review the official Protocol Buffers documentation
  • Complete a few hands-on tutorials on Protocol Buffers
Build a simple gRPC application
Building your own gRPC application can help you solidify your understanding of the concepts and gain practical experience.
Show steps
  • Design the architecture of your application
  • Create the gRPC service definition
  • Generate code for the client and server
  • Implement the business logic for your application
  • Test your application
Show all three activities

Career center

Learners who complete gRPC [Java] Master Class: Build Modern API & Micro services will develop knowledge and skills that may be useful to these careers:
Microservices Architect
Microservices Architects are responsible for designing, building, and maintaining microservices-based applications. They use their knowledge of microservices architecture and design patterns to create applications that are scalable, resilient, and easy to maintain. This course can help Microservices Architects learn how to use gRPC to build microservices APIs. gRPC is a lightweight and efficient protocol that is well-suited for building microservices-based applications.
Cloud Architect
Cloud Architects design, build, and manage cloud computing systems. They use their knowledge of cloud computing technologies and services to create systems that are scalable, reliable, and secure. This course can help Cloud Architects learn how to use gRPC to build cloud-based APIs. gRPC is a lightweight and efficient protocol that is well-suited for building distributed systems in the cloud.
Cloud Engineer
Cloud Engineers are responsible for designing, building, and managing cloud computing systems. They use their knowledge of cloud computing technologies and services to create systems that are scalable, reliable, and secure. This course can help Cloud Engineers learn how to use gRPC to build cloud-based APIs. gRPC is a lightweight and efficient protocol that is well-suited for building distributed systems in the cloud.
Data Engineer
Data Engineers are responsible for designing, building, and maintaining data pipelines. They use their knowledge of data engineering tools and technologies to create pipelines that collect, process, and store data. This course can help Data Engineers learn how to use gRPC to build data pipelines. gRPC is a fast and reliable protocol that can help teams move data between different systems and applications.
Back-End Developer
Back-End Developers are responsible for designing, developing, and maintaining the server-side of websites and web applications. They use their knowledge of programming languages and web development frameworks to create back-ends that are scalable, reliable, and secure. This course can help Back-End Developers learn how to use gRPC to build web APIs. gRPC is a fast and reliable protocol that can help developers build APIs that are scalable and easy to use.
Full-Stack Developer
Full-Stack Developers are responsible for designing, developing, and maintaining both the front-end and back-end of websites and web applications. They use their knowledge of a variety of programming languages and technologies to create applications that are scalable, reliable, and user-friendly. This course can help Full-Stack Developers learn how to use gRPC to build web APIs. gRPC is a fast and reliable protocol that can help developers build APIs that are scalable and easy to use.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites and web applications. They use their knowledge of web development technologies and tools to create websites that are user-friendly, responsive, and performant. This course can help Web Developers learn how to use gRPC to build web APIs. gRPC is a fast and reliable protocol that can help developers build APIs that are scalable and easy to use.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software applications. They use their knowledge of programming languages and software development tools to create software that meets the needs of users. This course can help Software Engineers build a foundation in gRPC, a modern framework for building scalable, fast, and modern APIs. gRPC is used by many top tech companies such as Google, Square, and Netflix, which shows that there is a strong market for gRPC skills.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. They use their knowledge of both software development and IT operations to create processes and tools that help teams deliver software faster and more reliably. This course can help DevOps Engineers learn how to use gRPC to build CI/CD pipelines. gRPC is a fast and reliable protocol that can help teams automate the deployment of software.
Mobile Developer
Mobile Developers are responsible for designing, developing, and maintaining mobile applications. They use their knowledge of mobile development technologies and tools to create apps that are user-friendly, engaging, and performant. This course can help Mobile Developers learn how to use gRPC to build mobile APIs. gRPC is a lightweight and efficient protocol that can help developers build APIs that are scalable and easy to use on mobile devices.
Database Administrator
Database Administrators are responsible for designing, implementing, and maintaining database systems. They use their knowledge of database technologies and tools to create databases that are scalable, reliable, and secure. This course may be useful for Database Administrators who want to learn how to use gRPC to build database APIs. gRPC is a fast and reliable protocol that can help Database Administrators build APIs that are scalable and easy to use.
Systems Administrator
Systems Administrators are responsible for managing and maintaining computer systems. They use their knowledge of operating systems, networking, and security to keep systems running smoothly and securely. This course may be useful for Systems Administrators who want to learn how to use gRPC to build systems management APIs. gRPC is a fast and reliable protocol that can help Systems Administrators build APIs that are scalable and easy to use.
Front-End Developer
Front-End Developers are responsible for designing and developing the user interface of websites and web applications. They use their knowledge of HTML, CSS, and JavaScript to create interfaces that are user-friendly, visually appealing, and responsive. This course may be useful for Front-End Developers who want to learn how to use gRPC to build web APIs. gRPC is a fast and reliable protocol that can help developers build APIs that are scalable and easy to use.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing, developing, and deploying machine learning models. They use their knowledge of machine learning algorithms and programming languages to create models that can learn from data and make predictions. This course may be useful for Machine Learning Engineers who want to learn how to use gRPC to build machine learning APIs. gRPC is a fast and reliable protocol that can help Machine Learning Engineers build APIs that are scalable and easy to use.
Data Scientist
Data Scientists are responsible for collecting, analyzing, and interpreting data to help businesses make better decisions. They use their knowledge of statistics, machine learning, and data visualization to uncover insights from data. This course may be useful for Data Scientists who want to learn how to use gRPC to build data pipelines. gRPC is a fast and reliable protocol that can help Data Scientists move data between different systems and applications.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in gRPC [Java] Master Class: Build Modern API & Micro services.
Provides an in-depth exploration of gRPC, covering foundational concepts, advanced features, and best practices. It is equally valuable as a reference or as a resource for building a deeper understanding of gRPC.
While not specifically focused on gRPC, this book provides a comprehensive overview of cloud-native development in Java. It covers topics such as microservices, containerization, and continuous delivery, which are relevant to building and deploying gRPC applications.
This classic book is widely regarded as a must-read for Java developers. It provides practical guidance on coding best practices, design patterns, and common pitfalls, which are essential for writing effective and maintainable gRPC services.
Offers a deep dive into the challenges of designing and building data-intensive applications. It covers topics such as data modeling, distributed systems, and performance optimization, which are relevant to implementing scalable and efficient gRPC services.
Explores design patterns and architectural approaches for building microservices. It provides valuable insights into how to decompose monoliths, handle communication between services, and ensure reliability and resilience, all of which are important considerations in gRPC-based microservice architectures.
Comprehensive guide to concurrency in Java. It covers topics such as thread safety, synchronization, and performance optimization. Understanding concurrency is essential for writing highly concurrent gRPC services.
While focused on RESTful web services, this book provides valuable insights into designing and implementing APIs. It covers topics such as API design principles, versioning, and security, which are also applicable to gRPC API development.
Provides a practical guide to building microservices with Spring Boot and Netflix OSS. While not specifically focused on gRPC, it covers topics such as microservice architecture, service discovery, and load balancing, which are relevant to gRPC microservice development.
Save
Provides an in-depth exploration of advanced Java concepts. It covers topics such as concurrency, networking, and security, which are relevant to building gRPC services. It good resource for those looking to deepen their understanding of Java.
Comprehensive guide to Java performance. It covers topics such as profiling, optimization, and troubleshooting. Understanding performance is essential for building efficient and scalable gRPC services.
Provides a comprehensive overview of unit testing principles and best practices. It covers topics such as test design, test automation, and test maintenance. Understanding unit testing is essential for building reliable gRPC services.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to gRPC [Java] Master Class: Build Modern API & Micro services.
gRPC [Golang] Master Class: Build Modern API &...
Most relevant
Using gRPC in ASP.NET Core 6
Most relevant
Protocol Buffer Fundamentals
Most relevant
Microservices with gRPC [Java + Spring Boot + Protobuf]
Most relevant
Transcoding HTTP/JSON API calls to gRPC through API...
Building Resilient Streaming Analytics Systems on Google...
Conceptualizing the Processing Model for Apache Spark...
Building Resilient Streaming Analytics Systems on Google...
Exploring the Apache Flink API for Processing Streaming...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser