There have been many different strategies over the years to get software written in one language to communicate with one written in another. The two primary approaches that have evolved have been RESTful services (typically using JSON documents to transmit data) and RPC (remote procedure calls) that use a variety of different transmission techniques. In this course, Enhancing Application Communication with gRPC, you'll be introduced to the gRPC framework that Google uses for much of its inter-service communication. First, you'll cover the components of gRPC application. Next, you'll discover how to use protocol buffers to define gRPC services. Finally, you'll learn how to create gRPC clients and servers using C#, Java, Node.js, and Go. By the end of this course, you'll know how to use gRPC in your distributed system applications.