310 likes | 496 Views
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. CHEF 1. CHEF 2.
E N D
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
CHEF 1 CHEF 2 Worktools (Notes Based) WTNG CTNG Coursetools (Notes Based) 1991 - 1997 2000 1998 2004 2002 2005 2001 1999 2003 Collaboration @ UM Sakai NMI Grid Portal NEESGrid Science of Collaboratories SPARC
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-to- information groups-to- facilities Distributed, media-rich information technology Digital libraries & documents Remote instruments http://www.scienceofcollaboratories.org/ NSF Funded ITR
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
CHEF Implementation Architecture - More Detail Tomcat Servlet Container Jetspeed Portal Velocity CSS Tool Servlet Turbine Framework Turbine Service 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.
Example Architecture - Resources Tomcat Servlet Container HTTP WEBDAV Jetspeed Portal Velocity CSS Resource Tool Access Servlet Webdav Servlet Turbine Security Service Content Service User Dir. 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
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 Tool Portal Engine Database Service Implementation 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 Grid Service API Tools Jetspeed Tomcat / Apache CHEF Grid Service Component COGs MyProxy UserDirectory Provider UserDirectory Grid UserDirectory Provider Service CHEF UserDirectory Service Component Jetspeed Login Existing CHEF New Code User IU Portlets LDAP GridFTP Proxy IU Code Existing GRID
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
NMI / OGCE www.ogce.org NSF National Middleware Iniative Indiana, UTexas, ANL, UM, NCSA
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 CHEF Status
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 May 05 Dec 05 Jan 04 Activity: Maintenance & Transition from aproject to a community • Michigan • CHEF Framework • CourseTools • WorkTools • Indiana • Navigo Assessment • Eden Workflow • Oncourse • MIT • Stellar • Stanford • CourseWork • Assessment • OKI • OSIDs • uPortal • 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 "Best of" Refactoring Activity: Ongoing implementation work at local institution… 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
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 Portability Profile (as of today)
Sakai Architecture Portal Configuration Implementations Portal Technology uPortal 3.0 JSR-168 Technology Legacy Sakai GUI Portable code Channels, Teamlets JSR-168 Portlets Sakai Teamlet Sakai Service Layer Sakai GUI Layer Mega-portable code CHEF Services OKI Services Other Services
Sakai Timeline Architecture and Tool Development Dec 15 SAKAI 1.0 Whitepaper Pre-alpha release of SAKAI’d CHEF Architect Discussions: getting it right across schools July 1 SAKAI 1.0 available for testing by production facilities Feb 15 SAKAI 0.5 available for tool development Oct ‘03 Jan ‘04 Apr ‘04 July ‘04 Oct ‘04 Aug 1 Tools running in SAKAI 1.0 pilot/production environment at participating schools Feb 15 Developers’ Workshop: Coding SAKAI 1.0 using SAKAI 0.05 Nov 15 Requirements, Functional Design, UI, Full Spec Feb 1 Deliver full spec to programmers July 1 Final tool delivery to participating schools Tool Development