Blog

Die ersten Schritte zu Capitano, dem neuen Business Web Application Framework von Cap3

Ein Artikel aus dem Bereich Softwareentwicklung
Felix Meißner
14.07.2017
Felix Meißner

Capitano ist unsere Antwort auf die neuesten Trends in der Softwareentwicklung. Wir haben aktuelle Softwaretechnologien wie Microservices, Self-Contained Systems und Containerservices wie Docker unter die Lupe genommen und ihre Einsatzfähigkeit für die Entwicklung von Individualsoftware geprüft.

Unser Fazit: Durch den Einsatz von Self-Contained Systems, also die Kapselung der Software in voneinander unabhängige Komponenten, werden viele Vorteile erlangt. So können einzelne Komponenten auf völlig unterschiedlichen Technologien basieren, wodurch das Risiko einer Entscheidung für eine bestimmte Technologie reduziert wird. Außerdem bleiben Komponenten durch ihre vollständige Isolation voneinander austauschbar, ohne das gesamte System anpassen zu müssen.

Beispiel-User-Interface

Der Aufbau von Capitano

Capitano besteht aus verschiedenen Komponenten, wovon die wichtigsten hier kurz vorgestellt werden sollen:

  • Dashboard
  • Benutzerverwaltung
  • Zugriffskontrolle
  • Einstellungen

Das Dashboard ist der Einstiegspunkt unseres Frameworks. Mit einer mehrschichtigen Navigation ermöglicht es den effizienten Zugriff auf die in Komponenten gegliederten Anwendungen. Das Dashboard nimmt alle Benutzeranfragen entgegen und leitet sie an die entsprechenden Komponenten weiter. Es sorgt außerdem für die einheitliche Darstellung der unterschiedlichen Komponenten. Jede neue Komponente kann über eine Schnittstelle definieren, welche Einstiegspunkte über das Dashboard verfügbar sein sollen, sowie die dafür notwendigen Rechte.

Universelle Komponenten

Die Benutzerverwaltung ermöglicht bereits die Verwaltung von Benutzerkonten und Rollenzuweisungen. Zukünftig planen wir außerdem die Integration von bestehenden Benutzerdaten über LDAP/AD.

Die Zugriffskontrolle ist eine zwischengeschaltete Komponente, in der geprüft wird, ob der angemeldete Nutzer die benötigten Rechte für eine Aktion besitzt. Durch die Auslagerung der Zugriffskontrolle in ein eigenes Modul befindet sich der sicherheitsrelevante Code an einer zentralen Stelle, was eine besondere Qualitätskontrolle ermöglicht.

In den Einstellungen können die Stammdaten der Applikation verwaltet werden. Hier können alle strukturierten Daten ohne eigenen Zustand verwaltet werden. Neben der Unterstützung von sogenannten Tupeln (also Schlüssel-Wert-Paaren) wollen wir zukünftig auch beliebige tabellenartige Datensätze ermöglichen, so dass mit diesem Modul z. B. bereits eine einfache Artikeldatenbank abgebildet werden kann, ohne das Programmieraufwand notwendig ist. Die Einstellungen können in der Benutzeroberfläche betrachtet und modifiziert werden, und sind über eine Schnittstelle für die anderen Komponenten sichtbar.

Das Deployment

Als Laufzeitumgebung für die Basiskomponenten haben wir Java gewählt, so dass Capitano auf allen gängigen Server-Plattformen (Windows, Linux, Unix) installiert werden kann. Die Anfertigung individueller Komponenten (also der konkreten Business-Inhalte) ist jedoch unabhängig davon in jeder beliebigen Programmiersprache möglich. Für die Einbindung der Komponenten muss lediglich eine minimale HTTP Schnittstelle implementiert werden. Die Komponenten können sowohl als Docker-Container ausgeführt werden, als auch als Windows- oder Linux-Services.

So viel zu unseren ersten Schritten in Richtung des umfassenden Capitano Business Web Application Frameworks.

To be continued...

Interesse? Schreiben Sie uns!

Sie möchten ein Software-Projekt mit uns starten oder über Ihre Idee sprechen? Wir freuen uns über Ihre Kontaktaufnahme!

Unverbindliche Projektanfrage

In welchen Bereichen können wir Sie unterstützen?