Programming Languages

LUI 2.0 -- LDAP User Interface (DAASI International)

Unternehmen

DAASI International ist Experte für föderiertes Identity und Access Management auf Open-Source-Basis. Ursprünglich ein Spin-off der Universität Tübingen, kümmert sich der IT-Dienstleister seit über 15 Jahren um Zugriffskontrolle und Verzeichnisdiensttechnologien für Hochschulen, Behörden und Unternehmen. Zudem wirkt DAASI International aktiv im Bereich der Digital Humanities mit und beteiligt sich an nationalen wie internationalen Forschungsprojekten, u.a. bei der digitalen Forschungs­infrastruktur DARIAH-DE sowie im Rahmen des EU-Förderprogramms Horizon 2020. Das Leistungs­spektrum von DAASI International umfasst Consulting, Support, Softwareentwicklung, Schulungen und die Implementation fort­schrittlicher Open-Source-Technologien für IT-Infrastrukturen.

Zielsetzung

Entwicklung eines Web-basierten Softwareprodukts zur Verwaltung von Daten auf einem LDAP-Server.

Motivation / Rahmenbedingungen

Die Identity-Management-Software von DAASI International – didmos – hat eine Persitenzschicht, die auf LDAP basiert. Typische Anwendungsfälle sind beispielsweise Anlegen/Bearbeiten eines Benutzerkontos, Zuweisen von Rollen an Benutzer sowie Änderung des eigenen Benutzerprofils (Selfservice). Zu diesem Zweck haben wir eine Web-Anwendung – didmos LUI - entwickelt, die allerdings in die Jahre gekommen ist und daher ein Redesign und eine Neuentwicklung ansteht. Im Rahmen des Softwareprojekts soll in Zusammenarbeit mit DAASI International-Entwicklern didmos LUI 2.0 konzipiert und mindestens als Proof-of-Concept implementiert werden.

Technische Rahmenbedingungen

Die Software wird in Python entwickelt. Es wird ein Framework benutzt, das allerdings noch nicht endgültig entschieden ist. Als Betriebssystem ist Linux und als Datenbank LDAP gesetzt.

Erwartete / benötigte Vorkenntnisse seitens der Studierenden

Programmierkenntnisse vor allem in Python und/oder Javascript werden vorausgesetzt. Kenntnisse über LDAP, XML/XSD sowie Software-Design wären von Vorteil.

Meilensteine

  • Vorprojekt: Entwicklung einer Demoanwendung

  • M1: Erstellung einer Anforderungsanalyse, einer Architektur und eines Feinkonzept

  • M2: Erste technologischen Studien, unter Verwendung verschiedener Frameworks und Technologien, z.B. Django mit einem REST Backend und einem aus einem XSD-Schaema generierten Model.