Menü
Developer

Auch Opa ist für Cloud-Anwendungen

Von
vorlesen Drucken Kommentare lesen 57 Beiträge

Für deutsche Ohren mag es zunächst irritierend klingen, doch hinter Opa verbirgt sich in diesem Fall kein Senior Developer, sondern eine neue Programmiersprache speziell für Cloud-Anwendungen. Tatsächlich besteht Opa aus einem Stack aus Programmiersprache, eigenem Webserver, einer Datenbank sowie einer speziellen Engine für die Ausführung der Programme. Die Entwickler versprechen, mit Opa eine Plattform für eine besonders effiziente Programmierung geschaffen zu haben. Zudem würde die Architektur der Sprache sie weitestgehend immun gegen SQL-Injections und XSS-Angriffe machen, darüber hinaus seien in Opa entwickelte Applikationen sehr gut skalierbar.

Opa soll immun sein gegen SQL-Injections und XSS-Angriffe (Abb. 1)

(Bild: opalang.org)

Hinter Opa stecken das französische Start-up Plug Up sowie MLstate, ein Zusammenschluss verschiedener Forscher auf dem Gebiet der Online-Softwareentwicklung. Sie sind der Meinung, dass sich die Entwicklung von Webanwendungen im Jahr 2011 nur unwesentlich von der Entwicklung von PC-Anwendungen, wie man sie aus den 1990er Jahren kennt, unterscheide. Dabei würde nach wie vor ein Großteil des Entwicklungsaufwandes daran verschwendet, im Prinzip wenig zueinander kompatible Technologien miteinander zu verknüpfen (das Prinzip ist auch als Impedance Mismatch bekannt). Für Webanwendungen bedeutet das, verschiedene Browser, diversen Serverkomponenten und Datenbanken unter einen Hut bringen zu müssen.

Opas Lösungsansatz für das Problem heterogener Umgebungen sieht wie folgt aus: Zunächst wird direkt in Opa programmiert. Kein JavaScript, kein SQL, ausschließlich Opa. Dieser Code wird anschließend kompiliert, dabei würde Opa die nötigen Sicherheitsvorkehrungen treffen und jeweils den Code für Browser, Server und Datenbank erzeugen und das anschließend mit dem Webserver vereinen. Der Nutzer müsse am Ende nur noch die Executable ausführen und seinen Browser starten, Aufwand für Deployment, Datenbank-Management, das Warten von Frameworks oder sonstiger Middleware entfiehle.

Ablauf der Entwicklung einer Anwendung mit Opa (Abb. 2)

(Bild: opalang.org)

Die Entwickler betonen, dass Opa dabei kein Apache-Webserver oder eine MySQL sei (auch wenn sich einzelne Funktionalitäten mit der Sprache abbilden ließen). Opa sei eine umfassende Technologie, die ausschließlich aus der Sprache selbst und ihrer Runtime bestünde. Das mag sich auf den ersten Blick ungewohnt anfühlen, das Opa-Team stellt Ein- und Umsteigern jedoch eine ausführliche Dokumentation zur Seite.

Der Opa-Quellcode selbst ist unter der GPLv3 als Open-Source auf GitHub erhältlich, zudem stehen Binaries (ausschließlich für 64-Bit-Systeme) für Mac OS X und Ubuntu zur Verfügung (auch als selbstextrahierendes Archiv für die Linux-Plattform im Allgemeinen). An einer Version für Windows werde bereits gearbeitet. (rl)