Die Web-Anwendungen der Abteilung „Entwicklung, Integration, Verfahren“ sind Eigenentwicklungen, die ohne einen leistungsfähigen Softwarestack nicht möglich wären. Dieser Softwarestack wurde eigenentwickelt und sukzessive ausgebaut und steht inzwischen als Dreh- und Angelpunkt im Zentrum eines Großteils der am RRZE entwickelten Software. Er hat sich als robust und gleichzeitig flexibel erwiesen und dient inzwischen nicht nur der FAU, sondern auch anderen Hochschulen als Einstiegspunkt z. B. eines Identity Management Systems. Der Softwarestack basiert hauptsächlich auf dem Framework Grails mit der Programmiersprache Groovy, die auf Java basiert. Im Hintergrund laufen das Spring Framework zusammen mit Micronaut. Die Frontend-Entwicklung verwendet hauptsächlich das Vue.js Framework.
Die Schwerpunkte der Entwicklung liegen im Bereich Grails-Plugins rund um die im Softwarestack verwendeten Technologien. Das Grails-Framework bietet ein baukastenartiges Plugin-System, mit dessen Hilfe Plugins als große vorgefertigte Bausteine bequem für Anwendungen verwendet werden können. Zu den von der Abteilung „Entwicklung, Integration, Verfahren“ entwickelten Plugins zählen die folgenden:
encore – Sammelplugin für eine Reihe von Funktionalitäten und andere Plugins
gscripting – Plugin zur Ausführung von Groovy-Skripten
smdb – Plugin zur vereinfachten Anbindung von MongoDB an Grails-Anwendungen
hazel – Unterstützungsplugin für die Nutzung von Hazelcast
mocas – Authentifizierungsplugin für CAS und Sessionreplikation für Anwendungen mit mehreren Servern
slay – Standardisiertes IdM-Layout als Plugin für Webanwendungen
secmail – Plugin für den Versand von verschlüsselten E-Mails
oslay – Plugin mit anpassbarem Layout für externe Einrichtungen
Ein großer Teil der Funktionalität liegt in domainspezifischen Sprachen (domain-specific languages => DSLs) und der eigenentwickelten Scripting-Engine. Mit Hilfe dieser Komponenten ist es möglich, große Teile der Anwendungslogik in einem Online-Programmcode-Editor zu bearbeiten und die Änderungen sofort ins laufende System zu übernehmen. Dadurch können Anwendungen zur Laufzeit verändert werden und müssen nicht erst kompiliert und neu gestartet werden, um die Änderungen zu übernehmen. Von der Scripting-Engine und den DSLs werden unter anderem folgende Vorgänge in den Anwendungen gesteuert:
Datenbankzugriffe
Mailversand
Versionierung
Datensynchronisation
Datenverarbeitung
Datennormalisierung und Sanitizing
Web Services (Server und Client)
Logging
LDAP-Verbindungen
PDF-Generierung
Dashboards
…
Neben der weit verbreiteten Server- und Datenbanksoftware verwendet die Abteilung „Entwicklung, Integration, Verfahren“ auch einige andere erwähnenswerte Softwarepakete von Drittanbietern. Einige davon sind die folgenden:
GitLab ist eine komplette DevOps-Plattform, die es Entwicklern ermöglicht, Software schneller zu entwickeln, zu testen und bereitzustellen. Die GitLab-Plattform bietet Entwicklern eine einzige Datenquelle für Projektplanung, Quellcodemanagement und CI/CD. Die Abteilung „Entwicklung, Integration, Verfahren“ betreibt eine Community-Version von GitLab, die für Open-Source-Projekte und den Austausch mit anderen Universitäten zum Einsatz kommt.
Artifactory ist ein weit verbreitetes Versionierungs- und Verwaltungssystem für Softwarepakete. Die Abteilung „Entwicklung, Integration, Verfahren“ nutzt Artifactory OSS für die Verwaltung der hausintern entwickelten Grails-Plugins. So können alle erstellten Anwendungen bequem von diesen Plugins profitieren.
CAS ist ein vielseitig einsetzbares Enterprise Single Sign-On System. Im IdM-Umfeld wird es vor allem für die Authentifizierung der Mitarbeiter für die Arbeit mit den IdM-Kernkomponenten verwendet.
Keycloak ist ein Open-Source-Softwareprodukt, das Single Sign-On mit Identity and Access Management für moderne Anwendungen und Dienste ermöglicht. Keycloak basiert auf Standardprotokollen und bietet Unterstützung für OpenID Connect, OAuth 2.0 und SAML.
Consul ist eine Service-Networking-Lösung zur Automatisierung von Netzwerkkonfigurationen, Erkennung von Services und Ermöglichung sicherer Konnektivität über jede Cloud oder Laufzeit.
Docker ist eine freie Software zur Isolierung von Anwendungen mit Hilfe von Containervirtualisierung. Docker vereinfacht die Bereitstellung von Anwendungen, weil sich Container, die alle nötigen Pakete enthalten, leicht als Dateien transportieren und installieren lassen.
Datenschutzeinstellungen
Unsere Webseite verwendet Cookies und ähnliche Technologien.
Einige Cookies sind für den Besuch dieser Webseite notwendig, also essenziell. Ohne diese Cookies wäre Ihr Endgerät ansonsten zum Beispiel nicht in der Lage, sich Ihre Datenschutzauswahl zu merken.
Falls Sie zustimmen, verwenden wir Cookies und Daten auch, um Ihre Interaktionen mit unserer Webseite zu messen, oder um externe Medien (z.B. Videos) einzubinden.
Bei optionalen Cookies werden fast immer Daten an Dritte weitergegeben. Hierbei handelt es sich um personenbezogene Daten (z.B. Ihre IP-Adresse).
Klicken Sie auf „Individuelle Einstellungen“, um sich Ihre Möglichkeiten und die eingesetzten Cookies anzusehen. Hierzu gehören zum Beispiel Steuerelemente, um einige oder alle Cookies für bestimmte Zwecke zu deaktivieren.
Sie können Ihre Einwilligung jederzeit unter Datenschutzerklärung einsehen und widerrufen. Auf der Seite finden Sie auch zusätzliche Informationen zu den verwendeten Cookies und Technologien.
Hier finden Sie eine Übersicht aller verwendeten Cookies. Sie können Ihre Einwilligung zu ganzen Kategorien geben oder sich weitere Informationen anzeigen lassen und bestimmte Cookies auswählen.