SlideShare ist ein Scribd-Unternehmen logo
1 von 20
REST API und Mobile Client für OLAT
User Day 2010 Universität Hamburg - aktualisierte Version
                 17. November 2010
             Florian Gnägi, frentix GmbH

                            1
Kurzprofil frentix GmbH
                                                       Die Firma:                              Dienstleistungen:

                                                       • E-Learning und Software
                                                         Entwicklungs Spezialist
                                                       • Über 10 Jahre Know-How in OLAT
                                                         und E-Learning
                                                       • Spin-Off der Universität Zürich
                                                       • Gegründet 2006, GmbH
                                                       • Privat gehalten und finanziert
                                                       • 8 Mitarbeiter
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                                                               Produkte:

                                                       Kunden:

                                                       • Unternehmen
                                                       • Spitäler / öffentliche Hand
                                                       • Bildungsinstitutionen
                                                       • Hochschulen und Schulen


                                                                                           2
                                                                                                                   © by frentix GmbH
Was ist denn ein REST API?
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                              OLAT die
                                                           Lernplattform:
                                                       Daten, Berechtigungen
                                                            und Abläufe
                                                                               3
                                                                                    © by frentix GmbH
Was ist denn ein REST API?
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                              OLAT die
                                                           Lernplattform:
                                                       Daten, Berechtigungen
                                                            und Abläufe
                                                                               3
                                                                                    © by frentix GmbH
Was ist denn ein REST API?




                                                                               ?
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                              OLAT die
                                                                                   Neue Ideen auf dem
                                                           Lernplattform:
                                                                                   Nährboden von OLAT
                                                       Daten, Berechtigungen
                                                                                        entwickeln
                                                            und Abläufe
                                                                               3
                                                                                                 © by frentix GmbH
Was ist denn ein REST API?
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                              OLAT die
                                                                                   Neue Ideen auf dem
                                                           Lernplattform:
                                                                                   Nährboden von OLAT
                                                       Daten, Berechtigungen
                                                                                        entwickeln
                                                            und Abläufe
                                                                               3
                                                                                                 © by frentix GmbH
Anwendungsfälle
                                                       Erweiterungen
                                                         z.B. JavaScript Programm mit optimierter Eingabemaske
                                                         für Forum gemäss spezifischem didaktischen Vorgaben
                                                       Anbindung
                                                         z.B. Externe Schulverwaltungsapplikation die
                                                         Benutzer, Gruppen und Kurse synchronisiert
                                                       Integration
                                                         z.B. Ein Unternehmensportal, das die Liste meiner Kurse anzeigt
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                         und einen direkten Zugang zum Kurs bietet (Single-Sign-On)
                                                       Migration
                                                         z.B. ein Skript um Moodle Kurse zu importieren, samt
                                                         Forumsbeiträge und Testresultaten
                                                       Andere Oberflächen
                                                         z.B. ein Mobile Client für iPhone und Android
                                                                                    4
                                                                                                                     © by frentix GmbH
Konzepte und Erklärungen
                                                       REST: Representational State Transfer
                                                       API: Application Programming Interface
                                                       HTTP: Hypertext Transfer Protokoll
                                                       URL: Uniform Resource Locator
                                                       Web Prinzipien voll ausschöpfen:
                                                         Jedes Objekt hat eine URL als Adresse
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                         Manipulation der Objekte mit unabhängigen HTTP
                                                         Methoden GET, PUT, POST, DELETE
                                                         Mehrere Repräsentationen eines Objektes möglich,
                                                         Content Negotiation: XML, JSON, HTML

                                                                               5
                                                                                                            © by frentix GmbH
Authentifizierung

                                                       Login Service und Session Token
                                                       Standard OLAT User Session
                                                       mit Cookies
                                                       X-OLAT-TOKEN ohne Cookie,
                                                       im HTTP Header
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                       Umwandeln REST Session in OLAT Session
                                                       Single Sign On


                                                                          6
                                                                                                © by frentix GmbH
Aufrufbeispiel
                                                       Login

                                                       GET http://demo.olat.com/olat/restapi/auth/learner?password=test
                                                       Content-Type: application/json
                                                       Response: 200


                                                       Liste meiner Gruppen

                                                       GET http://demo.olat.com/olat/restapi/groups
                                                       Accept: application/json
                                                       Response:200


                                                       Benutzer in Gruppe hinzufügen
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                       PUT http://demo.olat.com/olat/restapi/groups/{groupId}/users/{userId}
                                                       Content-Type: application/json
                                                       Response: 200

                                                       Kurs Aufruf mit Single Sign On:

                                                       GET http://demo.com/olat/url/RepositoryEntry/{repoId}?X-OLAT-TOKEN={X-OLAT-TOKEN}
                                                       Content-Type: text/html
                                                       Response: 200


                                                                                            7
                                                                                                                               © by frentix GmbH
