Collaboration tools: The CHEF and Sakai Projects
Download
Report
Transcript Collaboration tools: The CHEF and Sakai Projects
From Your Course Syllabus to Earthquake
Engineering: Collaboration using the
CHEF Framework
Charles Severance
University of Michigan
Outline
•
•
•
•
•
•
•
Collaborative Activities at UM
CHEF Technology
CHEF Features
CHEF Status
The Sakai Project
Sakai Technologies
Sakai Timeline
Collaboration @ UM
Portal Technology
Jetspeed 2.0
uPortal 3.0
Websphere Й
Java
Swing
JSR-168 Technology
Legacy
Channels,
Teamlets
CHEF
Services
JSR-168
Portlets
Sakai GUI
Sakai GUI
Sakai
Teamlet
Sakai
Teamlet
OKI
Services
Sakai
Other
Services
NMI Grid Portal
NEESGrid
CHEF 1
CHEF 2
Science of Collaboratories
Worktools (Notes Based)
WTNG
CTNG
Coursetools (Notes Based)
SPARC
1991 - 1997 1998
1999
2000
2001
2002
2003
2004
2005
SPARC
2/2001 600 users 800 data sources
CourseTools
Over 42,000 users at the end of 2003
WorkTools
Over 9000 users (2000 active) at the end of 2003
Science of Collaboratories
people-to-people
Communication,
Collaboration
Services
groups-toinformation
Distributed,
media-rich
information
technology
Digital libraries &
documents
http://www.scienceofcollaboratories.org/
NSF Funded ITR
groups-tofacilities
Remote
instruments
CHEF 1.0
• Fall 2001: CHEF Development begins
– Generalized extensible framework for building collaboratories
– “Best-of” CourseTools, SPARC, WorkTools
• Integrate across current UM projects and adopt relevant
standards
• Funded internally at UM as replacement for CourseTools
• All JAVA - Open Source
– Jakarta Jetspeed Portal
– Jakarta Tomcat Servlet Container
– Jakarta Turbine Service Container
• Build community of developers through workshops and outreach
CHEF Technology
• Provide a mechanism for software development
which will allow organizations to share and re-use
each other’s work
• Utilize existing technologies wherever possible and
add value rather than invent all new
• Enable code reuse across multiple organizations
• Lead to portal technology - Jetspeed
Not “just” a portal
• Portals are a framework to deploy tools (aka
rectangles) and focus on how the user wants to
arrange their own “rectangles”
• While CHEF technically is a portal, the goal is for the
tools to work together closely and seem to really be
parts of a larger “tool”
• CHEF has a lot of features, (services, presence,
notification, etc..) which bridge the gap between
portal and application framework
CHEF General Tools
–
–
–
–
–
–
–
–
–
–
–
–
–
Announcements
Chat
Threaded Discussion
Calendar
Schedule
E-Mail Archive
Resources (including WebDav)
Web-Frame
Worksite Setup
Profile
Notifications / Subscriptions
Public View
Anonymous Comment
CHEF - More tools
•
Course Management
– Assignments
– Drop Box
• Worktools
Data Viewers (Live/Stored)
Telepresense
Video as Data
Electronic Notebook
• Grid Technologies
–
–
–
–
Grid sign on using myproxy
Grid computational portal
GridFTP
..Many more
Video as data: User Views
Still Image / Camera Control
Camera Control
Gateway
^
< >
Still Image Viewer
^
–
–
–
–
~ < >
< >
DT Main System
Thumbnail + Audio + Data
Data Viewer
< > +
Tomcat Servlet Container
Jetspeed Portal
CHEF Implementation
Architecture
- More Detail
Velocity
CSS
Turbine Framework
Turbine
Service
Tool
Servlet
Turbine
Service
Turbine
Service
In addition to Jetspeed, CHEF operates within a Servlet container
called Jakarta Tomcat. Whereas portlets operate in one “recatangle”
which is a subset of the screen, Servlets control the entire HTTP
response or even talk non-HTTP protocols.
HTTP
Example Architecture Velocity Resources
WEBDAV
Tomcat Servlet Container
Jetspeed Portal
CSS
Turbine
Security
Service
Resource
Tool
Access
Servlet
Content
Service
src/java/org/chefproject/actions/ResourceAction.java
src/vm/chef_resources_show.vm (plus 10 more)
src/java/org/chefproject/service/component/BaseContentService.java
src/java/org/chefproject/service/component/BaseUserDirectoryService.java
src/java/org/chefproject/service/component/ChefSecurity.java
src/java/org/chefproject/servlet/ChefdavServlet.java
src/java/org/chefproject/servlet/AccessServlet.java
Webdav
Servlet
User Dir.
Service
Services
• Long-term lifecycle
• One instance (Singleton)
– Must be aware that multiple users can use service
– Can use memory resident information (often used
for cache)
• Contains as much of the implementation as
possible
• Pluggable implementations
–
–
–
–
Memory version
XML implementation
Web services implementation
Database implementation
Service Implementations
Web Svcs Service
Implementation
Service API
Database Service
Implementation
Tool
Portal
Engine
Clustered Service
Implementation
Turbine Service
Broker
chef.properties
The API is an Interface – There can be any number of different service
implementations which implement the Interface. At run-time Turbine reads a
configuration file and associates the appropriate service implementation with
each API and provides lifecycle services to the service.
Adding Grid Infrastructure to CHEF
Jetspeed
Jetspeed
Login
New Code
IU Code
IU Portlets
LDAP
GridFTP
Proxy
User
Existing GRID
CHEF
UserDirectory
Service
Component
UserDirectory
Existing CHEF
UserDirectory
Provider
Grid
UserDirectory
Provider
Service
Tomcat / Apache
CHEF
Grid
Service
Component
Grid Service API
COGs
MyProxy
Tools
CHEF Applications
•
•
•
•
CourseTools Next Generation
WorkTools Next Generation
NEESGrid
NSF National Middleware Grid Portal
CourseTools Next Generation
Over 5000 users at the end of 2003
http://coursetools.ummu.umich.edu/
Worktools Next Generation
New WorkTools Sites being created in WTNG as of 12/2003
Run on the same servers as CTNG.
NEESGrid - The Equipment
Network for
Earthquake
Engineering
Simulation
NSF Funded.
NCSA, ANL, USC/ISI, UM, USC, Berkeley, MSU
CHEF-Based NEESGrid
Software
Grid
Service
Stubs
Portal
Portlets
And
Teamlets
Service
API
Grid
Protocols
Grid
Services
NMI / OGCE
Local
Portal
Services
Remote
Content
Services
HTTP
Remote
Content
Servers
Jetspeed
Internal
Services
Figure 4: The revised portal architecture will provide a unified interface for
portal services.
NSF National Middleware Iniative
Indiana, UTexas, ANL, UM, NCSA
www.ogce.org
CHEF Status
• CHEF is stable and released
– CHEF 1.2 from www.chefproject.org
– Workshops twice per year
– Technical support mailing list
– Collaborative site chefproject.org/chef/
• Other derived variants of CHEF
– NMI 1.0 Beta from www.ogce.org
– NEESGrid 2.1 from www.neesgrid.org
What is Next: SAKAI
•
U Michigan, Indiana U, MIT, Stanford, uPortal
– All have built portals / course management systems
– JSR-168 portlet standard requires us all to re-tool and look at new approach to
portals
•
Course Management System Standards
– Open Knowledge Iniative (OKI) needed full implementation
– IMS standard such as Question and Testing Interoperability (QTI)
•
•
•
•
Why not coordinate this work , do the work once, and share each others
solutions?
Integrate across projects at multiple institutions and adopt relevant
standards
Collaboration at the next frontier - implementation
Tool Portability Profile (TPP)
– Truly portable tools and services
– Tools built at different places look and feel the same and share data and services
– This is difficult - Interoperbility is harder than portability
•
Mellon Foundation funding
Open/Open Licensing
• “..all work products under the scope of
the Sakai initiative for which a member
is counting matching contribution and
any Mellon Sakai funding” will be open
source software and documentation
licensed for both education and
commercial use without licensing fees.
SAKAI Overview
July 04
Jan 04
May 05
Activity:
Maintenance &
Transition from a
project to
a community
Michigan
•CHEF Framework
•CourseTools
•WorkTools
Indiana
•Navigo Assessment
•Eden Workflow
•Oncourse
MIT
•Stellar
Stanford
•CourseWork
•Assessment
OKI
•OSIDs
Dec 05
SAKAI 1.0 Release
•Tool Portability Profile
•Framework
•Services-based Portal
•Refined OSIDs
& implementations
SAKAI Tools
•Complete CMS
•Assessment
SAKAI 2.0 Release
•Tool Portability Profile
•Framework
•Services-based Portal
SAKAI Tools
•Complete CMS
•Assessment
•Workflow
•Research Tools
•Authoring Tools
Activity: Ongoing implementation work at local institution…
uPortal
Primary SAKAI Activity
Architecting for JSR-168 Portlets,
Refactoring “best of” features for tools
Conforming tools to Tool Portability Profile
Primary SAKAI Activity
Refining SAKAI Framework,
Tuning and conforming additional tools
Intensive community building/training
Portability Profile (as of today)
• Tools
– JSF GUI Layer
– JSR 168 Portlet
– JSR Servlet Standard
• Services
– Level 1-3 Inversion of Control
– Avalon, Turbine, OKI, Spring, Pico
• J2EE / EJB / JBoss - Enterprise Services
– Stateless Session
– Entity beans for clustering and scaling
• This is in progress - so it may change
Sakai Architecture
Portal
Configuration
Implementations
Portal Technology
uPortal 3.0
JSR-168 Technology
Legacy
Sakai GUI
Portable code
Sakai Service Layer
Channels,
Teamlets
JSR-168
Portlets
Sakai
Teamlet
Sakai GUI Layer
Mega-portable code
CHEF
Services
OKI
Services
Other
Services
Architecture and Tool Development
Dec 15
SAKAI 1.0 Whitepaper
Pre-alpha release of SAKAI’d CHEF
Architect Discussions: getting it right
across schools
Sakai Timeline
July 1
SAKAI 1.0 available for testing by
production facilities
Feb 15
SAKAI 0.5 available for tool
development
Oct ‘03
Jan ‘04
Nov 15
Requirements, Functional Design,
UI, Full Spec
Apr ‘04
Feb 15
Developers’ Workshop: Coding SAKAI 1.0 using
SAKAI 0.05
July ‘04
Oct ‘04
Aug 1
Tools running in SAKAI 1.0
pilot/production environment at
participating schools
Feb 1
Deliver full spec to programmers
July 1
Final tool delivery to participating
schools
Tool Development
Summary