Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bye bye WCF, hello gRPC

70 views

Published on

This session was given as a part of .NET Conf Local event in Bangalore - 2019. .NET Core 3.0 native support for gRPC was the crux of this talk

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Bye bye WCF, hello gRPC

  1. 1. Bye Bye WCF, hello gRPC @svswaminathan .NET Conf Local Bengaluru – Oct 19, 2019 1
  2. 2. Swaminathan Vetri SWAMINATHANVETRI.IN 2 Technical Architect, Maersk | Microsoft MVP Speaking, Blogging, Photography, Travelling Gadget freak Twitter : @svswaminathan Blog : swaminathanvetri.in
  3. 3. Agenda • State of WCF in .NET Core 3.0 ? • What is gRPC ? • Why gRPC ? • What it offers ? • gRPC – C Core vs gRPC-dotnet • Demos
  4. 4. State of WCF in .NET Core 3.0 • What didn’t make it to .NET Core 3.0 ? • WCF Server, Workflow, ASP.NET WebForms, Remoting, App Domains • Core WCF – open source community project • WCF Client components are part of .NET Core 3.0 SWAMINATHANVETRI.IN 4
  5. 5. What is gRPC ? • gRPC is a modern open source high performance RPC framework that can run in any environment SWAMINATHANVETRI.IN 5
  6. 6. Protocol Buffers • Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler Sample proto format message Person { string name = 1; int32 id = 2; bool has_ponycopter = 3; } SWAMINATHANVETRI.IN 6
  7. 7. Why Protocol Buffers ? SWAMINATHANVETRI.IN 7 Simpler 3 to 10 times smaller 20 to 100 times faster Less ambiguous Generate data access classes that are easier to use programmatically
  8. 8. How gRPC works ? SWAMINATHANVETRI.IN 8
  9. 9. Why gRPC? SWAMINATHANVETRI.IN 9 PERFORMANCE INTEROPERABILITY USABILITY & PRODUCTIVITY STREAMING SECURITY
  10. 10. What it offers ? SWAMINATHANVETRI.IN 10
  11. 11. WCF vs gRPC WCF • Service Contract, Operation Contract, and Data Contract • Contracts written in C# or Visual Basic • Configurable, including SOAP/XML, Plain XML, JSON, .NET Binary, and so on. • Interop when using SOAP over HTTP • Networking configured at runtime. Switch between TCP, HTTP, MSMQ, and so on. • Runtime generation of serialization /deserialization and networking code in base classes • Authentication, WS-Security, message encryption gRPC • Uses proto file to declare services and messages • Protocol Buffer language • Protocol Buffer binary format (although it’s possible to use other formats). • Official support: .NET, Java, Python, JavaScript, C/C++, Go, Rust, Ruby, Swift, Dart, PHP. Unofficial support for other languages from the community. • Always HTTP/2 • Build-time generation of serialization /deserialization and networking code in base classes • Credentials, ASP.NET Core security, TLS networking SWAMINATHANVETRI.IN 11 Source : http://aka.ms/grpcforwcfebook
  12. 12. grpc c-core vs grpc-dotnet • Source : https://grpc.io/blog/grpc-on-dotnetcore/ SWAMINATHANVETRI.IN 12
  13. 13. References • https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of- net/ SWAMINATHANVETRI.IN 13

×