© bestfoto77/shutterstock.com
Ist gRPC eine echte Alternative?

gRPC statt WCF


Microsoft kündigte Ende September 2019 an, dass die nächste .NET-Version nach .NET Core 3 als .NET 5 gekennzeichnet wird. Mit dieser Version wird das klassische .NET Framework mit dem Open-Source-.NET-Core zu einer einzigen Plattform vereint. Bei einem solchen Zusammenschluss müssen aber Kompromisse gefunden werden. Ein Beispiel dafür ist das Windows Communication Foundation Framework, denn WCF wird nicht nach .NET Core migriert werden und nicht mehr in .NET 5 vorhanden sein. Dieser Artikel zeigt, dass es mit gRPC bereits heute ein starkes Framework als Alternative zu WCF gibt, das im aktuellen .NET Core 3 bereits integriert ist.

Wenn man sich die Geschichte der webbasierten Methodenaufrufe anschaut, stellt man fest, dass es bei den heute als etabliert angesehenen Frameworks immer neue Möglichkeiten durch neue Techniken und Technologien gab. Vor rund 20 Jahren wurde SOAP entwickelt und in den folgenden Jahren fand das Netzwerkprotokoll immer größeren Anklang. Es basierte auf XML und man nutze es in den meisten Fällen zusammen mit HTTP und TCP.

Ab dem .NET Framework 2 konnte SOAP über den Namespace System.Web.Services verwendet werden. Ab .NET 3 konnte zusätzlich das WCF Framework genutzt werden, um SOAP Services aufzurufen. Später wurden immer häufiger SOAP Services durch Services, die den REST-Prinzipien folgten, abgelöst. Dieser Schritt bedeutete ein Umdenken bei der Softwareentwicklung: Alles, was über das Internet aufgerufen werden konnte, sollte plötzlich als eine Ressource betrachtet werden. Das schnelle Wachstum des World Wide Web drängte die Entwickler zu neuen Ansätzen. Die Web Services mussten skalierbar werden. Web Services, die dem REST-Prinzip folgten, konnten leichter skaliert werden. Dadurch gewannen sie vermehrt an Attraktivität. Zusätzlich zur Skalierbarkeit sind heute Themen wie die Anbindung an Fremdsysteme, Performance und Kosten ebenso wichtig geworden.

gRPC im Überblick

gRPC (Remote Procedure Calls) wurde ursprünglich von Google entwickelt. Es entstand aus der internen und universellen RPC-Infrastruktur von Google namens Stubby. Es verband alle Microservices von Google miteinander, die in und zwischen den Rechenzentren liefen. Um die Anwendbarkeit auf Mobile, dem Internet der Dinge und auf die Cloud zu erweitern, wurde Stubby überarbeitet. Eine weitere Absicht war es, eine standardisierte Open-Source-Infrastruktur zu schaffen.

Im Gegensatz zu REST, das ein Programmierparadigma ist, ist gRPC ein Open-Source-RPC-Framework. Es kann in ...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang