1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework...
-
Upload
haley-arnold -
Category
Documents
-
view
218 -
download
0
Transcript of 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework...
1 © 2005 JGS goodsolutions GmbH
OLAT - Online Learning And Training
OLAT Development Framework Better than Struts, more than JSF
for JUGS
Felix Jost, Dezember 2005JGS goodsolutions GmbH
2 © 2005 JGS goodsolutions GmbH
Agenda
• What is OLAT• Why build an own framework?• Live-Programming-Demo• Lessons learned in three years• The future, Questions & Answers,
Discussion
3 © 2005 JGS goodsolutions GmbH
What is OLAT
• Strategic Learning Management System of the University of Zürich
• Used by about 11 Universities and about 8 „Fachhochschulen“
4 © 2005 JGS goodsolutions GmbH
OLAT Development I
• 1.x Prototyp phase– Projectstart Spring 1999– Developed für Veranstaltung „Einführung in Informatik
I“ at IfI– PHP, PHPLib, MySQL (LAMP)
• 2.x Migration phase– Start „Java Rebuild“ 2002– Release 2.0 Frühjahr 2003– New Java Framework + new Java Code + old PHP
Funktionality
5 © 2005 JGS goodsolutions GmbH
OLAT Development II
• 3.x New Softwarearchitecture– Release 3.0 Sommer 2004– 100% pure Java– Clean component based Architecture– Simple but efficient Development-Framework– Built to scale (Campus-Size LMS)– Multilingual (de,fr,it,en,...), UTF-8
• 4.x (Current System)– Konsolidating Framework, Extension Points (Spring FW)– About 1400 Java classes– Creation of JGS goodsolutions GmbH (official Uni ZH Spin off)– A growing open source community
6 © 2005 JGS goodsolutions GmbH
OLAT Buzzwords
ContentIMS Content Packaging
IMS Question & Test Interoperability (QTI)
TechnicalShibboleth (AAI)
HTML 4.01 Transitional
CSS
JavaScript
XML
KommunicationWebDAV HTTP
RSSJabber IMClient /
Server
ELML
MySQL Linux
Java
J2EEHibernate
Velocity
Ant
Development
Docbook
SSL
UTF-8
Bugzilla
CVS
jUnit
OpenSource
WYSIWYGEclipse
XStream
SCORM
MVC
7 © 2005 JGS goodsolutions GmbH
Own Framework
• 2003– Jpublish and Templates (good for a CMS)– There was Struts, no JSF: but simple page flows– Existing good systems are not open source
• End of 2003: Crisis and parallel development• Today: like Java Server Faces, but much more• This speech focuses on the GUI-Part of the
framework• More conzepts and code for
– Message Bus– RSS, WebDAV– own Virtual File System (VFS)– ...
8 © 2005 JGS goodsolutions GmbH
OLAT Software Architecture
9 © 2005 JGS goodsolutions GmbH
Design decisions
• We wanted to have
– Fun while developing (quick development, but still control)
– Swing like coding (no URLs, no state worries, no Req/Res)
– Easy to debug (events, clear resposibilities, no bytecode-manipulation)
– Good look and feel (CSS, Usability guidelines)
• What we did– Look und Feel mit CSS– Program swing-like with Windows, Panels, Layouts,
Forms, Tables, ...– Event-based: event -> dispatch -> rerender– Layouter have their own files (HTML-Fragments)– Language Translators have their own online tool– Business workflows are reusable!
10 © 2005 JGS goodsolutions GmbH
OLAT System Architecture
Java API
XML xStreams Hibernate / JDBC J2EE Servlet API
DataManagers
GUIElements
GenericControllers
WebDAV,RSS, Mail
Home Groups
Repository CourseIM
S C
P
IMS
QT
I
File
Co
urs
e
IMS
CP
IMS
QT
I
Fo
rru
m
Gro
up
s
OLATFramework
OLATApplication
Libraries
SC
OR
M
SC
OR
M
11 © 2005 JGS goodsolutions GmbH
Development framework
12 © 2005 JGS goodsolutions GmbH
GUI Elements
13 © 2005 JGS goodsolutions GmbH
Live Demo
• Develop some tasks the customer group set us• Adapt to changing workflows
– “no, the form comes here!..“
– „we need a confirmation dialog here“• Even do the english translation and some look and
feel!
14 © 2005 JGS goodsolutions GmbH
Lessons learned
• A CMS Framework can never make a LMS
• Do not underestimate migration issues
• People first need to know that they are using a webapplication, not a website
• Always use or develop a good framework
• You cannot be a product manager -and- an architect guy
15 © 2005 JGS goodsolutions GmbH
The future
• LMS Features: Release 4.1, see www.olat.org• Technical Features:• AJAX Integration
– Don't hype too much (WEB 2.0?!?)– Drag & Drop C/S– Component reload for faster navigation– Server push (e.g. Chat, shared screens etc)
• More flexible layouting of forms• ...???
16 © 2005 JGS goodsolutions GmbH
Develop with us
• www.olat.org Open Source Homepage– About 20 downloads per day– 3-4 posts a day on the mailinglists– Technical documentation online
17 © 2005 JGS goodsolutions GmbH
JGS goodsolutions GmbH
Winterthurerstrasse 190
CH-8057 Zürich
+41 (0)43 544 09 49
http://www.goodsolutions.ch
OLAT Open Source Projekt, Mailingliste für Anwender und Entwickler
http://www.olat.org
http://lists.olat.org
Contact