320 likes | 446 Views
Kursgenerator für E-Learning Systeme als Web-Service (KELWICE). Diplomarbeit an HTW Saarland bei DFKI Tianxiang Lu. Motivation. Großer Markt für E-Learning Wichtige Rolle des Kursgenerators Probleme: Geschlossen Inhalte Standards für Austausch der Lerninhalte Funktionalitäten ?
E N D
Kursgenerator für E-Learning Systeme als Web-Service (KELWICE) Diplomarbeit an HTW Saarland bei DFKI Tianxiang Lu
Motivation • Großer Markt für E-Learning • Wichtige Rolle des Kursgenerators • Probleme: • Geschlossen • Inhalte Standards für Austausch der Lerninhalte • Funktionalitäten ? • Implementierung der Funktionalitäten ist teuer • Lösung: Bestehende Funktionalitäten von E-Learning Systemen als Web-Service anbieten
Grundlagen – E-Learning Systeme • Web-basierte E-Learning Systeme • Inhaltanbieter (Content Provider, CMS) • Learning Management Systeme (LMS) • Adaptierbar vs. adaptiv • Repositories und Mediator-Architektur • Metadaten, Ontologien, Ontologien-Mapping • Lernermodelle • Overlay Model, temporäre LM.
Grundlagen – E-Learning Systeme • Kursgenerator
Grundlagen – E-Learning Systeme • Probleme: • Einbinden eines fremden Repositorys erfordert • Erweiterung des Mediator-Quelltexts • Neustarten des Servers • Kursgenerator ist bisher nur innerhalb des Activemath Servers verfügbar • Generierter Kurs ist proprietäres JDOM Dokument
Grundlagen: E-Learning Standards • IMS-Manifest (SCORM Manifest)
Anforderungen an KELWICE • Fragebogen • Zeitraum: 1.April.2006 – 10. Mai. 2006 • Zielgruppe: • Entwickler (primär) • Autoren (sekundär) • Mailinglist: • Adaptive Hypertext and Hypermedia • International Forum of Educational Technology & Society • Internal Mailinglist of the European Network of Excellence Kaleidoscope
Anforderung an KELWICE • Inhalt des Fragebogens (Überblick) • Allgemeine Interessen • mögliche Lernziele • Metadaten des Lerninhalts • Lernermodellierung • Format des Rückgabewertes des generiertes Kurses • Zusätzliche Information
Anforderung an KELWICE • Auswertung des Fragebogens (Beispiel) • Frage: „Would a course generator be of use for you“?
Anforderung an KELWICE • Lastenheft (Services) • /WS10/ Generierung: kompletter Kurs • /WS20/ Generierung: einzelne LO • /WS30/ Überblick über pädagogischen Lernziele • /WS40/ Überblick über Metadaten • /WS70/ Übersetzung zwischen verschiedenen Format (z.B. JDOM <-> SCORM) • /WS80/ WS für Registrierung eines neuen Repositorys
Design - Schnittstellen • KELWICE Schnittstellen • Kernschnittstelle von KELWICE • getTaskDefinition() /WS30/ • OUT: XML Stream von Definitionen aller Tasks • generateCourse() /WS10/, /WS20/ und /WS70/ • IN: task (pädagogisches, inhaltliches Lernziel), userId/LearnerKnowledgeMap • OUT: Kurs in IMS-CP-(SCORM)-Manifest • Schnittstelle: RepositoryRegistration • getMetadataOntology() /WS40/ • OUT: Ontologie Instructional Objects (OIO) • registerRepository() /WS80/ • IN: WS-URL (Id), name, testId, • OUT: (IN-Robust) OK/Error • unregisterRepository() /WS80/ • IN: Id (WS-URL)
Design - Schnittstellen • Client Schnittstellen • Repository: ContentAPI (gefordert vom Mediator) • queryClass() • IN: contentId0 • OUT: Typ (Klasse) • queryRelation() • IN: contentId0, relation • OUT: Liste von contentId (die contentId0 als Relation besitzt) • queryProperty() • IN: contentId0, property • OUT: value • Learner Model: LearnerPropertyAPI • queryLearner() • IN: learnerId • OUT: property, value Map
Design - Schnittstellen • Interaktion zwischen Client und KELWICE • Registrierung eines Repositorys • Kursgenerierung mit Lernermodell • Kursgenerierung ohne Lernermodell
Design: Komponenten von KELWICE • ServiceController • LearnerModelAPI • RepositoryRegistrationAPI • CourseGeneratorServiceAPI
Design - ServiceController • Komponenten • CourseGeneratorWebServiceAPI • Preprocessor • Translator • Funktionalitäten • Kursgenerierung mit Lernermodell • Kursgenerierung ohne Lernermodell
LearnerModelAPI: Kursgenerierung mit temporärem Lernermodell
Design – Erweiterung für Mediator • Web-Service Wrapper • RepositoryManagement (RM) RM Client
KELWICE: Implementierung • Grundlegende Technologien • Objekt-Modelle (OM) und Parser • Web Applikation • Tools für Web-Services • Apache Axis vs. Axis2 • Erstellen von KELWICE mit Hilfe des Werkzeugs Axis2 • Java API XML-RPC Web Service • Standard-Client
Implementierung – KELWICE und Axis2 • Java-API XML-RPC Web-Service • Java Klassen Axis2 Services • Definition aller benötigen OMElement (≠ OpenMath!) • Java Klassen für Web-Service implementieren • Java2WSDL • Services.xml • WAR Datei (.aar) in Axis2 Treiber (Verzeichnis) (! ActiveMath muss im Hintergrund laufen) LMS (ActiveMath) Client KELWICE
Implementierung – Dummy Standalone Client • Java-Klassen • ClientUtil • GenerateCourseWithLKMapClient • GenerateCourseWithLMIdClient • MetadataOntologieClient • RepositoryRegisterClient • RepositoryUnRegisterClient • TaskDefinitionClient
Implementierung – Dummy Standalone Client • View (Ergebnis) • Imsmanifest.xml • manifestSimple.xsl (in Firefox und IE getestet) • benötigte Bibliotheken • Alle für AXIOM, WSDL and AXIS2
Anwendung - MathCoach • HTW – Saarland • Professor Dr. Grabowski • Intelligente Content – Anbieter für Mathematik • Generator von Interaktionen wie Übung, Experimente • Lerninhalte • LaplaceScript – Format
Anwendung – Erweiterung von MathCoach • Typen der Lernobjekten • Kapitel (Seite) Definition • Einzelne Übungsgenerator (.ls) Übung • Verwendete Metadaten • Identifier, Title, For, Requires, Type, LearningContext, Difficulty… • MathCoach–Ontologie und deren Mapping auf OIO
Anwendung – Erweiterung von MathCoach • MathCoach Repository • Indexing (Lucene) vs. relationale Datenbank • Java-Objekt-Stil (Hibernate) vs. SQL-Stil (JDBC) • mySQL vs. DerbyDB • Entscheidung: Relationale Datenbank mit DerbyDB + JDBC
Zusammenfassung • Beitrag • Kursgenerator als Web-Service • Anforderungen durch Fragebogen • SOA Design für Architektur • Implementierung mit Axis2 • Anwendung in ActiveMath und MathCoach • Repository Registration Web-Service • Ontologie und deren Mapping auf OIO • Dynamische Bindung • Dynamische Repository basiert auf XML-Dokument • Berücksichtigung auf Standard (IMS-CP-Manifest)
Ausblick • Erweiterungsmöglichkeit für KELWICE • Lernermodelle-Schnittstelle • Austausch der Lerninhalte als IMS-CP • Erweiterungsmöglichkeit für MathCoach • Benutzerfreundlichere Darstellung des Kurses • Vertiefung der verwendeten Metadaten
Danksagung • HTW Saarland • Professor Dr. Grabowski • Professor Dr. Lehser • DFKI • Carsten Ullrich (besonders) • ActiveMath Gruppe • KorrektorInnen • Kerstin Borau, Min Ye, Haichao Guan