gRPC [Java] Master Class: Build Modern API and Microservices

Video description

RPC is a new and modern framework for building scalable, modern, and fast APIs. It is leveraged by many top tech companies such as Google, Square, and Netflix and enables programmers to write microservices in any language they want while keeping the ability to easily communicate between these services. It relies on protocol buffers as the transport mechanism and the Service Definition Language.

gRPC [Java] Master Class: Build Modern APIs and Microservices 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 the REST API paradigm

• Write your gRPC service definitions in .proto files

• Generate server and client code in Java using the Gradle gRPC plugin

• Implement unary, server streaming, client streaming, and the bi-directional streaming API

• Learn via exercises and solutions

• Implement advanced concepts such as error handling, deadlines, and 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

What You Will Learn

  • Generate server and client code in Java using the Gradle gRPC plugin
  • Implement unary, server streaming, client streaming, and the bi-directional streaming API
  • Practice your learning with exercises & solutions
  • Implement advanced concepts such as error handling, deadlines, and 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.

Audience

Developers who want to understand how to write gRPC services and clients in Java and architects who want to understand how gRPC works and the concepts behind the different types of API.

About The Author

Stéphane Maarek: Stéphane Maarek is a solutions architect, consultant, and software developer who has a particular interest in all things related to big data and analytics. He is also a bestseller instructor on Udemy for his courses on Apache Kafka, Apache NiFi, and AWS Lambda. He loves Apache Kafka and regularly contributes to the Apache Kafka project.

Stéphane has also written a guest blog post that was featured on the Confluent website, the company behind Apache Kafka. He is also an AWS Certified Solutions Architect and has many years of experience with technologies such as Apache Kafka, Apache NiFi, Apache Spark, Hadoop, PostgreSQL, Tableau, Spotfire, Docker, Ansible, and more.

Table of contents

  1. Chapter 1 : gRPC Course Overview
    1. gRPC Introduction
    2. Course Objective
  2. Chapter 2 : [Theory] gRPC Internals Deep Dive
    1. Protocol Buffers Language Interoperability
    2. HTTP/2
    3. 4 Types of gRPC APIs
    4. Scalability in gRPC
    5. Security in gRPC (SSL)
    6. gRPC vs REST
    7. Section Summary - why use gRPC
  3. Chapter 3 : [Hands-On] gRPC Project Overview Setup
    1. Java Gradle Project Setup
    2. Dummy Service Code Generation
    3. Server Setup Boilerplate Code
    4. Client Setup Boilerplate Code
  4. Chapter 4 : [Hands-On] gRPC Unary
    1. What's a Unary API?
    2. Greet API Definition
    3. Unary API Server Implementation
    4. Unary API Client Implementation
    5. [Solution] Sum API
  5. Chapter 5 : [Hands-On] gRPC Server Streaming
    1. What's a Server Streaming API?
    2. GreetManyTimes API Definition
    3. Server Streaming API Server Implementation
    4. Server Streaming API Client Implementation
    5. [Solution] PrimeNumberDecomposition API
  6. Chapter 6 : [Hands-On] gRPC Client Streaming
    1. What's a Client Streaming API?
    2. LongGreet API Definition
    3. Client Streaming API Server Implementation
    4. Client Streaming API Client Implementation - Part 1 - Refactoring
    5. Client Streaming API Client Implementation - Part 2 - Refactoring
    6. [Solution] ComputeAverage API
  7. Chapter 7 : [Hands-On] gRPC Bi-Directional Streaming
    1. What's a Bi-Directional Streaming API?
    2. GreetEveryone API Definition
    3. Bi-Directional Streaming API Server Implementation
    4. Bi-Directional Streaming API Client Implementation
    5. [Solution] FindMaximum API
  8. Chapter 8 : [Hands-On] gRPC Advanced Features Deep Dive
    1. [Theory] Errors in gRPC
    2. [Hands-On] Errors implementation
    3. [Theory] Deadlines
    4. [Hands-On] Deadlines
    5. [Theory] SSL Security
    6. [Hands-On] SSL Security
    7. [Demo] Language Interoperability
    8. gRPC Reflection Evans CLI
  9. Chapter 9 : [Hands-On] CRUD API with MongoDB
    1. Install MongoDB
    2. Install MongoDB UI - Robo 3T
    3. Blog Service Java Setup
    4. CreateBlog Server
    5. CreateBlog Client
    6. ReadBlog Server
    7. ReadBlog Client
    8. UpdateBlog Server
    9. UpdateBlog Client
    10. DeleteBlog Server
    11. DeleteBlog Client
    12. ListBlog Server
    13. ListBlog Client
    14. Evans CLI test with CRUD
  10. Chapter 10 : Next Steps
    1. gRPC Services in the Real Word
    2. Congrats Next Steps

Product information

  • Title: gRPC [Java] Master Class: Build Modern API and Microservices
  • Author(s): Stephane Maarek
  • Release date: January 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838558048