2004 01 10 Chef Sa V01


Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • An advanced users view of SPARC; lots of information in multiple SPARC pages! The typical SPARC collaboration features down the left hand side, page information, resource list, active user list, and chat Streaming video in the lower left. Lots of data and model views throughout the rest of the screen shot.
  • Web-based file-system
  • The UserDirectory and GroupDirectory services also use Turbine to find the appropriate UserDirectoryProvider and GroupDirectoryProvider at run-time using the same configuration mechanism as the Service API and Service Components.
  • 2004 01 10 Chef Sa V01

    1. 1. Collaboration tools: The CHEF and Sakai Projects Charles Severance University of Michigan
    2. 2. Goals <ul><li>Briefly cover our open source learning management and collaborative systems </li></ul><ul><li>Focus on our Open Source experiences in these projects </li></ul>
    3. 3. Outline <ul><li>Collaborative Activities at UM </li></ul><ul><li>CHEF Technology </li></ul><ul><li>CHEF Features </li></ul><ul><li>CHEF Status </li></ul><ul><li>The Sakai Project </li></ul><ul><li>Sakai Technologies </li></ul><ul><li>Sakai Timeline </li></ul>
    4. 4. Collaboration @ UM SPARC Science of Collaboratories Sakai NMI Grid Portal NEESGrid 1998 1991 - 1997 1999 2000 2001 2002 2003 2004 2005 Worktools (Notes Based) WTNG Coursetools (Notes Based) CTNG CHEF 1 CHEF 2
    5. 5. SPARC 2/2001 600 users 800 data sources
    6. 6. CourseTools Michigan’s Coursetools has 42,000 users (2003) Indiana University’s OnCourse has 80000 users
    7. 7. WorkTools Over 9000 users (2000 active) at the end of 2003
    8. 8. Science of Collaboratories http://www.scienceofcollaboratories.org/ NSF Funded. Digital libraries & documents groups-to- information groups-to- facilities people-to-people Communication, Collaboration Services Distributed, media-rich information technology Remote instruments
    9. 9. CHEF 1.0 <ul><li>Fall 2001: CHEF Development begins </li></ul><ul><ul><li>Generalized extensible framework for building collaboratories </li></ul></ul><ul><ul><li>“ Best-of” CourseTools, SPARC, WorkTools </li></ul></ul><ul><li>Integrate across projects and adopt relevant standards </li></ul><ul><li>Funded internally at UM as replacement for CourseTools </li></ul><ul><li>All JAVA - Open Source </li></ul><ul><ul><li>Jakarta Jetspeed Portal </li></ul></ul><ul><ul><li>Jakarta Tomcat Servlet Container </li></ul></ul><ul><ul><li>Jakarta Turbine Service Container </li></ul></ul><ul><li>Build community of developers through workshops and outreach </li></ul>
    10. 10. CHEF Technology <ul><li>Provide a mechanism for software development which will allow organizations to share and re-use each other’s work </li></ul><ul><li>Utilize existing technologies wherever possible and add value rather than invent all new </li></ul><ul><li>Enable code reuse across multiple organizations </li></ul><ul><li>Lead to portal technology - Jetspeed </li></ul>
    11. 11. Not “just” a portal <ul><li>Portals are a framework to deploy tools (aka rectangles) and focus on how the user wants to arrange their own “rectangles” </li></ul><ul><li>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” </li></ul><ul><li>CHEF has a lot of features, (services, presence, notification, etc..) which bridge the gap between portal and application framework </li></ul>
    12. 12. CHEF Implementation Architecture - More Detail Tomcat Servlet Container Jetspeed Portal Turbine Framework Tool Turbine Service Velocity CSS Turbine Service Turbine Service Servlet 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.
    13. 13. Example Architecture - Resources Tomcat Servlet Container Jetspeed Portal Turbine Resource Tool Security Service Velocity CSS Content Service User Dir. Service Access Servlet 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 HTTP Webdav Servlet WEBDAV
    14. 14. CHEF Architecture Flexibility: NMI PERL-GridPort Teamlets: Grid Service API CHEF Grid Service Component UserDirectory CHEF UserDirectory Service Component Grid UserDirectory Provider Service UserDirectory Provider NEES Teamlet OGSA Existing CHEF UM Code Existing GRID IU Portlets LDAP GridFTP Proxy Jetspeed User Jakarta IU Code Jetspeed Login COGs MyProxy Perl-CGI Apache UT Code Credentials
    15. 15. CHEF General Tools <ul><ul><li>Announcements </li></ul></ul><ul><ul><li>Chat </li></ul></ul><ul><ul><li>Threaded Discussion </li></ul></ul><ul><ul><li>Calendar </li></ul></ul><ul><ul><li>Schedule </li></ul></ul><ul><ul><li>E-Mail Archive </li></ul></ul><ul><ul><li>Resources (including WebDav) </li></ul></ul><ul><ul><li>Web-Frame </li></ul></ul><ul><ul><li>Worksite Setup </li></ul></ul><ul><ul><li>Profile </li></ul></ul><ul><ul><li>Notifications / Subscriptions </li></ul></ul><ul><ul><li>Public View </li></ul></ul><ul><ul><li>Anonymous Comment </li></ul></ul>
    16. 16. CHEF - More tools <ul><li>Course Management </li></ul><ul><ul><li>Assignments </li></ul></ul><ul><ul><li>Drop Box </li></ul></ul><ul><li>Worktools </li></ul><ul><ul><li>Data Viewers (Live/Stored) </li></ul></ul><ul><ul><li>Telepresense </li></ul></ul><ul><ul><li>Video as Data </li></ul></ul><ul><ul><li>Electronic Notebook </li></ul></ul><ul><li>Grid Technologies </li></ul><ul><ul><li>Grid sign on using myproxy </li></ul></ul><ul><ul><li>Grid computational portal </li></ul></ul><ul><ul><li>GridFTP </li></ul></ul><ul><ul><li>..Many more </li></ul></ul>
    17. 17. CHEF Applications <ul><li>CourseTools Next Generation </li></ul><ul><li>WorkTools Next Generation </li></ul><ul><li>NEESGrid </li></ul><ul><li>NSF National Middleware Grid Portal </li></ul>
    18. 18. CourseTools Next Generation Over 5000 users at the end of 2003 http://coursetools.ummu.umich.edu/
    19. 19. Worktools Next Generation New WorkTools Sites being created in WTNG as of 12/2003 Run on the same servers as CTNG.
    20. 20. NEESGrid - The Equipment Network for Earthquake Engineering Simulation NSF Funded. NCSA, ANL, USC/ISI, UM, USC, Berkeley, MSU
    21. 21. CHEF-Based NEESGrid Software
    22. 22. NMI / OGCE www.ogce.org NSF National Middleware Iniative Indiana, UTexas, ANL, UM, NCSA
    23. 23. CHEF Status <ul><li>CHEF is stable and released </li></ul><ul><ul><li>CHEF 1.2 from www.chefproject.org </li></ul></ul><ul><ul><li>Workshops twice per year </li></ul></ul><ul><ul><li>Technical support mailing list </li></ul></ul><ul><ul><li>Collaborative site chefproject.org/chef/ </li></ul></ul><ul><li>Other derived variants of CHEF </li></ul><ul><ul><li>NMI 1.0 Beta from www.ogce.org </li></ul></ul><ul><ul><li>NEESGrid 2.1 from www.neesgrid.org </li></ul></ul>
    24. 24. What is Next: SAKAI <ul><li>U Michigan, Indiana U, MIT, Stanford, uPortal </li></ul><ul><ul><li>All have built portals / course management systems </li></ul></ul><ul><ul><li>JSR-168 portlet standard requires us all to re-tool and look at new approach to portals </li></ul></ul><ul><li>Course Management System Standards </li></ul><ul><ul><li>Open Knowledge Iniative (OKI) needed full implementation </li></ul></ul><ul><ul><li>IMS standard such as Question and Testing Interoperability (QTI) </li></ul></ul><ul><ul><li>SCORM Course Content Standard </li></ul></ul><ul><li>Why not coordinate this work , do the work once, and share each others solutions? </li></ul><ul><li>Integrate across projects and adopt relevant standards </li></ul><ul><li>Collaboration at the next frontier - implementation </li></ul><ul><li>Tool Portability Profile (TPP) </li></ul><ul><ul><li>Truly portable tools and services </li></ul></ul><ul><ul><li>Tools built at different places look and feel the same and share data and services </li></ul></ul><ul><ul><li>This is difficult - Interoperability is harder than portability </li></ul></ul><ul><li>Mellon Foundation funding </li></ul>
    25. 25. Sakai Organization <ul><li>To some, the real innovation is the organization </li></ul><ul><li>To get these schools/institutions to adopt a central authority (Sakai Board) for resource allocation of internal as well as grant resources </li></ul><ul><li>Goes beyond resources from grant </li></ul><ul><li>Required for closely coupled open source development, the ‘seed’ software? </li></ul><ul><li>Part of the open source experimentation </li></ul>
    26. 26. Board Joseph Hardin, UM, Chair & Project Manager Brad Wheeler, IU, Vice Chair Jeff Merriman, MIT-OKI Amitava ’Babi’ Mitra, MIT- AMPS Carl Jacobson -JASIG Lois Brooks, Stanford Technical Coord. Committee Chair Chuck Severance Local Teams Tools Rob Lowden Architecture Glenn Golden Local Members Indiana Univ. U of Michigan MIT Stanford uPortal Indiana Univ. U of Michigan MIT Stanford uPortal
    27. 27. Open/Open Licensing <ul><li>“ ..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. </li></ul>Significant difference between a “product” and a “component” Unlimited redistribution is an important aspect of a license.
    28. 28. SAKAI Overview Jan 04 July 04 May 05 <ul><li>Michigan </li></ul><ul><li>CHEF Framework </li></ul><ul><li>CourseTools </li></ul><ul><li>WorkTools </li></ul><ul><li>Indiana </li></ul><ul><li>Navigo Assessment </li></ul><ul><li>Eden Workflow </li></ul><ul><li>Oncourse </li></ul><ul><li>MIT </li></ul><ul><li>Stellar </li></ul><ul><li>Stanford </li></ul><ul><li>CourseWork </li></ul><ul><li>Assessment </li></ul><ul><li>OKI </li></ul><ul><li>OSIDs </li></ul><ul><li>uPortal </li></ul><ul><li>SAKAI 1.0 Release </li></ul><ul><li>Tool Portability Profile </li></ul><ul><li>Framework </li></ul><ul><li>Services-based Portal </li></ul><ul><li>Refined OSIDs & implementations </li></ul><ul><li>SAKAI Tools </li></ul><ul><li>Complete CMS </li></ul><ul><li>Assessment </li></ul><ul><li>SAKAI 2.0 Release </li></ul><ul><li>Tool Portability Profile </li></ul><ul><li>Framework </li></ul><ul><li>Services-based Portal </li></ul><ul><li>SAKAI Tools </li></ul><ul><li>Complete CMS </li></ul><ul><li>Assessment </li></ul><ul><li>Workflow </li></ul><ul><li>Research Tools </li></ul><ul><li>Authoring Tools </li></ul>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 Activity : Ongoing implementation work at local institution… Dec 05 Activity : Maintenance & Transition from a project to a community &quot;Best of&quot; Refactoring
    29. 29. Portability Profile (as of today) <ul><li>Tools </li></ul><ul><ul><li>JSF or XUL GUI Layer </li></ul></ul><ul><ul><li>JSR 168 Portlet </li></ul></ul><ul><ul><li>JSR Servlet Standard </li></ul></ul><ul><li>Services </li></ul><ul><ul><li>Level 1-3 Inversion of Control </li></ul></ul><ul><ul><li>Avalon, Turbine, OKI, Spring, Pico </li></ul></ul><ul><li>J2EE / EJB / Jboss - Enterprise Services </li></ul><ul><ul><li>Stateless Session </li></ul></ul><ul><ul><li>Entity beans for clustering and scaling </li></ul></ul><ul><li>This is in progress </li></ul>
    30. 30. Sakai Architecture Portal Technology uPortal 3.0 Portal Configuration Implementations Channels, Teamlets JSR-168 Portlets CHEF Services JSR-168 Technology OKI Services Legacy Sakai Portlet Sakai Services Sakai GUI Portable code Sakai Service Layer Sakai GUI Layer Mega-portable code
    31. 31. Sakai Timeline Dec 15 SAKAI 1.0 Whitepaper Pre-alpha release of SAKAI’d CHEF Architect Discussions: getting it right across schools Oct ‘03 Oct ‘04 Jan ‘04 Apr ‘04 July ‘04 Architecture and Tool Development Tool Development July 1 SAKAI 1.0 available for testing by production facilities Feb 15 SAKAI 0.5 available for tool development July 1 Final tool delivery to participating schools Feb 1 Deliver full spec to programmers Feb 15 Developers’ Workshop: Coding SAKAI 1.0 using SAKAI 0.05 Nov 15 Requirements, Functional Design, UI, Full Spec Aug 1 Tools running in SAKAI 1.0 pilot/production environment at participating schools
    32. 32. CHEF Project Personnel Michelle Bejian Lotia Jim Eng Richard Ellis Glenn Golden David Haines Joseph Hardin John Johnston Louis King Dan Kiskis Peter Knoop John Leasia Hans Masing Brett Miller Daphne Ogle Diana Perpich Zhen Qian Hannah Reeves Marco Rocco Lars Schumann Charles Severance Gonzalo Silverio Joanne Yuanyuan Sui Stephanie Teasley Terry Weymouth David Whitehead Elizabeth Wilson
    33. 33. Summary Points <ul><li>In the long term, thinking about a learning management system as a product is too limiting </li></ul><ul><ul><li>Campus Portal </li></ul></ul><ul><ul><li>Learning Management </li></ul></ul><ul><ul><li>Collaborative activity in large and small groups </li></ul></ul><ul><li>There are three phases of Open Source Development - it is hard to skip them </li></ul><ul><ul><li>Adopt and tinker </li></ul></ul><ul><ul><li>Build your own, “sell it”, and recruit users and helpers (influenced by the late 1990’s in the US) </li></ul></ul><ul><ul><li>Become part of something larger - release control to group - truly collaborative development - Easier when you have “won” in the previous step and it was not as fun as you thought… </li></ul></ul><ul><li>We must get beyond the notion that we are building a self-contained “product” and really we are building parts of an overall solution that others will reuse in ways we cannot imagine </li></ul><ul><li>Open source development is not preparation for an IPO </li></ul><ul><li>Measure success when something that someone else develops extends *your* software. </li></ul><ul><li>In many ways Open Source Development is like Research - combination of a set of very deep skills where the value is in the aggregation of the skills rather than one individual. </li></ul>