20
Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for Eidgenössische Technische Hochschule Zürich Mark J. Norton Senior Technical Consultant The Sakai Project ETH Technical Presentation - May 2005 2 Overview Architectural Overview – The Sakai Framework Developing New Applications – Development Languages & Tools – Tool Development Integrating Sakai – Approaches – Examples

Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 1

ETH Technical Presentation - May 2005 1

Overview of Sakai Technologyfor Eidgenössische

Technische Hochschule ZürichMark J. Norton

Senior Technical ConsultantThe Sakai Project

ETH Technical Presentation - May 2005 2

Overview

• Architectural Overview– The Sakai Framework

• Developing New Applications– Development Languages & Tools– Tool Development

• Integrating Sakai– Approaches– Examples

Page 2: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 2

ETH Technical Presentation - May 2005 3

What is Sakai?

• Sakai is a Collaboration Learning Environment.

• A platform for modular tools.• Support for:

– Course management– Learning delivery– Collaboration, work, and administration

ETH Technical Presentation - May 2005 4

A Support Framework

• Sakai is separated into two main parts:

Tools

Sakai Framework

Page 3: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 3

ETH Technical Presentation - May 2005 5

The

Sak

ai F

ram

ewor

k

SakaiService

SakaiService

SakaiService

SakaiService

Sakai Tool Sakai Tool Sakai Tool

What is a Framework?• A “framework” is like a “hosting environment”• It is the stuff that “surrounds” the user-programmable

parts “inside”• This framework includes common services that can

be used to build more complex services.

ETH Technical Presentation - May 2005 6

Aggregator

Presentation

Tools

Services

Client

System

The

Abs

tract

Sak

ai E

nviro

nmen

t

What is an Architecture?

• Very abstract• The part that doesn’t change• Defines common terminology• Usually not heavily debated• Is not the implementation

detail at all

Page 4: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 4

ETH Technical Presentation - May 2005 7

Architecture .vs. Framework

Aggregator

Presentation

Tools

Services

Client

System

The

Abs

tract

Sak

ai E

nviro

nmen

t

The

Sak

ai F

ram

ewor

k

InternalAggregator

Sakai ToolPresentation

SakaiTool Code

ApplicationServices

FrameworkServices

PresentationSupport

The

Sak

ai T

ool E

nviro

nmen

t

ExternalAggregator

System

Architecture

Framework

The Sakai Architecture leads to the design of a Sakai Framework

ETH Technical Presentation - May 2005 8

The Sakai Framework

JSF

Tools

Application Services

Portal

Common Services

Kernel

The Sakai Framework consists of three essential parts: JSF to manage presentation and implement the Style Guide, Common Services to provide essential service support, and the kernel to provide a basic web application environment.

Page 5: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 5

ETH Technical Presentation - May 2005 9

The Sakai Common Services

Authorization

Authentication

SuperStructure

RepositoryAgent / Group

UuidType

ETH Technical Presentation - May 2005 10

The AuthZ Structures

Group

Group Group

Agents Agents

Group Tree UCD

English Science

Staff Biology

BIO-101

Section

Site

Tools

Dean

Prof.

SuperStructure

Chat.Read

Email.Write

Assess.Grade

Site.Create

Functions

WHO CAN-DO WHAT?

Page 6: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 6

ETH Technical Presentation - May 2005 11

sakai

UM

EE

EE101

S123

Off101

chat-tool dir/

file.txt

rsrc-tool

layout

Group-EE-Students

Group-UM-Students

chat-tool

GRP1

GRP2

Chat-channel-0439

Sakai SuperStructure

ETH Technical Presentation - May 2005 12

The Sakai User Interface Process

Sakai Tool

FacesServlet

Faces-config.xml

SakaiGUI Elements

FacesRenderer Portal

JSF Page

Client

Page 7: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 7

ETH Technical Presentation - May 2005 13

Legacy Services• alias• announcement• archive• assignment• calendar• chat• content• coursemanagement• digest• discussion• dissertation• email• event• id• message

• news• notification• preference• presence• realm• resource• security• site• time• user• CVS• cluster• component• config• courier

• current• email• log• memory• portal• session• sql

ETH Technical Presentation - May 2005 14

Developing Sakai Code

• Development Tools• Kinds of Development• Design Patterns• Languages• Development Details

Page 8: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 8

ETH Technical Presentation - May 2005 15

Development Tools

• Sakai developers use a number of tools to build services and applications:– Maven: a build tool based on dependencies.– Eclipse: an integrated development

environment.– JUnit: a unit testing support system– Jira: bug tracking and management– Sakai: projects, design, documentation

ETH Technical Presentation - May 2005 16

Kinds of Sakai Development

• Framework development – core• Service development - specialists• Tool development - general• User interface design – HCI specialists• Skins and style sheets - designers

Page 9: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 9

ETH Technical Presentation - May 2005 17

Design Patterns

• Layered service architecture• Code to interfaces• Separation of presentation from

application logic• Beans and DAOs• ORM based on Hibernate• Database and OS independence

ETH Technical Presentation - May 2005 18

Languages

• Sakai is predominantly written in Java intended to run in Tomcat under Apache.

• It is Operating System independent.• It supports three kinds of databases:

– Oracle– MySQL– Hypersonic (HSQL)

Page 10: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 10

ETH Technical Presentation - May 2005 19

Limited Support for Other Languages

• Key Sakai services are being revealed using WSRP and WSDL.

• This enables tools to be written in languages other than Java.

• Examples include Perl, PHP, Objective C, etc.

