SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
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 Schnittstelle 
• Middleware 
• Status-Modell 
• Synchronisations-Prozess 
• Hooks 
• Fragen und Diskussion
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 
hub 
Categories 
XYZ
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
Middleware vs. 1 zu 1 
• Nur 1 Synchronisationsmechanismus 
• Aufwand zum Anbinden eines Systemes sehr gering 
• Auslagern der Middleware auf Drittserver ! 
Zugriffsbeschränkung 
• Mehrere Datenquellen
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
Ablauf der Synchronisation 
hubUser" hubCategory" hubCourse" hubMembership"
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."
Hooks 
• Nach dem Lesen der Daten 
• Vor und nach Objektverarbeitung 
• Formular 
• Semester 
• Externer Status
Fragen & Diskussion

Mais conteúdo relacionado

Semelhante a ILIAS Hub Plugin (ILIAS Conference Bolzano)

Azure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die CloudAzure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die Cloudinovex GmbH
 
Opensource Search Engines
Opensource Search EnginesOpensource Search Engines
Opensource Search Enginescusy GmbH
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...SHI Search | Analytics | Big Data
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistencegedoplan
 
JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015
JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015
JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015NetworkedAssets
 
Data model mal anders
Data model mal andersData model mal anders
Data model mal andersMaxim Zaks
 
Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365
Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365
Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365Thomas Maier
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
IBM Connections Troubleshooting oder "get the cow off the ice"
IBM Connections Troubleshooting oder "get the cow off the ice"IBM Connections Troubleshooting oder "get the cow off the ice"
IBM Connections Troubleshooting oder "get the cow off the ice"Nico Meisenzahl
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-ArchitekturMarkus Flechtner
 
Auszug Seminarunterlagen "Hibernate 3.x"
Auszug Seminarunterlagen "Hibernate 3.x"Auszug Seminarunterlagen "Hibernate 3.x"
Auszug Seminarunterlagen "Hibernate 3.x"schellsoft
 
Azure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehouseAzure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehousepmOne Analytics GmbH
 
Migration auf die OBIEE - OPITZ CONSULTING - Till Sander
Migration auf die OBIEE - OPITZ CONSULTING - Till SanderMigration auf die OBIEE - OPITZ CONSULTING - Till Sander
Migration auf die OBIEE - OPITZ CONSULTING - Till SanderOPITZ CONSULTING Deutschland
 
Collaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carteCollaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carteDavid Schneider
 
Open Source im Unternehmen - Active Directory Integration in check_mk
Open Source im Unternehmen - Active Directory Integration in check_mkOpen Source im Unternehmen - Active Directory Integration in check_mk
Open Source im Unternehmen - Active Directory Integration in check_mkTorsten Maus
 
AdminCam 2017 IBM Connections Troubleshooting
AdminCam 2017 IBM Connections  TroubleshootingAdminCam 2017 IBM Connections  Troubleshooting
AdminCam 2017 IBM Connections TroubleshootingNico Meisenzahl
 
MySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtMySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtKaj Arnö
 
16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und Repositorien16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und RepositorienPascal-Nicolas Becker
 
OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...
OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...
OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...NETWAYS
 

Semelhante a ILIAS Hub Plugin (ILIAS Conference Bolzano) (20)

Azure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die CloudAzure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die Cloud
 
Opensource Search Engines
Opensource Search EnginesOpensource Search Engines
Opensource Search Engines
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistence
 
JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015
JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015
JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015
 
Data model mal anders
Data model mal andersData model mal anders
Data model mal anders
 
Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365
Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365
Experteninterview mit Markus Bütterhoff: Dokumentenverwaltung in Office 365
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
IBM Connections Troubleshooting oder "get the cow off the ice"
IBM Connections Troubleshooting oder "get the cow off the ice"IBM Connections Troubleshooting oder "get the cow off the ice"
IBM Connections Troubleshooting oder "get the cow off the ice"
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
CKAN by Friedrich Lindenberg
CKAN by Friedrich LindenbergCKAN by Friedrich Lindenberg
CKAN by Friedrich Lindenberg
 
Auszug Seminarunterlagen "Hibernate 3.x"
Auszug Seminarunterlagen "Hibernate 3.x"Auszug Seminarunterlagen "Hibernate 3.x"
Auszug Seminarunterlagen "Hibernate 3.x"
 
Azure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehouseAzure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data Warehouse
 
Migration auf die OBIEE - OPITZ CONSULTING - Till Sander
Migration auf die OBIEE - OPITZ CONSULTING - Till SanderMigration auf die OBIEE - OPITZ CONSULTING - Till Sander
Migration auf die OBIEE - OPITZ CONSULTING - Till Sander
 
Collaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carteCollaboration Days 2011 - Document Management à la carte
Collaboration Days 2011 - Document Management à la carte
 
Open Source im Unternehmen - Active Directory Integration in check_mk
Open Source im Unternehmen - Active Directory Integration in check_mkOpen Source im Unternehmen - Active Directory Integration in check_mk
Open Source im Unternehmen - Active Directory Integration in check_mk
 
AdminCam 2017 IBM Connections Troubleshooting
AdminCam 2017 IBM Connections  TroubleshootingAdminCam 2017 IBM Connections  Troubleshooting
AdminCam 2017 IBM Connections Troubleshooting
 
MySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtMySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni Frankfurt
 
16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und Repositorien16. DINI-Jahrestagung: Linked Data und Repositorien
16. DINI-Jahrestagung: Linked Data und Repositorien
 
OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...
OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...
OSMC 2009 | LDAP2Nagios - LDAP als Backend für die Objektkonfiguration by Mic...
 

ILIAS Hub Plugin (ILIAS Conference Bolzano)

  • 1. ILIAS Hub 13th International ILIAS Conference Bolzano, Italy Fabian Schmid studer + raimann ag
  • 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. Warum? • Prozess-Abbildung • Zentralisierung • Datenhoheit
  • 4. Wie? • Schnittstellen • ECS, REST, SOAP, ... • 1 zu 1 Synchronisation
  • 5. Wie? Drittsysteme ILIAS LDAP Verwaltungssy stem Organisations -einheiten
  • 7. Wie? Drittsysteme ILIAS LDAP Verwaltungssy stem Organisations -einheiten Middleware "hub" hub Users hub Courses hub Categories XYZ
  • 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. 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. 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.
  • 12. Ablauf der Synchronisation hubUser" hubCategory" hubCourse" hubMembership"
  • 13. 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."
  • 14. Hooks • Nach dem Lesen der Daten • Vor und nach Objektverarbeitung • Formular • Semester • Externer Status