Suche
Neue Enterprise Application Development Platform

CUBA – Ein Full-Stack Java-Framework für Geschäftsanwendungen stellt sich vor

Michael Thomas

© Shutterstock.com/kentoh

Nach rund 6-jähriger Entwicklungszeit, innerhalb derer CUBA von mehreren IT-Unternehmen im Praxiseinsatz auf Herz und Nieren geprüft wurde, steht das Full-Stack-Framework erstmals auch der breiten Öffentlichkeit zur Verfügung.

Grundideen und Einsatzbereiche

Die CUBA-Entwickler betrachten ihre Plattform nach eigenen Aussagen als „lebenden Organismus“, dessen Entwicklungsrichtung von den praktischen Erfordernissen der alltäglichen Anwendungsentwicklung vorgegeben wird. Neue Technologien sollen deshalb nur dann zum Zuge kommen, wenn sie einen greifbaren Vorteil bieten. CUBA zielt zudem darauf ab, eine möglichst klare, vereinheitlichte Struktur bereitzustellen, die es Entwicklern ermöglichen soll, von Anderen geschriebenen Code möglichst schnell zu verstehen und zu ändern, was vor allem vor dem Hintergrund der im Enterprise-Bereich anzutreffenden, langen Anwendungslebenszyklen zu sehen ist.

Ein weiteres Schlüsselprinzip sehen die CUBA-Entwickler in einer größtmögliche Offenheit des Frameworks: So ist der komplette Quellcode ebenso zur Hand wie die Möglichkeit, beinahe jeden Aspekt der Plattform im Hinblick auf individuelle Bedürfnisse zu modifizieren, wobei das zum Einsatz kommende Open Inheritance Pattern Forks unnötig machen soll. Außerdem verspricht CUBA, dediziert Erweiterungsfreundlich zu sein. Gewissermaßen daran anschließend sind die Bestrebungen zu nennen, bestehende Tools und Technologien zu integrieren, sofern diese ausgereift sind und die Stabilität der Plattform nicht gefährden. Last but not least soll CUBA einen möglichst weit gesteckten Einsatzbereich abdecken, der beispielsweise von einfachen Website-Back-Ends bis hin zu pausenlos laufenden Automatisierungslösungen reicht.

Allgemein gesagt zielt CUBA in erster Linie auf Geschäftsanwendungen ab, die beispielsweise komplexe Datenmodelle, strenge Sicherheitsmaßnahmen und die Unterstützung diverser Geschäftsprozesse erfordern und darüber hinaus skalierbar und je nach Entwicklung des Unternehmens auch für ständige Änderungen bereit sein müssen. Technisch gesehen handelt es sich bei CUBA um ein Full-Stack-Framework, dass auf mehreren Java-Technologien wie Spring, Vaadin, OpenJPA, Lucene, jBPM und Gradle basiert.

Dreistufige Architektur

CUBA-Anwendungen bauen auf eine dreistufige Architektur: Das verbindende Element stellen dabei die Metadaten dar, die alle visuellen Komponenten datensensitiv machen. Somit „weiß“ beispielsweise eine Tabelle, dass sie bestimmte Attribute anzeigt. Auf ähnliche Weise unterstützen die Metadaten die visuellen Komponenten bei der Kommunikation mit dem ORM. Das deklarative User Interface ermöglicht die Definierung des Layout per XML oder mitgeliefertem visuellen Editor, der mehr als 70 Komponenten, von einfachen Buttons bis Google Maps, umfasst. Aufgrund der Datensensitivität der einzelnen Komponenten versprechen die Entwickler, dass sich selbst komplexe UIs rasch umsetzen lassen, die durch die klare Trennung von Code und Layout darüber hinaus leicht zu warten sein sollen. Besonderes Augenmerk lenken die CUBA-Macher auf den Generic Filter der UI: Diese Komponente soll es Nutzern erlauben, eigene Suchbedingungen zu erstellen, wozu von Entwicklerseite kein weiterer Aufwand vonnöten ist. Das Rollenbasierte Sicherheits-Subsystems schließlich kontrolliert den CRUD-Zugriff bis hin zu den Entitäts-Attributen.

Abgesehen von den drei Hauptkomponenten bietet CUBA standardmäßig noch einige weitere Features, wie etwa Volltextsuche, ein REST API für die Integration mit externen Systemen, die Unterstützung von Kreditkartenzahlungen oder asynchronen Mailversand.

Bereitstellung und Anwendungsentwicklung

Standardmäßig unterstützt CUBA PostgreSQL, Oracle Database, Microsoft SQL Server und HSQL, wobei der Wechsel zwischen diesen während eines laufenden Projekts jederzeit möglich sein soll. Auch die Verwendung beliebiger anderer Datenbankmanagementsysteme soll mit geringem Aufwand realisierbar sein.

Aussagen der Entwickler zufolge sollen sich CUBA-Anwendungen in jedem Java EE Web Profile-Server bereitstellen lassen. Für die Anwendungsentwicklung sollen Java SE, XML und JPQL ausreichend sein. Bei der Erstellung der Geschäftslogik können Standard-IDEs wie IntelliJ IDEA or Eclipse zum Einsatz kommen, allerdings bietet CUBA mit Studio ein ergänzendes Tool, das mit der IDE synchronisiert ist und u. a. zahlreiche Routineaufgaben automatisiert.

Aufmacherbild: Open Source Technology or Technologies as Abstract von Shutterstock / Urheberrecht: kentoh

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

2 Kommentare auf "CUBA – Ein Full-Stack Java-Framework für Geschäftsanwendungen stellt sich vor"

avatar
400
  Subscribe  
Benachrichtige mich zu:
René Jahn
Gast

Sieht auf den ersten Blick wie das JVx – Application Framework aus. Ebenfalls Full-Stack und 2008 gestartet, aber vollständig OpenSource.