Tool-Tipp

Ballerina 1.0: Neue Programmiersprache ist ein Kombi-Paket fürs Backend

Eugene Mynzul/Shutterstock

Ballerina steckt in den Kinderschuhen – Version 1.0 ist seit dem 10. September 2019 verfügbar. Es gibt Tausende Programmiersprachen. Aber für Entwickler, die sich regelmäßig mit der Integration verschiedenster Micro-Services herumschlagen, lohnt sich ein genauerer Blick auf die Tänzerin aus dem Hause WSO2.

Ballerina ist Open Source und wurde laut den Machern als Alternative zu konfigurationsbasierten Lösungen entwickelt. Code in Programmiersprachen, die ursprünglich nicht dazu gedacht waren, Micro-Services zu integrieren, wird schnell ziemlich komplex. Ballerina ist kompiliert und wurde entwickelt, um unter anderem das zu vereinfachen.

Und wie sieht sie aus?

Ballerina ist statisch typisiert und unterstützt einfache, strukturierte und behaviorale Datentypen. Einfache Daten sind zum Beispiel Boolean, Int, Float, String, Decimal. Strukturierte Daten sind zum Beispiel Tupel, Arrays, Maps, Tabellen oder Records, ein vereinfachtes XML-System und Error-Code-Reporting. Function, Future, Object, Stream oder Typedesk können unter dem Begriff Behavioral Data zusammengefasst werden. Ballerina bietet Librarys für die Implementierung verschiedener Funktionalitäten – sogenannte Module, das Konzept dürfte manchen vielleicht aus Java bekannt sein. Ballerina kommt mit Logging, Math, Encoding, String, Caching, Time, File-Processing und vielen anderen Modulen. Ansonsten könnt ihr auch selber welche bauen und sie in eure Applikation importieren. Flow-Control funktioniert wie in anderen Sprachen auch, ihr könnt If-else-, While- und Foreach-Statements schreiben. Ob eine Variable Null ist, könnt ihr mit dem Elvis-Operator prüfen.

Objektorientierte Programmierung

Objektorientierte Programmierung in Ballerina ähnelt der Objektsyntax in Python. Zugreifen könnt ihr auf Objekte mittels der Dot-Schreibweise, die aus anderen Sprachen (etwa JavaScript) bekannt sein dürfte. In Ballerina könnt ihr Abstraktionskonzepte definieren und wiederverwenden. Abstraktion ist ein Konzept aus der objektorientierten Programmierung, das gerade für die Entwicklung großer modularer Software essenziell ist. Objekte könnt ihr mit dem Abstract-Keyword in abstrakte Objekte konvertieren.

Access-Modifikatoren

Außerdem bietet Ballerina verschiedene sogenannte Access-Modifikatoren:

  • Public – überall sichtbar
  • Private – nur innerhalb des Objektes sichtbar
  • No Modifier – nur innerhalb des Packages sichtbar

Das mag restriktiv erscheinen – und ist es auch. Es versetzt euch aber in die Lage, genau zu determinieren, in welcher Umgebung welcher Code genutzt wird, und ist gerade im Hinblick auf Design-Kontinuität ein echtes Plus.

Flexibler als ESB, einfacher als andere Sprachen

Ballerina wurde entworfen, um eine Reihe von Schwierigkeiten bei der Integration mehrerer Dienste aufzulösen, so die Doku. Ein gängiger Weg ist die Verwendung eines ESB – kurz für Enterprise-Service-Bus. Ein ESB bietet ein standardisiertes, strukturiertes, allgemeingültiges Konzept oder Kommunikationssystem für die Integration heterogener Services, die unabhängig voneinander in einem Netzwerk deployed werden. Integration mittels ESB ist elegant, aber auch standardisiert und wenig flexibel. Außerdem ist die Konfiguration gar nicht so einfach. Mit Ballerina soll Entwicklern ein Tool an die Hand gegeben werden, mit dem sie das quasi nach eigenen Wünschen selber bauen können – ohne die Komplexität, die bei der Arbeit mit anderen Sprachen oft zwangsläufig einhergeht. Viele Librarys der Sprache sind zur Lösung von Integrationsproblemen prädestiniert: Sie bieten zum Beispiel Methodiken für HTTP-, HTTPS-, HTTP2-, Websocket-, GRPC-, oder TCP-Transporte. Für einen Request an einen anderen Endpunkt zum Beispiel braucht ihr nur drei Zeilen Code.

Fazit: Auf den ersten Blick wirkt die Programmiersprache wie eine Kombi aus den Fähigkeiten verschiedener anderer Sprachen. Einen Wechsel von zum Beispiel Node.JS zu Ballerina zu erwarten, ist ziemlich hochgegriffen. Wer allerdings gerade erst anfängt, sich mit dem Thema Integration zu beschäftigen, könnte tatsächlich einen genaueren Blick auf die Neue im Team werfen. Weitere Features, detaillierte Informationen und How-tos findet ihr in der Ballerina-Dokumentation.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung