Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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)

292 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
  • Als Erste(r) kommentieren

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

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

×