ILIAS Hub 
13th International ILIAS Conference 
Bolzano, Italy 
Fabian Schmid 
studer + raimann ag
Inhalt & Ablauf 
• Anbindung von Verwaltungssystemen – Warum? 
• Anbindung von Verwaltungssystemen – Wie? 
• 1 zu 1 Schnit...
Warum? 
• Prozess-Abbildung 
• Zentralisierung 
• Datenhoheit
Wie? 
• Schnittstellen 
• ECS, REST, SOAP, ... 
• 1 zu 1 Synchronisation
Wie? 
Drittsysteme ILIAS 
LDAP 
Verwaltungssy 
stem 
Organisations 
-einheiten
Wie? 
• Middleware
Wie? 
Drittsysteme ILIAS 
LDAP 
Verwaltungssy 
stem 
Organisations 
-einheiten 
Middleware "hub" 
hub 
Users 
hub 
Courses...
Middleware 
Drittsystem: XML-Export ILIAS 
▶ Kategorie 1 
▶ Kategorie 2 
▼ Unterkategorie 2.1 
▼ Unterkategorie 2.2 
▶ Kat...
Middleware vs. 1 zu 1 
• Nur 1 Synchronisationsmechanismus 
• Aufwand zum Anbinden eines Systemes sehr gering 
• Auslagern...
hubObjekte für 
Synchronisation 
vorbereiten 
hubSyncHistory 
hubSyncHistory- 
Objekt für ext_id 
holen 
ist delivery_date...
Ablauf der Synchronisation 
hubUser" hubCategory" hubCourse" hubMembership"
Ablauf der Synchronisation 
connect()" 
• Es wird versucht sich mit dem Drittsystem zu verbinden, im Erfolgsfall wird true...
Hooks 
• Nach dem Lesen der Daten 
• Vor und nach Objektverarbeitung 
• Formular 
• Semester 
• Externer Status
Fragen & Diskussion
ILIAS Hub Plugin (ILIAS Conference Bolzano)
Nächste SlideShare
Wird geladen in …5
×

ILIAS Hub Plugin (ILIAS Conference Bolzano)

243 Aufrufe

Veröffentlicht am

The ILIAS Hub Plugin acts as a middleware and allows developers to easily import data from foreign sources to sync with categories, courses, users and memberships.

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
243
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

ILIAS Hub Plugin (ILIAS Conference Bolzano)

  1. 1. ILIAS Hub 13th International ILIAS Conference Bolzano, Italy Fabian Schmid studer + raimann ag
  2. 2. Inhalt & Ablauf • Anbindung von Verwaltungssystemen – Warum? • Anbindung von Verwaltungssystemen – Wie? • 1 zu 1 Schnittstelle • Middleware • Status-Modell • Synchronisations-Prozess • Hooks • Fragen und Diskussion
  3. 3. Warum? • Prozess-Abbildung • Zentralisierung • Datenhoheit
  4. 4. Wie? • Schnittstellen • ECS, REST, SOAP, ... • 1 zu 1 Synchronisation
  5. 5. Wie? Drittsysteme ILIAS LDAP Verwaltungssy stem Organisations -einheiten
  6. 6. Wie? • Middleware
  7. 7. Wie? Drittsysteme ILIAS LDAP Verwaltungssy stem Organisations -einheiten Middleware "hub" hub Users hub Courses hub Categories XYZ
  8. 8. Middleware Drittsystem: XML-Export ILIAS ▶ Kategorie 1 ▶ Kategorie 2 ▼ Unterkategorie 2.1 ▼ Unterkategorie 2.2 ▶ Kategorie 3 Name ID Kategorie 1 1 0 Kategorie 2 2 3 Parent-ID 0 2 4 0 Unterkategorie 2.2 5 Unterkategorie 2.1 2 Kategorie 3 <categories> <c id='1'> <pid>0</pid> <title> Kategorie 1 </title> </c> [...] </categories> Middleware hub
  9. 9. Middleware vs. 1 zu 1 • Nur 1 Synchronisationsmechanismus • Aufwand zum Anbinden eines Systemes sehr gering • Auslagern der Middleware auf Drittserver ! Zugriffsbeschränkung • Mehrere Datenquellen
  10. 10. hubObjekte für Synchronisation vorbereiten hubSyncHistory hubSyncHistory- Objekt für ext_id holen ist delivery_date < pickup_date? hubObjekt als nicht mehr geliefert markieren ja hubObjekt als erneut geliefert markieren nein Status für Objekt abfragen ist eine ILIAS-ID vorhanden? ja Wurde das hubObjekt als nicht mehr geliefert markiert? NEW nein Wurde das Objekt bereits durch Hub DELETED ja nein Wurde das ILIAS-Objekt ja nein gelöscht? DELETED_I N_ILIAS UPDATED hubObjekte für Synchronisation vorbereiten gelöscht? ALREADY_D ELETED nein ja Wurde das Objekt ls gelöscht markiert? nein NEWLY_DEL IVERED ja Statusmodell
  11. 11. Ablauf der Synchronisation hubUser" hubCategory" hubCourse" hubMembership"
  12. 12. Ablauf der Synchronisation connect()" • Es wird versucht sich mit dem Drittsystem zu verbinden, im Erfolgsfall wird true zurückgegeben." parseData" • Die Daten auf dem Drittsystem werden gelesen und in der Klasse gespeichert (bspw. in $this->data = array();). Im Erfolgsfall wird true zurückgegeben." getData" • Die Daten werden abgeholt." getChecksu m" • Die von der Anbindung berechnete Anzahl Datensätze wird geholt und mit der Anzahl Datensätze aus getData() verglichen. Sind beide Werte gleich, wird weitergefahren." buildEntries" • Die einzelnen hubUser-Einträge werden erstellt."
  13. 13. Hooks • Nach dem Lesen der Daten • Vor und nach Objektverarbeitung • Formular • Semester • Externer Status
  14. 14. Fragen & Diskussion

×