Implementierte Dienste
                                                       •   Authentifizierung / Login       •   Kurs
                                                       •   Benutzer                            •   Autoren
                                                           •   Profil                          •   Gruppen
                                                           •   Gruppen                         •   Ressourcenordner
                                                           •   Portrait                        •   Assessmentdaten
                                                       •   Gruppen                             •   Kursbausteine
                                                           •   Konfiguration                   •   Kursstruktur
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                           •   Besitzer                        •   Kurseditor
                                                           •   Teilnehmer                      •   Publizieren
                                                           •   Forum                           •   Kursdatenbank
                                                       •   Repository / Katalog            •   Benachrichtigungen
                                                           •   Einträge                    •   Forum
                                                                                           •   Übersetzungsservice
                                                                                       8
                                                                                                                    © by frentix GmbH
Beispiel: mobile Client
                                                       • 3 Monate Software Praktikum
                                                          Michael Enz @ frentix GmbH

                                                       • Sencha Touch Framework
                                                       • HTML5 / CSS / JavaScript
                                                       • Ziel Prototyp: Erfahrungen sammeln,
                                                          Architekturkonzepte validieren

                                                       • Deployment Varianten
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                        • Native iPhone / Android App
                                                        • Installation als Web App in OLAT Installation
                                                       • Lizenzierung auf User Basis oder Site License Basis
                                                       • Release 1.0 für Q3 2011 geplant
                                                                                 9
                                                                                                           © by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




         10
                                                       Demo: Login




© by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




         11
                                                       Demo: Home




© by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




         12
                                                       Demo: Kontakte




© by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




         13
                                                       Demo: Benachrichtigungen




© by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




         14
                                                       Demo: Gruppen




© by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




         15
                                                       Demo: Forum




© by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




         16
                                                       Demo: Kurse




© by frentix GmbH
© Florian Gnägi, frentix GmbH http://www.frentix.com




                                                       φρην ("phren"): Altgriechisch, wörtlich das Zwerchfell. Im antiken
                                                       Griechenland hielt man das Zwerchfell für den Sitz der Seele.



                                                       frentix GmbH - Hardturmstrasse 76 - 8005 Zürich - www.frentix.com
                                                                                         17
                                                                                                                            © by frentix GmbH

Weitere ähnliche Inhalte

Andere mochten auch

Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)
Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)
Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)P4inBr34ker
 
Photovoltaik energie in bürgerhand
Photovoltaik energie in bürgerhandPhotovoltaik energie in bürgerhand
Photovoltaik energie in bürgerhanderhard renz
 
Projectleider Sportontwikkelingsproject SMO
Projectleider Sportontwikkelingsproject SMOProjectleider Sportontwikkelingsproject SMO
Projectleider Sportontwikkelingsproject SMOk-kruidenier
 
Facebook adds voice messages in addition to its apps
Facebook adds voice messages in addition to its appsFacebook adds voice messages in addition to its apps
Facebook adds voice messages in addition to its appsKristy AussieBatt
 
Erwartungen an e-Gov
Erwartungen an e-GovErwartungen an e-Gov
Erwartungen an e-Govch.ch
 
Kleinstmögliches netzwerk
Kleinstmögliches netzwerkKleinstmögliches netzwerk
Kleinstmögliches netzwerkovm-lukas
 
Analisis de una obra josé
Analisis de una obra joséAnalisis de una obra josé
Analisis de una obra joséLorenzo Pinto
 
Discover our services for corporate events !
Discover our services for corporate events !Discover our services for corporate events !
Discover our services for corporate events !Max Celis
 
Zipcasttest für Freie
Zipcasttest für FreieZipcasttest für Freie
Zipcasttest für Freiefreie
 
Vortrag Global IP Trends
Vortrag Global IP TrendsVortrag Global IP Trends
Vortrag Global IP TrendsAtizo AG
 
Nentwich koeln digiwiss_v3
Nentwich koeln digiwiss_v3Nentwich koeln digiwiss_v3
Nentwich koeln digiwiss_v3Michael Nentwich
 
MePublic - A Global Study on Social Media Youth
MePublic -  A Global Study on Social Media YouthMePublic -  A Global Study on Social Media Youth
MePublic - A Global Study on Social Media Youthsemadam
 
Energie KWK-G EEG | weyer spezial
Energie KWK-G EEG | weyer spezialEnergie KWK-G EEG | weyer spezial
Energie KWK-G EEG | weyer spezialweyer gruppe
 

