Im DSSNAT Projekt sind eine Reihe von Technologien und Softwarekomponenten entwickelt worden, die sich auf die TUM IT Infrastruktur stützen und zusätzliche Services für dezentrale Prozesse ermöglichen. Der Sourcecode ist im Gitlab des LRZ im Repository https://gitlab.lrz.de/tumapps auf Nachfrage zugänglich. Sprechen Sie mit uns. In unserer Digitalisierungsinitative haben wird umfangreich Erfahrung in der praktischen Umsetzung gesammelt und entwickeln diesen Werkzeugkasten beständig weiter. Beteiligen Sie sich. Alle Lösungen sind für die nahtlose Integration in die TUM Landschaft konzipiert und ermöglichen die agile Realisierung von massgeschneiderten Lösungen für die Anwendung im universitären Umfeld.

Basistechnologien

Python FastAPI Backend mit RESTful Webservices

FastAPI ist ein modernes, schnelles (hohe Performance), web framework für Python, das auf standardmäßigen Python-Typ-Hinweisen basiert. Es ermöglicht die schnelle Entwicklung von RESTful Webservices mit automatischen API-Dokumentationen (z.B. Swagger UI). Durch seine asynchrone Natur eignet es sich hervorragend für den Aufbau hochperformanter Backends.

Datenvalidierung mit Python Bibliothek Pydantic

Pydantic ist eine Python-Bibliothek zur Datenvalidierung und Einstellungenverwaltung unter Verwendung von Python-Typ-Hinweisen. Sie stellt sicher, dass die übermittelten Daten (z.B. von einer API) einem definierten Schema entsprechen. Pydantic generiert automatisch Schema-Definitionen (z.B. JSON Schema) und führt die Validierung zur Laufzeit durch, was die Robustheit und Sicherheit der Anwendung erhöht.

Single Sign On mit Keycloak

Keycloak ist eine Open-Source-Lösung für das Identitäts- und Zugriffsmanagement (IAM), die primär für das Single Sign-On (SSO) verwendet wird. SSO ermöglicht Benutzern, sich nur einmal anzumelden, um Zugriff auf mehrere unabhängige Anwendungen zu erhalten. Keycloak unterstützt gängige Protokolle wie OAuth 2.0 und OpenID Connect und bietet Funktionen wie Benutzerverwaltung und Rollenbasierte Zugriffskontrolle (RBAC).

Web Components mit Stencil

Stencil ist ein Compiler für die Erstellung von Web Components; dies sind wiederverwendbare, native HTML-Elemente. Es kombiniert die besten Konzepte populärer Frameworks und erzeugt Framework-agnostische Komponenten, die in jeder modernen Webanwendung funktionieren. Der Fokus liegt auf Zukunftssicherheit und Performance, da die Komponenten direkt auf Webstandards basieren.

Task Queues mit Python Bibliothek Celery

Celery ist ein asynchrones Task-Queue/Job-Queue-System für Python, das zur Verteilung von zeitintensiven Aufgaben über mehrere Worker-Prozesse oder -Maschinen verwendet wird. Es ermöglicht die Verarbeitung von Aufgaben im Hintergrund oder zu einem späteren Zeitpunkt, ohne die Reaktionsfähigkeit der Hauptanwendung zu blockieren. Typische Anwendungsfälle sind das Versenden von E-Mails, das Generieren von Berichten oder das Verarbeiten großer Datensätze.

Frontend Programmierung mit Angular

Angular ist ein TypeScript-basiertes und komplettes Frontend-Framework von Google zur Entwicklung von Single Page Applications (SPAs). Es fördert eine modulare und komponentenbasierte Architektur, die die Wartbarkeit und Skalierbarkeit großer Anwendungen verbessert. Angular bietet einen umfassenden Satz an Tools und Konventionen für die Entwicklung von strukturierten und performanten Benutzeroberflächen.

Formularmanagement mit SurveyJS

SurveyJS ist eine Sammlung von Open-Source-JavaScript-Bibliotheken, die es ermöglichen, dynamische Formulare und Umfragen zu erstellen, rendern und verarbeiten. Es bietet einen visuellen Formular-Builder und eine Laufzeitbibliothek zur Anzeige der Formulare in der Webanwendung. Dies vereinfacht das Management komplexer Daten-Eingabemasken ohne umfangreiche manuelle Frontend-Programmierung.

Konfigurationsmanagement mit Saltstack

Saltstack (oft nur Salt genannt) ist ein Open-Source-Konfigurationsmanagement-Tool, das auch für Remote Execution (Ad-hoc-Befehlsausführung) verwendet wird. Es ermöglicht die Automatisierung der Bereitstellung und Konfiguration von Servern und Infrastrukturkomponenten in großem Maßstab. Salt nutzt ein Master-Minion-Modell und kann durch seine ereignisgesteuerte Architektur sehr schnell auf Änderungen reagieren.

