Download
kursgenerator f r e learning systeme als web service kelwice n.
Skip this Video
Loading SlideShow in 5 Seconds..
Kursgenerator für E-Learning Systeme als Web-Service (KELWICE) PowerPoint Presentation
Download Presentation
Kursgenerator für E-Learning Systeme als Web-Service (KELWICE)

Kursgenerator für E-Learning Systeme als Web-Service (KELWICE)

103 Vues Download Presentation
Télécharger la présentation

Kursgenerator für E-Learning Systeme als Web-Service (KELWICE)

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Kursgenerator für E-Learning Systeme als Web-Service (KELWICE) Diplomarbeit an HTW Saarland bei DFKI Tianxiang Lu

  2. 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

  3. 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.

  4. Grundlagen – E-Learning Systeme • Kursgenerator

  5. 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

  6. Grundlagen: E-Learning Standards • IMS-Manifest (SCORM Manifest)

  7. SOA: Web Service

  8. 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

  9. 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

  10. Anforderung an KELWICE • Auswertung des Fragebogens (Beispiel) • Frage: „Would a course generator be of use for you“?

  11. 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

  12. 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)

  13. 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

  14. Design - Schnittstellen • Interaktion zwischen Client und KELWICE • Registrierung eines Repositorys • Kursgenerierung mit Lernermodell • Kursgenerierung ohne Lernermodell

  15. Registrierung eines Repositorys an KELWICE

  16. Kursgenerierung mit Lernermodell

  17. Design: Komponenten von KELWICE • ServiceController • LearnerModelAPI • RepositoryRegistrationAPI • CourseGeneratorServiceAPI

  18. Design - ServiceController • Komponenten • CourseGeneratorWebServiceAPI • Preprocessor • Translator • Funktionalitäten • Kursgenerierung mit Lernermodell • Kursgenerierung ohne Lernermodell

  19. LearnerModelAPI: Kursgenerierung mit temporärem Lernermodell

  20. Design – Erweiterung für Mediator • Web-Service Wrapper • RepositoryManagement (RM) RM Client

  21. 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

  22. 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

  23. Implementierung – Dummy Standalone Client • Java-Klassen • ClientUtil • GenerateCourseWithLKMapClient • GenerateCourseWithLMIdClient • MetadataOntologieClient • RepositoryRegisterClient • RepositoryUnRegisterClient • TaskDefinitionClient

  24. 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

  25. Anwendung - MathCoach • HTW – Saarland • Professor Dr. Grabowski • Intelligente Content – Anbieter für Mathematik • Generator von Interaktionen wie Übung, Experimente • Lerninhalte • LaplaceScript – Format

  26. 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

  27. 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

  28. 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)

  29. 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

  30. Danksagung • HTW Saarland • Professor Dr. Grabowski • Professor Dr. Lehser • DFKI • Carsten Ullrich (besonders) • ActiveMath Gruppe • KorrektorInnen • Kerstin Borau, Min Ye, Haichao Guan