Andere mochten auch (18)

05 Kurssoftware
05 Kurssoftware05 Kurssoftware
05 Kurssoftware
 
Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)
Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)
Wie man eine Playstation 3 für unter 5 Euro bekommt! (Rewardmix)
 
Photovoltaik energie in bürgerhand
Photovoltaik energie in bürgerhandPhotovoltaik energie in bürgerhand
Photovoltaik energie in bürgerhand
 
Projectleider Sportontwikkelingsproject SMO
Projectleider Sportontwikkelingsproject SMOProjectleider Sportontwikkelingsproject SMO
Projectleider Sportontwikkelingsproject SMO
 
Facebook adds voice messages in addition to its apps
Facebook adds voice messages in addition to its appsFacebook adds voice messages in addition to its apps
Facebook adds voice messages in addition to its apps
 
Erwartungen an e-Gov
Erwartungen an e-GovErwartungen an e-Gov
Erwartungen an e-Gov
 
Manual conactor property management - German
Manual conactor property management - GermanManual conactor property management - German
Manual conactor property management - German
 
Kleinstmögliches netzwerk
Kleinstmögliches netzwerkKleinstmögliches netzwerk
Kleinstmögliches netzwerk
 
Analisis de una obra josé
Analisis de una obra joséAnalisis de una obra josé
Analisis de una obra josé
 
Discover our services for corporate events !
Discover our services for corporate events !Discover our services for corporate events !
Discover our services for corporate events !
 
Zipcasttest für Freie
Zipcasttest für FreieZipcasttest für Freie
Zipcasttest für Freie
 
Präsentation ÖW-Marketingkampagne Winter 2013
Präsentation ÖW-Marketingkampagne Winter 2013Präsentation ÖW-Marketingkampagne Winter 2013
Präsentation ÖW-Marketingkampagne Winter 2013
 
Abstactz2
Abstactz2Abstactz2
Abstactz2
 
Vortrag Global IP Trends
Vortrag Global IP TrendsVortrag Global IP Trends
Vortrag Global IP Trends
 
Nentwich koeln digiwiss_v3
Nentwich koeln digiwiss_v3Nentwich koeln digiwiss_v3
Nentwich koeln digiwiss_v3
 
Ousia
OusiaOusia
Ousia
 
MePublic - A Global Study on Social Media Youth
MePublic -  A Global Study on Social Media YouthMePublic -  A Global Study on Social Media Youth
MePublic - A Global Study on Social Media Youth
 
Energie KWK-G EEG | weyer spezial
Energie KWK-G EEG | weyer spezialEnergie KWK-G EEG | weyer spezial
Energie KWK-G EEG | weyer spezial
 