DevOps Infrastruktur mit Gitlab, Docker, Ubuntu

Dieser Bereich beschreibt eine gängige Kombination von Tools für eine moderne DevOps-Infrastruktur. GitLab dient als zentrale Plattform für Code-Verwaltung (Git) und Continuous Integration/Continuous Deployment (CI/CD). Docker wird für die Containerisierung von Anwendungen verwendet, um portierbare, isolierte Umgebungen zu schaffen, während Ubuntu oft als stabiles Betriebssystem für die Host-Server der Container und die CI/CD-Runner dient.

Prozess Orchestrierung mit Camunda

Camunda ist eine Open-Source-Plattform für das Business Process Management (BPM) und die Prozess-Automatisierung (Prozess-Orchestrierung). Sie verwendet die standardisierten Notationen BPMN (Business Process Model and Notation) und DMN (Decision Model and Notation) zur grafischen Modellierung von Geschäftsprozessen und Geschäftsregeln. Camunda ermöglicht die Ausführung und Überwachung dieser modellierten Prozesse über eine robuste Workflow-Engine, die Microservices und menschliche Aufgaben integrieren kann.

Microservice Architektur

Eine Microservice-Architektur ist ein Ansatz zur Entwicklung einer einzelnen Anwendung als eine Sammlung kleiner, unabhängiger Dienste, die lose gekoppelt sind. Jeder Dienst ist unabhängig bereitstellbar, skalierbar und besitzt seine eigenen Daten (z.B. eigene Datenbank). Dies fördert die technologische Heterogenität und die Agilität der Entwicklungsteams.

Anwendungen

Digital School Services (DSSNAT)

Eine Sammlung von Anwendungen, die digitale Prozesse der akademischen Verwaltung ergänzen und über ein Angular-Frontend zugänglich sind. Die Authentifizierung der Benutzer erfolgt über Single Sign-On, wodurch eine durchgängige digitale Benutzererfahrung im Zusammenspiel mit TUMonline ermöglicht wird. Die Autorisierung wird entweder von TUMonline übernommen oder prozessabhängig geregelt. Der Datenzugriff erfolgt über eine FastAPI-basierte REST-API. Im Hintergrund sorgen Celery-Scheduler für den regelmäßigen Datenabgleich mit TUMonline und DocGS.

WebAPI

Ein Microservice, der JSON Daten aus dem DSSNAT Backend mit Jinja2 Vorlagendateien verbindet und parametrisiert filtert, um Html Code für Webseiten zu erzeugen.

Typo3 Plugin Generator

Der Generator erzeugt ein in Typo3 die Formulare für die Eingabe der Parameter der WebAPI.

Individuell Development Plan

Eine digitale Anwendung zur Vorbereitung und Vereinbarung von strukturierten Gesprächen auf Basis eines vorbereiteten Fragebogens zwischen Postdocs und Betreuerinnen und Betreuern. 

Voting

Eine Anwendung für das schnelle Erstellen geheime Abstimmungen, wobei die Wahlberechtigten über eine Gruppe aus TUMonline festgelegt werden.

Vorgehen

Strategie

Die Prozesse werden durchgängig über alle Fachanwendungen hinweg Ende-zu-Ende modelliert. Informationen werden nach dem "Single Source of Truth"-Prinzip verwaltet, über Schnittstellen nahtlos verknüpft und im Prozess den verantwortlichen Personen bereitgestellt.

Talentmanagement

Die Digitalisierung erfordert eine Standardisierung und Optimierung von Prozessen. Dies gelingt nur durch eine enge Zusammenarbeit zwischen Fachabteilungen und IT innerhalb von Projekten. Die dafür notwendigen fachlichen und sozialen Kompetenzen werden im Projekt erworben und durch strukturierte Weiterbildungsangebote von TUM Horizon gefördert.

Organisationsentwicklung

Die Digitalisierung eröffnet effektivere Wege der Zusammenarbeit, deren Potenzial konsequent zur Weiterentwicklung der School-Organisation genutzt wird, um Kommunikation und Kooperation zu optimieren.

Infrastruktur

Virtualisierung

Die eigene Virtualisierungsinfrastruktur bildet die Grundlage für die Bereitstellung der Infrastruktur für Entwicklung und Betrieb von Anwendungen. Dies geschieht nach dem Modell „Plattform as a Service (PaaS)“.

Storage

Die Virtualisierung und die Anwendungen erfordern einen flexiblen und hochperformanten Speicher, der die Protokolle NFS, CIFS und S3 unterstützt. Diesen Anforderungen wird ein abgestuftes NetApp System gerecht. Es setzt sich zusammen aus einem All-Flash-System, einem FAS (Fabric-Attached Storage mit Festplatten) System und einem StorageGRID mit acht Cluster-Hosts.


  • Keine Stichwörter