Azure Komponenten – Ein Vergleich zwischen C# und Java

01.04.2020

Die Cloud Platform Azure von Microsoft bietet immer mehr Komponenten. Ein weiterer Punkt von Microsoft ist die Erweiterung diverser Entwicklungssprachen. Im Folgenden wurden die gängigen Technologien Azure FunctionsAzure Blob Storage und Azure Event Hubs in den jeweiligen Sprachen C# und Java validiert und verglichen.

Azure Functions

Bei den Azure Functions lässt sich sagen, dass es sowohl für den .NET Technologie-Stack als auch für das Java Pendant eine sehr große Anzahl an Tutorials und Beispiele gibt. In beiden Welten lassen sich die Functions mit wenig Aufwand aufsetzen. Auch ist die vorhandene Dokumentation für beide Sprachen vollständig gepflegt:

Als negativen Punkt kann angemerkt werden, dass für die Java Umgebung Node.js nötig ist, damit sich die Functions lokal ausführen lassen. Außerdem ist für das lokale Testen in Java das .NET Core SDK nötig :-)

Azure Blob Storage

Bei der Speicher Technology Blob Storage unterscheiden sich die beiden Sprachen etwas. Es lässt sich erkennen, dass die Funktionalität zuerst in C#/.NET umgesetzt und anschließend nach Java portiert wurde. Gibt es für erstgenannte Sprache eine große Anzahl an Code Snippets, muss für zweitgenannte Sprache schon etwas spezifischer gesucht werden.

Ein erheblicher Nachteil der Java Technologie ist, dass zwei Möglichkeiten der Blob Storage Anbindung verfügbar sind. Die Bibliotheken verhalten sich unterschiedlich und eine entsprechende Dokumentation ist nicht aufzufinden. Die ältere Bibliothek (Storage SDK 8) ist sehr an die Umsetzung in C# angelehnt. Die neue Bibliothek (Storage SDK 11) dagegen nicht mehr. Hier wird JavaRX verwendet, um asynchrone Abfragen zu ermöglichen. Ohne entsprechendes KnowHow ist es kompliziert, diese zu verwenden.

Ein wesentlicher Unterschied zwischen beiden Programmiersprachen im fachlichen ist, dass in .NET nicht vorhandene Container automatisch angelegt werden. In Java muss der Pfad allerdings komplett verfügbar sein, da ansonsten eine Exception fliegt.

Azure Event Hubs

Bei der dritten und letzten im Vergleich verwendeten Komponente Event Hubs lässt sich ein erheblicher Unterschied feststellen.

In C# noch straight-forward. Im Vergleich hierzu müssen bei Java diverse Parameter beachtet werden, um eine fehlerfreie Verwendung zu garantieren. Ein weiterer gravierender Unterschied ist die Menge der zu findenden Beispiele und Tutorials. Lassen sich die auf dem .NET Stack basierende Implementierung noch einige Beispiele finden, gibt es für den Java Stack nur recht wenig Ergebnisse.

 

Fazit

Als generelles Fazit lässt sich festhalten, dass die Azure Platform in gewissen Teilen für Java (noch) nicht auf dem Stand ist wie für C#. Dies liegt natürlich vorrangig daran, dass die aus dem Hause Microsoft stammende .NET-Technologie primär entwickelt wird. Nach erfolgreichem Release folgen weitere Sprachen wie z.B. Java. Hier ist die vorhandene Dokumentation allerdings zum Teil noch nicht passend gepflegt.

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*