1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework...

17
1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember 2005 JGS goodsolutions GmbH

Transcript of 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework...

Page 1: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 2: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 3: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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“

Page 4: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 5: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 6: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 7: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 8: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

8 © 2005 JGS goodsolutions GmbH

OLAT Software Architecture

Page 9: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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!

Page 10: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 11: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

11 © 2005 JGS goodsolutions GmbH

Development framework

Page 12: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

12 © 2005 JGS goodsolutions GmbH

GUI Elements

Page 13: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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!

Page 14: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 15: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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• ...???

Page 16: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

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

Page 17: 1 © 2005 JGS goodsolutions GmbH OLAT - Online Learning And Training OLAT Development Framework Better than Struts, more than JSF for JUGS Felix Jost, Dezember.

17 © 2005 JGS goodsolutions GmbH

JGS goodsolutions GmbH

Winterthurerstrasse 190

CH-8057 Zürich

+41 (0)43 544 09 49

http://www.goodsolutions.ch

[email protected]

OLAT Open Source Projekt, Mailingliste für Anwender und Entwickler

http://www.olat.org

http://lists.olat.org

Contact