The LMS OLAT REST API and the OLAT mobile client

  • 1. REST API und Mobile Client für OLAT User Day 2010 Universität Hamburg - aktualisierte Version 17. November 2010 Florian Gnägi, frentix GmbH 1
  • 2. Kurzprofil frentix GmbH Die Firma: Dienstleistungen: • E-Learning und Software Entwicklungs Spezialist • Über 10 Jahre Know-How in OLAT und E-Learning • Spin-Off der Universität Zürich • Gegründet 2006, GmbH • Privat gehalten und finanziert • 8 Mitarbeiter © Florian Gnägi, frentix GmbH http://www.frentix.com Produkte: Kunden: • Unternehmen • Spitäler / öffentliche Hand • Bildungsinstitutionen • Hochschulen und Schulen 2 © by frentix GmbH
  • 3. Was ist denn ein REST API? © Florian Gnägi, frentix GmbH http://www.frentix.com OLAT die Lernplattform: Daten, Berechtigungen und Abläufe 3 © by frentix GmbH
  • 4. Was ist denn ein REST API? © Florian Gnägi, frentix GmbH http://www.frentix.com OLAT die Lernplattform: Daten, Berechtigungen und Abläufe 3 © by frentix GmbH
  • 5. Was ist denn ein REST API? ? © Florian Gnägi, frentix GmbH http://www.frentix.com OLAT die Neue Ideen auf dem Lernplattform: Nährboden von OLAT Daten, Berechtigungen entwickeln und Abläufe 3 © by frentix GmbH
  • 6. Was ist denn ein REST API? © Florian Gnägi, frentix GmbH http://www.frentix.com OLAT die Neue Ideen auf dem Lernplattform: Nährboden von OLAT Daten, Berechtigungen entwickeln und Abläufe 3 © by frentix GmbH
  • 7. Anwendungsfälle Erweiterungen z.B. JavaScript Programm mit optimierter Eingabemaske für Forum gemäss spezifischem didaktischen Vorgaben Anbindung z.B. Externe Schulverwaltungsapplikation die Benutzer, Gruppen und Kurse synchronisiert Integration z.B. Ein Unternehmensportal, das die Liste meiner Kurse anzeigt © Florian Gnägi, frentix GmbH http://www.frentix.com und einen direkten Zugang zum Kurs bietet (Single-Sign-On) Migration z.B. ein Skript um Moodle Kurse zu importieren, samt Forumsbeiträge und Testresultaten Andere Oberflächen z.B. ein Mobile Client für iPhone und Android 4 © by frentix GmbH
  • 8. Konzepte und Erklärungen REST: Representational State Transfer API: Application Programming Interface HTTP: Hypertext Transfer Protokoll URL: Uniform Resource Locator Web Prinzipien voll ausschöpfen: Jedes Objekt hat eine URL als Adresse © Florian Gnägi, frentix GmbH http://www.frentix.com Manipulation der Objekte mit unabhängigen HTTP Methoden GET, PUT, POST, DELETE Mehrere Repräsentationen eines Objektes möglich, Content Negotiation: XML, JSON, HTML 5 © by frentix GmbH
  • 9. Authentifizierung Login Service und Session Token Standard OLAT User Session mit Cookies X-OLAT-TOKEN ohne Cookie, im HTTP Header © Florian Gnägi, frentix GmbH http://www.frentix.com Umwandeln REST Session in OLAT Session Single Sign On 6 © by frentix GmbH
  • 10. Aufrufbeispiel Login GET http://demo.olat.com/olat/restapi/auth/learner?password=test Content-Type: application/json Response: 200 Liste meiner Gruppen GET http://demo.olat.com/olat/restapi/groups Accept: application/json Response:200 Benutzer in Gruppe hinzufügen © Florian Gnägi, frentix GmbH http://www.frentix.com PUT http://demo.olat.com/olat/restapi/groups/{groupId}/users/{userId} Content-Type: application/json Response: 200 Kurs Aufruf mit Single Sign On: GET http://demo.com/olat/url/RepositoryEntry/{repoId}?X-OLAT-TOKEN={X-OLAT-TOKEN} Content-Type: text/html Response: 200 7 © by frentix GmbH
  • 11. Implementierte Dienste • Authentifizierung / Login • Kurs • Benutzer • Autoren • Profil • Gruppen • Gruppen • Ressourcenordner • Portrait • Assessmentdaten • Gruppen • Kursbausteine • Konfiguration • Kursstruktur © Florian Gnägi, frentix GmbH http://www.frentix.com • Besitzer • Kurseditor • Teilnehmer • Publizieren • Forum • Kursdatenbank • Repository / Katalog • Benachrichtigungen • Einträge • Forum • Übersetzungsservice 8 © by frentix GmbH
  • 12. Beispiel: mobile Client • 3 Monate Software Praktikum Michael Enz @ frentix GmbH • Sencha Touch Framework • HTML5 / CSS / JavaScript • Ziel Prototyp: Erfahrungen sammeln, Architekturkonzepte validieren • Deployment Varianten © Florian Gnägi, frentix GmbH http://www.frentix.com • Native iPhone / Android App • Installation als Web App in OLAT Installation • Lizenzierung auf User Basis oder Site License Basis • Release 1.0 für Q3 2011 geplant 9 © by frentix GmbH
  • 13. © Florian Gnägi, frentix GmbH http://www.frentix.com 10 Demo: Login © by frentix GmbH
  • 14. © Florian Gnägi, frentix GmbH http://www.frentix.com 11 Demo: Home © by frentix GmbH
  • 15. © Florian Gnägi, frentix GmbH http://www.frentix.com 12 Demo: Kontakte © by frentix GmbH
  • 16. © Florian Gnägi, frentix GmbH http://www.frentix.com 13 Demo: Benachrichtigungen © by frentix GmbH
  • 17. © Florian Gnägi, frentix GmbH http://www.frentix.com 14 Demo: Gruppen © by frentix GmbH
  • 18. © Florian Gnägi, frentix GmbH http://www.frentix.com 15 Demo: Forum © by frentix GmbH
  • 19. © Florian Gnägi, frentix GmbH http://www.frentix.com 16 Demo: Kurse © by frentix GmbH
  • 20. © Florian Gnägi, frentix GmbH http://www.frentix.com φρην ("phren"): Altgriechisch, wörtlich das Zwerchfell. Im antiken Griechenland hielt man das Zwerchfell für den Sitz der Seele. frentix GmbH - Hardturmstrasse 76 - 8005 Zürich - www.frentix.com 17 © by frentix GmbH

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. asdf \n
  11. asdf \n
  12. asdf \n
  13. asdf \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n