ETH Technical Presentation - May 2005 20

Development Details

• Bug Tracking• Build Processes• CVS• Release Process

Page 11: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 11

ETH Technical Presentation - May 2005 21

Bug Tracking

• Full-time bug manager (Peter Knoop)

[email protected][email protected]• bugs.sakaiproject.org• Open to the public to view and

submit• Will increasingly be the focus

of new work assignments

ETH Technical Presentation - May 2005 22

CVS Process

• Server: cvs.sakaiproject.org• CVS Structure

– Sakai module - Should always be a “workable Sakai”

– Samigo module– Gradebook module– Scratch module - emerging code (e.g. fw2)– UM / IU - etc modules - local configuration stuff

• CVS Head– Someone “has the pumpkin” for the “Sakai”

module

Page 12: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 12

ETH Technical Presentation - May 2005 23

CVS (cont)

• Tagging– Allows production at sites to stabilize while head

moves forward• Permission - wide open - within team trust• Future

– Re-factor the Sakai directory so as to produce a more pure framework

– Move “optional” parts into modules– Move toward mechanism to assemble the “basic

Sakai release” from multiple modules - probably Maven

Build Process

• Slide From Rob/Lance

Thanks to Lance Speelmon

Page 13: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 13

ETH Technical Presentation - May 2005 25

Documentation

• Collab.sakaiproject.org– This is where most projects are organized.

• Sakaipedia– A collaborative documentation effort similar

to Wikipedia.• Formal documents

– The kernel and key services are formally documented.

ETH Technical Presentation - May 2005 26

Enterprise Integration

• Sakai offers several approaches to campus integration:– Service replacement– Legacy plug-ins– Providers – federation, remote service

access.– Database intermediaries (a provider using

published schemas)

Page 14: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 14

ETH Technical Presentation - May 2005 27

Service Replacement

• Service replace means creating a whole new implementation of a service based on it’s published API.

• While this gives you the most amount of control, it is also the most amount of work.

• Service dependencies may require multiple implementations.

ETH Technical Presentation - May 2005 28

Legacy Plugins

• The Sakai Legacy services include a plug-in architecture that enables extensions to be made.

• They are coded to the same interface as the service.

• These are being replaced by providers as we migrate older services to the new common services.

Page 15: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 15

ETH Technical Presentation - May 2005 29

Providers

• Providers are a way to “look someplace else” for data.

• These other place can be a service or a database.

• Sakai is working on well known database schemas to allow data to be moved in via intermediate databases.

ETH Technical Presentation - May 2005 30

Integration Examples

• There are several versions of LDAP integration for Sakai. Schools have been using it for Authentication since 1.0.

• Work is underway at MIT to integrate Sakai to MIT services via the OKI OSIDs. Initial work is focused on the SuperStructure/Hierarchy service.

Page 16: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 16

ETH Technical Presentation - May 2005 31

Migration and Tool Portability

• Data Migration– Migration Tools

• Tool Portability– Sakai portability– TPP portability

ETH Technical Presentation - May 2005 32

Data Migration

• Zachary Thomas of Texas State U. has developed a migration tool that currently allows content from Blackboard to be migrated into Sakai.

• This will also serve as the basis for a WebCT migration tool.

Page 17: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 17

ETH Technical Presentation - May 2005 33

IMS Tool Portability Project

• Started as an IMS SIG for Sakai to interact with commercial LMS companies

• Approved by IMS 11/2004• Blackboard, CETIS, MIT, Sun, Indiana,

WebCT, University of Michigan …• Goal: By Alt-I-lab in July 2005 to have

demonstrated a single application working in Blackboard, WebCT, and Sakai.

ETH Technical Presentation - May 2005 34

SakaiSamigo

Welcome to Sakai

SamigoButtonButtonButtonButtonButtonButton

Welcome to WebCT

Samigo

Button Button Button Button Button Button Button Button

Welcome to BlackBoard

WebCt BlackBoard

Button Button Button Button Button Button Button Button

Samigo

HTML/HTTP Web Services

By July 2005 - Demonstrate

Page 18: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 18

Header

Tool AreaButtonButtonButtonButtonButtonButton

Ext

erna

l W

eb A

pplic

atio

n

Launch Control

SessionAnd Services

Bootstrap

WebServices Application

Code

1

23

4

56

7

CLE

Env

ironm

ent

HTML/HTTPWeb Services

How it Works

ETH Technical Presentation - May 2005 36

Interoperability and Standards

• Sakai provides support for both interoperability and portability.

• Standard data interchange formats are being added to Sakai services.

• Tools are portable between Sakai environments.

• Tools can be ported to TPP-enabled environments.

Page 19: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 19

ETH Technical Presentation - May 2005 37

The SCORM Runtime Engine

• UC Davis is porting the SCORM runtime engine to Sakai.

• This will enable delivery of SCORM modules and organized content.

• Support for sequencing will be included.

ETH Technical Presentation - May 2005 38

Leveraging other Open Source Projects

• Sakai uses a wide variety of other open source software:– Apache, Tomcat, Jakarta Commons– JavaServer Faces, myFaces, JSP– Hibernate, MySQL– Maven, Eclipse– XWiki, XML, WSRP, Velocity– Etc.

Page 20: Overview of Sakai Technology for Eidgenössische Technische ... · Explore Sakai - ETH Zurich, 2005-05-26 1 ETH Technical Presentation - May 2005 1 Overview of Sakai Technology for

Explore Sakai - ETH Zurich, 2005-05-26 20

ETH Technical Presentation - May 2005 39

Questions?