SlideShare a Scribd company logo
1 of 92
Sakai Architecture Charles Severance Sakai Chief Architect June 8, 2005
A Bit of History ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More History ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Release 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Release 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Release Process 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Release 2.0 Packaging ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Still to come… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Framework I
Framework I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sakai 1.5 Internal Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sakai 1.0 Sakai Service Implementations Sakai Velocity Tools Sakai JSF Tools Sakai JSF Support Sakai Velocity Support Enterprise Data User Provider Role Provider
Sakai 1.5 Sakai Velocity Tools Sakai JSF Tools Sakai Service Implementations Sakai JSF Support Sakai Velocity Support Sakai Servlet Tools Sakai Servlet Filter Enterprise Data Role Provider User Provider Course Provider
Framework II
Sakai 2.0 Internal Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SAF Design Documents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],These documents on collab.sakaiproject.org “ Sakai Development”
Sakai 2.0 Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sakai 2.0 Factoring Sakai Velocity Tools Sakai JSF Tools Enterprise Data Sakai JSF Support Sakai Velocity Support Sakai Servlet Tools Sakai Kernel and RequestFilter Sakai Common Services Sakai Framework Services Sakai Application Services Role Provider User Provider Course Provider
SAF - Kernel ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SAF - Components ,[object Object],[object Object],[object Object],[object Object]
SAF-Components tomcat/components component-1 WEB-INF components.xml classes lib component-2 WEB-INF components.xml classes lib tomcat/webapps/app1 WEB-INF web.xml ContextListener tomcat/webapps/app2 ComponentManager or Spring common/lib spring sakaiComponentManage r Each component looks like a webapp, but with no web.xml.  Each has classes and its own “lib”.  Their class loader uses common and shared. While it is not preferred, come components live in webapps.  A ContextLoaderListener loads all of the components from a webapp. All globally registered components are available to Spring for injection (Interface names are the bean names) or via the Sakai ComponentManager API using Service Locator pattern.
SAF-Components Benefits ,[object Object],[object Object],[object Object],[object Object],[object Object]
SAF - Session ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SAF-Session Scenarios Browser A WebDav Client WS or  WSRP Client Tool X1 Tool Y1 Browser B Tool X2 Tool Y2 Renderer Servlet Tool X (Portlet) Tool Y (Servlet) Filter WebDav Servlet Axis Servlet Sakai APIs need logged in user, current session, etc. Filter Filter Cookie set via login or at SSO via WebISO Basic Auth (Cookie opt) WS Auth Session ID Re-dispatch Filter Filter
Sakai Tool Registry ,[object Object],[object Object],[object Object],[object Object],<registration> <tool id=&quot;sakai.presentation&quot; title=&quot;Presentation&quot; description=&quot;Presentation” > <category name=&quot;course&quot; /> <category name=&quot;project&quot; /> </tool> </registration>
Goal: Isolate non-Portable stuff to Kernel SAF - Kernel + Filter Session, Identity, Components, Thread Setup Sakai Velocity Tools Sakai JSF Tools Sakai JSF Support Sakai Velocity Support Sakai Servlet Tools Sakai Common Services Sakai Framework Services Sakai Application Services
Sakai 2.0 Elements
New Skin
Enterprise Integration ,[object Object],[object Object],[object Object],[object Object],[object Object]
Java Server Faces ,[object Object],[object Object],[object Object],[object Object]
Web Services ,[object Object],[object Object],Web Services Client Jakarta Axis Sakai APIs Sakai Kernel WS End Point
Sakai Web Services Endpoint import org.sakaiproject.api.kernel.session.Session; import org.sakaiproject.api.kernel.session.cover.SessionManager; public class SakaiSession { public String checkSession(String id) { System.out.println(&quot;session id=&quot;+id); Session s = SessionManager.getSession(id); if (s == null) { System.out.println(&quot;no session established&quot;); return &quot;Session Null&quot;; } else { String resp = &quot;session: &quot; + s.getId() + &quot; user id: &quot; + s.getUserId() + &quot; user enterprise id: &quot; + s.getUserEid() + &quot; inactive after: &quot; + s.getMaxInactiveInterval(); System.out.println(resp); return resp; } } }
Sakai Web Services Client require_once('SOAP/Client.php'); if ( ! $_POST['url'] ) $_POST['url'] =  &quot;http://nightly2.sakaiproject.org/sakai-axis/&quot;; if ( $_POST['login'] ) { $site_url = $_POST['url'] . 'SakaiLogin.jws?wsdl'; echo (&quot;Loggging in to Sakai Web Services at &quot;.$site_url); $wsdl=new SOAP_WSDL($site_url); // Create an object directly from the proxy code $myProxy=$wsdl->getProxy(); $session=$myProxy->login(&quot;admin&quot;,&quot;admin&quot;); echo (&quot;Session:&quot;); print_r ($session ); $_POST['session'] = $session; }
Web Services Image ~/dev/sakai2 csev$ find . -name '*.php' ./webservices/axis/test/basic/sakai_basic_test.php ~/dev/sakai2 csev$
Rendering Architecture Kernel Tool Registry Renderer Tool A Tool B Tool C Layout/Placement Information User’s Browser Request Filter
Tool Dispatch and Helpers Kernel Tool Registry Renderer Tool Helper User’s Browser Request Filter To make use of a helper, a tool finds the helper by tool ID and then re-dispatches requests  to the helper.
Mercury
Mercury Portal Kernel Tool Registry Mercury Tool A Tool B Tool C User’s Browser Request Filter
Charon Image
Charon Portal Kernel Tool Registry Charon Tool A Tool B Tool C Sakai Sites User’s Browser Request Filter
Many Portals.. Kernel Tool Registry Charon Tool A Tool B Tool C Browser Request Filter Mercury TILE? WSRP JSR-168 Browser uPortal Portal Browser Varuna Sedna Web Services
Courier ,[object Object],[object Object],[object Object],[object Object],[object Object]
I18N and L10N ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Developer Issues ,[object Object],[object Object],[object Object],[object Object],[object Object]
A Few Concerns Change Courier to be Accessible, Accessible Rendering, Integrate hierarchy throughout - both features and throughout the legacy services - change context from &quot;Site Id&quot; to &quot;Hierarchy Position&quot; throughout, Url Mapping and a site navigator which shows children recursively, Build Sakai Filing and Repository APIs, Performance test hibernate for clustered applications, Build OSID covers for Sakai APIs and document OBAs, WSRP Integration, IMS Tool Portability - develop spec, write reference implementation, IMS Content Import throughout as necessary, IMS Enterprise support?, Gradebook - Finish / Rewrite, Samigo - Finish - Integrate with Gradebook, Refactor CVS to make solid core module and more optional modules - build and make process to assemble these automatically to make a release, Build connections between legacy and Sakai APIs - understand and solve impedance mismatches, Course Management API throughout, Hierarchy Management tools and building, Build OKI OSID plug in capabilities, Sakai APIs need to support plugins, Review and Revise Framework Further, Make sure to use Servlet Filters throughout and eliminate tunneling, Wholistic review of site info and worksite setup in terms of flow and usability, Re-Evaluate the use of locks (especially Site edit ting, Worksite setup, and all the admin tools), Evaluate legacy APIs for possible promotion, Support Search Throughout, Internationalization, Rewriting old tools, Accessibility throughout, Design and implement Helper Mode in JSF Tools - &quot;cross-tool navigation”, Support for MS-SQL, Support for DC, and LOM and generic Metadata throughout with configurable Metadata editor and metadata editor helper, Take some time and get to the point where we truly bake in RDF, Design the low level resource model, Enhance the development, and debugging process.
A Few Concerns Change Courier to be Accessible , Accessible Rendering, Integrate hierarchy throughout - both features and throughout the legacy services -  change context from &quot;Site Id&quot; to &quot;Hierarchy Position&quot; throughout , Url Mapping and a site navigator which shows children recursively, Build Sakai Filing and Repository APIs, Performance test hibernate for clustered applications,  Build OSID covers for Sakai APIs and document OBAs, WSRP Integration ,  IMS Tool Portability - develop spec, write reference implementation , IMS Content Import throughout as necessary,  IMS Enterprise support?,   Gradebook - Finish / Rewrite, Samigo - Finish - Integrate with Gradebook, Refactor CVS to make solid core module and more optional modules - build and make process to assemble these automatically to make a release,   Build connections between legacy and Sakai APIs - understand and solve impedance mismatches , Course Management API throughout, Hierarchy Management tools and building, Build OKI OSID plug in capabilities, Sakai APIs need to support plugins,  Review and Revise Framework Further ,  Make sure to use Servlet Filters throughout and eliminate tunneling ,  Wholistic review of site info and worksite setup in terms of flow and usability ,  Re-Evaluate the use of locks (especially Site edit ting, Worksite setup, and all the admin tools),  Evaluate legacy APIs for possible promotion, Support Search Throughout,  Internationalization , Rewriting old tools, Accessibility throughout,  Design and implement Helper Mode in JSF Tools - &quot;cross-tool navigation”,  Support for MS-SQL,  Support for DC , and LOM and  generic Metadata throughout with configurable Metadata editor and metadata editor helper , Take some time and get to the point where we truly bake in RDF, Design the low level resource model,  Enhance the development, and debugging process.
Summary
Important DG/WG’s ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Technical Futures Rob Lowden / Chuck Severance June 10, 2005
Sakai Beyond 2.0 - Features None of this is a commitment - just the topics that will be on the minds of the development team after 2.0.
Timeline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Users and Groups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Discussion Tool ,[object Object],[object Object],[object Object],[object Object]
Melete Image Melete will be independently released as a “drop-in” for 2.0.
TwinPeaks ,[object Object],[object Object],[object Object],[object Object]
Search as part of WYSIWYG Editor
 
Import / Export ,[object Object],[object Object],[object Object],[object Object]
Sakai Beyond 2.0 - Framework None of this is a commitment - just the topics that will be on the minds of the development team after 2.0.
Hierarchy and Common APIs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Accessiblity ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IMS Tool Portability Group ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sakai, IMS, and Web Services Header Tool Area Button Button Button Button Button Button External  Web Application Launch  Control Session And Services Bootstrap Web Services Application Code 1 2 3 4 5 6 7 CLE Environment HTML/HTTP Web Services
Sakai 1.5 and OSPI 2.0 Sakai Resource Sakai Access Sakai WebDav Sakai Content API OSPI Resource OSPI Access OSPI WebDav OSPI Repo API OSPI Publish OSPI Tools
Goal State  Sakai/OSPI Superset Resource Superset Access Superset WebDav Superset Repo API OSPI Publish OSPI Tools Modified
WSRP Activities ,[object Object],[object Object],[object Object],[object Object]
WSRP “Portal” Kernel Tool Registry Sakai WSRP Tool A Tool B Tool C Sakai Sites Request Filter Apache WSRP4J WSRP Consumer Portal Web Services WSRP Placements
WSRP  Image
JSR-168 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Because Kernel transparently sets up session, user identity, and thread in ways are opaque to the Sakai Tools and Services, we can create a new version of the Kernel to operate in a uPortal/JSR-168 environment. uPortal’s JVM Sakai Velocity Tool Sakai JSF Tool uPortal Sakai Services, APIs,  Components JSR-168 Velocity to JSR-168 JSF to JSR-168 SAF - Kernel - uPortal Version uPortal User, Site, Role Plug-ins
Now You Are Just Talking Crazy! None of this is really on a schedule of any kind but we think about it when we get a free moment.
The Future.. ,[object Object],[object Object]
Cross Tool Search ,[object Object],[object Object],[object Object],[object Object],[object Object]
New API Implementations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sakai, IMS, and Web Services Header Tool Area Button Button Button Button Button Button External  Web Application Launch  Control Session And Services Bootstrap Web Services Application Code 1 2 3 4 5 6 7 CLE Environment HTML/HTTP Web Services
Moodle Tomcat Sakai Tool Moodle Tool Sakai Shim Apache IMS Launch Moodle Launch Header Tool Area Button Button Button Button Button Button HTML/HTTP Web Services This is a crazy idea with no way to figure out if this will work without giving it a try.  Probably the most challenging will be storing back to Sakai.
Sakai and Institutional Repositories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Inbound Object Flow Ingest Create and use in native form Prepare for  storage Data Model Store Curate, convert, update and maintain over time Index Lens Search View Reuse IR Sakai The IR establishes a data model for “site” objects.  The CLE hands sites to the IR.  The IR may have to do “model” or content cleanup before completing the ingest process. The lens or disseminator understands the data model and is capable of rendering the objects.  The lens is part of the IR.
Outbound Object Flow Data Model Index Lens Search View Reuse IR Sakai Sakai can find and re-use objects in the repository. Data Model Lens View Search Reuse
JSR-170 - Content Repository ,[object Object],[object Object],[object Object],[object Object],JSR-170 Repository Sakai Other Apps IR ….
June 2006 ,[object Object],[object Object],[object Object],[object Object]
June 2006 ,[object Object],[object Object],[object Object],[object Object],Data Portability - Format Agnostic RDF - Resource Definition Format
RDF Chicken or Egg? RDF Protocols and Formats Sources of  RDF Information Infrastructure JENA, etc.. Consumers of RDF Information * Infrastructure JENA, etc.. Sakai/RDF Dspace Fedora PiggyBank Haystack Annotea Data and Metadata Blogs Simile Simile RDFizers Longwell * A common approach in RDF is that consumers often consume, add value, and re-produce.
RDF Chicken or Egg? RDF Protocols and Formats Sources of  RDF Information Infrastructure JENA, etc.. Consumers of RDF Information * Infrastructure JENA, etc.. Sakai/RDF Dspace Fedora PiggyBank Haystack Annotea Data and Metadata Blogs Simile Simile RDFizers Longwell * A common approach in RDF is that consumers often consume, add value, and re-produce. getData()
RDF Producers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More Ideas… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
New Sakai Funding ,[object Object],[object Object],400 * 2.5 * $100K = $10M Turn to the person sitting next to you and say “thank you for the software.” There is a bit of an organizational problem yet to be solved…
Summary ,[object Object],[object Object],[object Object]
How to Contribute (now) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Moodle Tomcat Sakai Tool Moodle Tool Sakai Shim Apache IMS Launch Moodle Launch Header Tool Area Button Button Button Button Button Button HTML/HTTP Web Services This is a crazy idea with no way to figure out if this will work without giving it a try.  Probably the most challenging will be storing back to Sakai.
How to Communicate ,[object Object],[object Object],[object Object]
Q & A ,[object Object],Just do it!

More Related Content

What's hot

Oracle APEX 18.1 New Features
Oracle APEX 18.1 New FeaturesOracle APEX 18.1 New Features
Oracle APEX 18.1 New Featuresmsewtz
 
NYC School of Data - High School Selection Workshop
NYC School of Data - High School Selection WorkshopNYC School of Data - High School Selection Workshop
NYC School of Data - High School Selection Workshopmsewtz
 
Oracle APEX Social Login
Oracle APEX Social LoginOracle APEX Social Login
Oracle APEX Social Loginmsewtz
 
Sakai 2.9 Portal Road Map Plans
Sakai 2.9 Portal Road Map PlansSakai 2.9 Portal Road Map Plans
Sakai 2.9 Portal Road Map PlansCharles Severance
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applicationsurskeshav
 
Ebs 12.2 con9021_pdf_9021_0001
Ebs 12.2 con9021_pdf_9021_0001Ebs 12.2 con9021_pdf_9021_0001
Ebs 12.2 con9021_pdf_9021_0001jucaab
 
Andy Norris' Resume
Andy Norris' ResumeAndy Norris' Resume
Andy Norris' Resumeandynorris
 
APEX Boston Meetup - October 1st, 2019
APEX Boston Meetup - October 1st, 2019APEX Boston Meetup - October 1st, 2019
APEX Boston Meetup - October 1st, 2019msewtz
 
Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]jiali zhang
 
UNYOUG - APEX 19.2 New Features
UNYOUG - APEX 19.2 New FeaturesUNYOUG - APEX 19.2 New Features
UNYOUG - APEX 19.2 New Featuresmsewtz
 
abhi_apps_middleware_CV
abhi_apps_middleware_CVabhi_apps_middleware_CV
abhi_apps_middleware_CVAbhishek singh
 
Whats new in alfresco community 3.4
Whats new in alfresco community 3.4Whats new in alfresco community 3.4
Whats new in alfresco community 3.4Alfresco Software
 
A fresh approach_to_content_management
A fresh approach_to_content_managementA fresh approach_to_content_management
A fresh approach_to_content_managementECNU
 

What's hot (15)

Oracle APEX 18.1 New Features
Oracle APEX 18.1 New FeaturesOracle APEX 18.1 New Features
Oracle APEX 18.1 New Features
 
NYC School of Data - High School Selection Workshop
NYC School of Data - High School Selection WorkshopNYC School of Data - High School Selection Workshop
NYC School of Data - High School Selection Workshop
 
Oracle APEX Social Login
Oracle APEX Social LoginOracle APEX Social Login
Oracle APEX Social Login
 
Sakai 2.9 Portal Road Map Plans
Sakai 2.9 Portal Road Map PlansSakai 2.9 Portal Road Map Plans
Sakai 2.9 Portal Road Map Plans
 
9i OCP
9i OCP9i OCP
9i OCP
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
 
Ebs 12.2 con9021_pdf_9021_0001
Ebs 12.2 con9021_pdf_9021_0001Ebs 12.2 con9021_pdf_9021_0001
Ebs 12.2 con9021_pdf_9021_0001
 
Andy Norris' Resume
Andy Norris' ResumeAndy Norris' Resume
Andy Norris' Resume
 
APEX Boston Meetup - October 1st, 2019
APEX Boston Meetup - October 1st, 2019APEX Boston Meetup - October 1st, 2019
APEX Boston Meetup - October 1st, 2019
 
Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]
 
UNYOUG - APEX 19.2 New Features
UNYOUG - APEX 19.2 New FeaturesUNYOUG - APEX 19.2 New Features
UNYOUG - APEX 19.2 New Features
 
abhi_apps_middleware_CV
abhi_apps_middleware_CVabhi_apps_middleware_CV
abhi_apps_middleware_CV
 
Whats new in alfresco community 3.4
Whats new in alfresco community 3.4Whats new in alfresco community 3.4
Whats new in alfresco community 3.4
 
Les01
Les01Les01
Les01
 
A fresh approach_to_content_management
A fresh approach_to_content_managementA fresh approach_to_content_management
A fresh approach_to_content_management
 

Viewers also liked

Sakai App Structure
Sakai App StructureSakai App Structure
Sakai App Structurejiali zhang
 
New To Sakai
New To SakaiNew To Sakai
New To Sakaiknoopwww
 
Sakai 10 and Beyond - Next Steps for Sakai
Sakai 10 and Beyond - Next Steps for SakaiSakai 10 and Beyond - Next Steps for Sakai
Sakai 10 and Beyond - Next Steps for SakaiCharles Severance
 
Sakai newcomer 10 easy questions not so easy
Sakai newcomer   10 easy questions not so easySakai newcomer   10 easy questions not so easy
Sakai newcomer 10 easy questions not so easydaniel.merino
 
Future of Sakai @ UNC: 2013 and beyond
Future of Sakai @ UNC: 2013 and beyondFuture of Sakai @ UNC: 2013 and beyond
Future of Sakai @ UNC: 2013 and beyondKimberly Eke
 

Viewers also liked (7)

Sakai and uPortal 4
Sakai and uPortal 4Sakai and uPortal 4
Sakai and uPortal 4
 
Sakai App Structure
Sakai App StructureSakai App Structure
Sakai App Structure
 
New To Sakai
New To SakaiNew To Sakai
New To Sakai
 
Sakai 3, version 8
Sakai 3, version 8Sakai 3, version 8
Sakai 3, version 8
 
Sakai 10 and Beyond - Next Steps for Sakai
Sakai 10 and Beyond - Next Steps for SakaiSakai 10 and Beyond - Next Steps for Sakai
Sakai 10 and Beyond - Next Steps for Sakai
 
Sakai newcomer 10 easy questions not so easy
Sakai newcomer   10 easy questions not so easySakai newcomer   10 easy questions not so easy
Sakai newcomer 10 easy questions not so easy
 
Future of Sakai @ UNC: 2013 and beyond
Future of Sakai @ UNC: 2013 and beyondFuture of Sakai @ UNC: 2013 and beyond
Future of Sakai @ UNC: 2013 and beyond
 

Similar to Sakai 2.0 Architecture Update 2005-06-09

Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsGordon Dickens
 
Netbeans 6.1 Talk
Netbeans 6.1 TalkNetbeans 6.1 Talk
Netbeans 6.1 TalkAngad Singh
 
IBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's NewIBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's NewDvir Reznik
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Shameer Thaha Koya
 
Sakai Technical Chinese
Sakai Technical ChineseSakai Technical Chinese
Sakai Technical Chinesejiali zhang
 
Sakai Technical (Chinese)
Sakai Technical (Chinese)Sakai Technical (Chinese)
Sakai Technical (Chinese)jiali zhang
 
Lightning Web Components
Lightning Web ComponentsLightning Web Components
Lightning Web ComponentsAhmed Keshk
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoMohd Safian
 
Open Social Frameworks
Open Social FrameworksOpen Social Frameworks
Open Social Frameworksrsandhu1
 
Example Of Import Java
Example Of Import JavaExample Of Import Java
Example Of Import JavaMelody Rios
 
Jetspeed-2 Overview
Jetspeed-2 OverviewJetspeed-2 Overview
Jetspeed-2 Overviewbettlebrox
 
Apache Karaf in DX 7.2 - Developers Meetup - March 2017
Apache Karaf in DX 7.2 - Developers Meetup - March 2017Apache Karaf in DX 7.2 - Developers Meetup - March 2017
Apache Karaf in DX 7.2 - Developers Meetup - March 2017Jahia Solutions Group
 
Sakai 3 Boston V03
Sakai 3 Boston V03Sakai 3 Boston V03
Sakai 3 Boston V03guest1411821
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugToshiaki Maki
 

Similar to Sakai 2.0 Architecture Update 2005-06-09 (20)

Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
 
Netbeans 6.1 Talk
Netbeans 6.1 TalkNetbeans 6.1 Talk
Netbeans 6.1 Talk
 
Swing is not dead
Swing is not deadSwing is not dead
Swing is not dead
 
IBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's NewIBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's New
 
Jira Rev002
Jira Rev002Jira Rev002
Jira Rev002
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)
 
Sakai Technical Chinese
Sakai Technical ChineseSakai Technical Chinese
Sakai Technical Chinese
 
Sakai Technical (Chinese)
Sakai Technical (Chinese)Sakai Technical (Chinese)
Sakai Technical (Chinese)
 
Sakai Technical
Sakai TechnicalSakai Technical
Sakai Technical
 
Lightning Web Components
Lightning Web ComponentsLightning Web Components
Lightning Web Components
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs Railo
 
Open Social Frameworks
Open Social FrameworksOpen Social Frameworks
Open Social Frameworks
 
Spring Ldap
Spring LdapSpring Ldap
Spring Ldap
 
Example Of Import Java
Example Of Import JavaExample Of Import Java
Example Of Import Java
 
Jetspeed-2 Overview
Jetspeed-2 OverviewJetspeed-2 Overview
Jetspeed-2 Overview
 
Apache Karaf in DX 7.2 - Developers Meetup - March 2017
Apache Karaf in DX 7.2 - Developers Meetup - March 2017Apache Karaf in DX 7.2 - Developers Meetup - March 2017
Apache Karaf in DX 7.2 - Developers Meetup - March 2017
 
Sakai 3 Boston
Sakai 3 BostonSakai 3 Boston
Sakai 3 Boston
 
Sakai 3 Boston V03
Sakai 3 Boston V03Sakai 3 Boston V03
Sakai 3 Boston V03
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 

More from Charles Severance

LTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS IntegrationLTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS IntegrationCharles Severance
 
Sakai Hierarchy Framework Changes Overview (not implemented)
Sakai Hierarchy  Framework Changes Overview (not implemented)Sakai Hierarchy  Framework Changes Overview (not implemented)
Sakai Hierarchy Framework Changes Overview (not implemented)Charles Severance
 
Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)Charles Severance
 
Exploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning EcosystemExploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning EcosystemCharles Severance
 
Exploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with TsugiExploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with TsugiCharles Severance
 
Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)Charles Severance
 
Beyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at ScaleBeyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at ScaleCharles Severance
 
Building the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning EnvironmentBuilding the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning EnvironmentCharles Severance
 
CloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad ReuseCloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad ReuseCharles Severance
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and LearningCharles Severance
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and LearningCharles Severance
 
A View on the Future of Sakai
A View on the Future of SakaiA View on the Future of Sakai
A View on the Future of SakaiCharles Severance
 
The Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning ToolsThe Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning ToolsCharles Severance
 
Standards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning EcosystemStandards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning EcosystemCharles Severance
 
Updated Version: Tsugi Overview
Updated Version: Tsugi OverviewUpdated Version: Tsugi Overview
Updated Version: Tsugi OverviewCharles Severance
 
Standards Update: Apereo 2015
Standards Update: Apereo 2015Standards Update: Apereo 2015
Standards Update: Apereo 2015Charles Severance
 
Apereo 2015: The State of Sakai
Apereo 2015: The State of SakaiApereo 2015: The State of Sakai
Apereo 2015: The State of SakaiCharles Severance
 
The Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational TechnologyThe Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational TechnologyCharles Severance
 

More from Charles Severance (20)

LTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS IntegrationLTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS Integration
 
Hierarchy requirements
Hierarchy requirements Hierarchy requirements
Hierarchy requirements
 
Sakai Hierarchy Framework Changes Overview (not implemented)
Sakai Hierarchy  Framework Changes Overview (not implemented)Sakai Hierarchy  Framework Changes Overview (not implemented)
Sakai Hierarchy Framework Changes Overview (not implemented)
 
Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)Building the NGDLE with Tsugi (次) and Koseu(코스)
Building the NGDLE with Tsugi (次) and Koseu(코스)
 
Exploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning EcosystemExploring the Next Generation Digital Learning Ecosystem
Exploring the Next Generation Digital Learning Ecosystem
 
Exploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with TsugiExploring the Next Generation Digital Learning Environment with Tsugi
Exploring the Next Generation Digital Learning Environment with Tsugi
 
Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)Building the Next Generation Teaching and Learning Environment with Tsugi (次)
Building the Next Generation Teaching and Learning Environment with Tsugi (次)
 
Beyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at ScaleBeyond MOOCs: Open Education at Scale
Beyond MOOCs: Open Education at Scale
 
Building the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning EnvironmentBuilding the Next Generation Teaching and Learning Environment
Building the Next Generation Teaching and Learning Environment
 
CloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad ReuseCloudSocial: A New Approach to Enabling Open Content for Broad Reuse
CloudSocial: A New Approach to Enabling Open Content for Broad Reuse
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and Learning
 
Next Generation Teaching and Learning
Next Generation Teaching and LearningNext Generation Teaching and Learning
Next Generation Teaching and Learning
 
The Game of MOOCs
The Game of MOOCsThe Game of MOOCs
The Game of MOOCs
 
A View on the Future of Sakai
A View on the Future of SakaiA View on the Future of Sakai
A View on the Future of Sakai
 
The Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning ToolsThe Next Generation of Teaching and Learning Tools
The Next Generation of Teaching and Learning Tools
 
Standards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning EcosystemStandards to Enable an Open Learning Ecosystem
Standards to Enable an Open Learning Ecosystem
 
Updated Version: Tsugi Overview
Updated Version: Tsugi OverviewUpdated Version: Tsugi Overview
Updated Version: Tsugi Overview
 
Standards Update: Apereo 2015
Standards Update: Apereo 2015Standards Update: Apereo 2015
Standards Update: Apereo 2015
 
Apereo 2015: The State of Sakai
Apereo 2015: The State of SakaiApereo 2015: The State of Sakai
Apereo 2015: The State of Sakai
 
The Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational TechnologyThe Trials and Tribulations of Predicting the Future of Educational Technology
The Trials and Tribulations of Predicting the Future of Educational Technology
 

Sakai 2.0 Architecture Update 2005-06-09

  • 1. Sakai Architecture Charles Severance Sakai Chief Architect June 8, 2005
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 10.
  • 11.
  • 12. Sakai 1.0 Sakai Service Implementations Sakai Velocity Tools Sakai JSF Tools Sakai JSF Support Sakai Velocity Support Enterprise Data User Provider Role Provider
  • 13. Sakai 1.5 Sakai Velocity Tools Sakai JSF Tools Sakai Service Implementations Sakai JSF Support Sakai Velocity Support Sakai Servlet Tools Sakai Servlet Filter Enterprise Data Role Provider User Provider Course Provider
  • 15.
  • 16.
  • 17.
  • 18. Sakai 2.0 Factoring Sakai Velocity Tools Sakai JSF Tools Enterprise Data Sakai JSF Support Sakai Velocity Support Sakai Servlet Tools Sakai Kernel and RequestFilter Sakai Common Services Sakai Framework Services Sakai Application Services Role Provider User Provider Course Provider
  • 19.
  • 20.
  • 21. SAF-Components tomcat/components component-1 WEB-INF components.xml classes lib component-2 WEB-INF components.xml classes lib tomcat/webapps/app1 WEB-INF web.xml ContextListener tomcat/webapps/app2 ComponentManager or Spring common/lib spring sakaiComponentManage r Each component looks like a webapp, but with no web.xml. Each has classes and its own “lib”. Their class loader uses common and shared. While it is not preferred, come components live in webapps. A ContextLoaderListener loads all of the components from a webapp. All globally registered components are available to Spring for injection (Interface names are the bean names) or via the Sakai ComponentManager API using Service Locator pattern.
  • 22.
  • 23.
  • 24. SAF-Session Scenarios Browser A WebDav Client WS or WSRP Client Tool X1 Tool Y1 Browser B Tool X2 Tool Y2 Renderer Servlet Tool X (Portlet) Tool Y (Servlet) Filter WebDav Servlet Axis Servlet Sakai APIs need logged in user, current session, etc. Filter Filter Cookie set via login or at SSO via WebISO Basic Auth (Cookie opt) WS Auth Session ID Re-dispatch Filter Filter
  • 25.
  • 26. Goal: Isolate non-Portable stuff to Kernel SAF - Kernel + Filter Session, Identity, Components, Thread Setup Sakai Velocity Tools Sakai JSF Tools Sakai JSF Support Sakai Velocity Support Sakai Servlet Tools Sakai Common Services Sakai Framework Services Sakai Application Services
  • 29.
  • 30.
  • 31.
  • 32. Sakai Web Services Endpoint import org.sakaiproject.api.kernel.session.Session; import org.sakaiproject.api.kernel.session.cover.SessionManager; public class SakaiSession { public String checkSession(String id) { System.out.println(&quot;session id=&quot;+id); Session s = SessionManager.getSession(id); if (s == null) { System.out.println(&quot;no session established&quot;); return &quot;Session Null&quot;; } else { String resp = &quot;session: &quot; + s.getId() + &quot; user id: &quot; + s.getUserId() + &quot; user enterprise id: &quot; + s.getUserEid() + &quot; inactive after: &quot; + s.getMaxInactiveInterval(); System.out.println(resp); return resp; } } }
  • 33. Sakai Web Services Client require_once('SOAP/Client.php'); if ( ! $_POST['url'] ) $_POST['url'] = &quot;http://nightly2.sakaiproject.org/sakai-axis/&quot;; if ( $_POST['login'] ) { $site_url = $_POST['url'] . 'SakaiLogin.jws?wsdl'; echo (&quot;Loggging in to Sakai Web Services at &quot;.$site_url); $wsdl=new SOAP_WSDL($site_url); // Create an object directly from the proxy code $myProxy=$wsdl->getProxy(); $session=$myProxy->login(&quot;admin&quot;,&quot;admin&quot;); echo (&quot;Session:&quot;); print_r ($session ); $_POST['session'] = $session; }
  • 34. Web Services Image ~/dev/sakai2 csev$ find . -name '*.php' ./webservices/axis/test/basic/sakai_basic_test.php ~/dev/sakai2 csev$
  • 35. Rendering Architecture Kernel Tool Registry Renderer Tool A Tool B Tool C Layout/Placement Information User’s Browser Request Filter
  • 36. Tool Dispatch and Helpers Kernel Tool Registry Renderer Tool Helper User’s Browser Request Filter To make use of a helper, a tool finds the helper by tool ID and then re-dispatches requests to the helper.
  • 38. Mercury Portal Kernel Tool Registry Mercury Tool A Tool B Tool C User’s Browser Request Filter
  • 40. Charon Portal Kernel Tool Registry Charon Tool A Tool B Tool C Sakai Sites User’s Browser Request Filter
  • 41. Many Portals.. Kernel Tool Registry Charon Tool A Tool B Tool C Browser Request Filter Mercury TILE? WSRP JSR-168 Browser uPortal Portal Browser Varuna Sedna Web Services
  • 42.
  • 43.
  • 44.
  • 45. A Few Concerns Change Courier to be Accessible, Accessible Rendering, Integrate hierarchy throughout - both features and throughout the legacy services - change context from &quot;Site Id&quot; to &quot;Hierarchy Position&quot; throughout, Url Mapping and a site navigator which shows children recursively, Build Sakai Filing and Repository APIs, Performance test hibernate for clustered applications, Build OSID covers for Sakai APIs and document OBAs, WSRP Integration, IMS Tool Portability - develop spec, write reference implementation, IMS Content Import throughout as necessary, IMS Enterprise support?, Gradebook - Finish / Rewrite, Samigo - Finish - Integrate with Gradebook, Refactor CVS to make solid core module and more optional modules - build and make process to assemble these automatically to make a release, Build connections between legacy and Sakai APIs - understand and solve impedance mismatches, Course Management API throughout, Hierarchy Management tools and building, Build OKI OSID plug in capabilities, Sakai APIs need to support plugins, Review and Revise Framework Further, Make sure to use Servlet Filters throughout and eliminate tunneling, Wholistic review of site info and worksite setup in terms of flow and usability, Re-Evaluate the use of locks (especially Site edit ting, Worksite setup, and all the admin tools), Evaluate legacy APIs for possible promotion, Support Search Throughout, Internationalization, Rewriting old tools, Accessibility throughout, Design and implement Helper Mode in JSF Tools - &quot;cross-tool navigation”, Support for MS-SQL, Support for DC, and LOM and generic Metadata throughout with configurable Metadata editor and metadata editor helper, Take some time and get to the point where we truly bake in RDF, Design the low level resource model, Enhance the development, and debugging process.
  • 46. A Few Concerns Change Courier to be Accessible , Accessible Rendering, Integrate hierarchy throughout - both features and throughout the legacy services - change context from &quot;Site Id&quot; to &quot;Hierarchy Position&quot; throughout , Url Mapping and a site navigator which shows children recursively, Build Sakai Filing and Repository APIs, Performance test hibernate for clustered applications, Build OSID covers for Sakai APIs and document OBAs, WSRP Integration , IMS Tool Portability - develop spec, write reference implementation , IMS Content Import throughout as necessary, IMS Enterprise support?, Gradebook - Finish / Rewrite, Samigo - Finish - Integrate with Gradebook, Refactor CVS to make solid core module and more optional modules - build and make process to assemble these automatically to make a release, Build connections between legacy and Sakai APIs - understand and solve impedance mismatches , Course Management API throughout, Hierarchy Management tools and building, Build OKI OSID plug in capabilities, Sakai APIs need to support plugins, Review and Revise Framework Further , Make sure to use Servlet Filters throughout and eliminate tunneling , Wholistic review of site info and worksite setup in terms of flow and usability , Re-Evaluate the use of locks (especially Site edit ting, Worksite setup, and all the admin tools), Evaluate legacy APIs for possible promotion, Support Search Throughout, Internationalization , Rewriting old tools, Accessibility throughout, Design and implement Helper Mode in JSF Tools - &quot;cross-tool navigation”, Support for MS-SQL, Support for DC , and LOM and generic Metadata throughout with configurable Metadata editor and metadata editor helper , Take some time and get to the point where we truly bake in RDF, Design the low level resource model, Enhance the development, and debugging process.
  • 48.
  • 49. Technical Futures Rob Lowden / Chuck Severance June 10, 2005
  • 50. Sakai Beyond 2.0 - Features None of this is a commitment - just the topics that will be on the minds of the development team after 2.0.
  • 51.
  • 52.
  • 53.
  • 54. Melete Image Melete will be independently released as a “drop-in” for 2.0.
  • 55.
  • 56. Search as part of WYSIWYG Editor
  • 57.  
  • 58.
  • 59. Sakai Beyond 2.0 - Framework None of this is a commitment - just the topics that will be on the minds of the development team after 2.0.
  • 60.
  • 61.
  • 62.
  • 63. Sakai, IMS, and Web Services Header Tool Area Button Button Button Button Button Button External Web Application Launch Control Session And Services Bootstrap Web Services Application Code 1 2 3 4 5 6 7 CLE Environment HTML/HTTP Web Services
  • 64. Sakai 1.5 and OSPI 2.0 Sakai Resource Sakai Access Sakai WebDav Sakai Content API OSPI Resource OSPI Access OSPI WebDav OSPI Repo API OSPI Publish OSPI Tools
  • 65. Goal State Sakai/OSPI Superset Resource Superset Access Superset WebDav Superset Repo API OSPI Publish OSPI Tools Modified
  • 66.
  • 67. WSRP “Portal” Kernel Tool Registry Sakai WSRP Tool A Tool B Tool C Sakai Sites Request Filter Apache WSRP4J WSRP Consumer Portal Web Services WSRP Placements
  • 69.
  • 70. Because Kernel transparently sets up session, user identity, and thread in ways are opaque to the Sakai Tools and Services, we can create a new version of the Kernel to operate in a uPortal/JSR-168 environment. uPortal’s JVM Sakai Velocity Tool Sakai JSF Tool uPortal Sakai Services, APIs, Components JSR-168 Velocity to JSR-168 JSF to JSR-168 SAF - Kernel - uPortal Version uPortal User, Site, Role Plug-ins
  • 71. Now You Are Just Talking Crazy! None of this is really on a schedule of any kind but we think about it when we get a free moment.
  • 72.
  • 73.
  • 74.
  • 75. Sakai, IMS, and Web Services Header Tool Area Button Button Button Button Button Button External Web Application Launch Control Session And Services Bootstrap Web Services Application Code 1 2 3 4 5 6 7 CLE Environment HTML/HTTP Web Services
  • 76. Moodle Tomcat Sakai Tool Moodle Tool Sakai Shim Apache IMS Launch Moodle Launch Header Tool Area Button Button Button Button Button Button HTML/HTTP Web Services This is a crazy idea with no way to figure out if this will work without giving it a try. Probably the most challenging will be storing back to Sakai.
  • 77.
  • 78. Inbound Object Flow Ingest Create and use in native form Prepare for storage Data Model Store Curate, convert, update and maintain over time Index Lens Search View Reuse IR Sakai The IR establishes a data model for “site” objects. The CLE hands sites to the IR. The IR may have to do “model” or content cleanup before completing the ingest process. The lens or disseminator understands the data model and is capable of rendering the objects. The lens is part of the IR.
  • 79. Outbound Object Flow Data Model Index Lens Search View Reuse IR Sakai Sakai can find and re-use objects in the repository. Data Model Lens View Search Reuse
  • 80.
  • 81.
  • 82.
  • 83. RDF Chicken or Egg? RDF Protocols and Formats Sources of RDF Information Infrastructure JENA, etc.. Consumers of RDF Information * Infrastructure JENA, etc.. Sakai/RDF Dspace Fedora PiggyBank Haystack Annotea Data and Metadata Blogs Simile Simile RDFizers Longwell * A common approach in RDF is that consumers often consume, add value, and re-produce.
  • 84. RDF Chicken or Egg? RDF Protocols and Formats Sources of RDF Information Infrastructure JENA, etc.. Consumers of RDF Information * Infrastructure JENA, etc.. Sakai/RDF Dspace Fedora PiggyBank Haystack Annotea Data and Metadata Blogs Simile Simile RDFizers Longwell * A common approach in RDF is that consumers often consume, add value, and re-produce. getData()
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90. Moodle Tomcat Sakai Tool Moodle Tool Sakai Shim Apache IMS Launch Moodle Launch Header Tool Area Button Button Button Button Button Button HTML/HTTP Web Services This is a crazy idea with no way to figure out if this will work without giving it a try. Probably the most challenging will be storing back to Sakai.
  • 91.
  • 92.

Editor's Notes

  1. Talk about the pumpkin - who is the pumpkin.
  2. Michigan, Indiana, Stanford, Berkeley, and rSmart. Series of Alpha followed by RC releases. Currently in code freeze on all of Sakai 2.0. RC2 is cut and available.
  3. Very different from Sakai 1.5 - possible because of much cleaner configuration Only pre requisite for Demo is Java. Intent is for all distributions to be self-contained. Unpack and look at the README :)
  4. Blue is framework, green is application space
  5. Green is application domain - blue is framework
  6. Green is application domain and blue is framework domain.
  7. Does not go above servlet level means that this all works for code which “extends httpServlet” and even code which does low level stuff like response.write - this allows many things to be integrated into Sakai including basic servlets with API adapters (like Xwiki). A properly scoped wrapped httpSession object is provided for those servlet activities that make use of httpSession (such as JSF).
  8. Load order problems - bummed because it was so fundamental. Whoever figured out the context.xml trick - much appreciated.
  9. The primary value is the separated class loaders. This way components with very large jar footprints like JENA, Globus, can be used without polluting shared. This allows multiple versions of things like xerxces to exist within the same JVM transparently.
  10. We have worked with Spring and had some initial discussions.
  11. For each incoming request scenario, the filter sets appropriate Sakai Session, produces wrapped httpSession, and in the case of a tool, gets placement scoped session. In some situations, WebDav and WebServices, the filter may not be able to completely set up session so the WebDav or Axis servlet must participate in session establishment. WebDav may or may not support cookies. Web Services will not support cookies.
  12. No more central deploy or registration code to “add yourself to” - it all self-organizes at run-time.
  13. This is from the view of the kernel. The kernel is intended to provide enough services “a warm fuzzy environment” so that all of these elements can be relatively portable across servlet and portlet containers.
  14. Sakai 2.0 has a new skin - Thanks to Gonzalo Silverio, Vivian Sinou and Teri Cartright.
  15. JLDAP - David Ross of Albany Medical College and Rishi Pande, Virginia Tech Kerberos - Seth Theriault Columbia University - Kerberos OpenLDAP - Adrian Fish, Lancaster University Centre for e-Science, Jose Garcia, Universitat de Lleida, Alex Balleste, Universitat de Lleida
  16. Thanks to Jon Andersen, Ed Smiley, and Ray Davis.
  17. This was very simple because of the Sakai 2.0 kernel
  18. In PHP no less…
  19. No more tunnel No more ROOT webapp Causes the URL naming pattern to change
  20. Has no layout nor placement - excellent for quick testing of tools. All tools live in one context “mercury”.
  21. End user built in portal - Sakai site aware. Produces new iFrame naming convention. Se documents up on sakai-dev on collab.sakaiproject.org. Charon is pure servlet (no Velocity)
  22. Sakai is designed to support many “portals” a portal is simply a consumer of tool markup. Abstracting making tool registration abstract allows this. We may develop a portal to support accessibility which does not use any iframes and supports significant GUI re-factoring based on profiles. WSRP is well developed and should be present in 2.1. The “168 shim” consumer is on the drawing boards. WSRP wil support any portal while JSR-168 will be initially developed for uPortal.
  23. Discussion at Foothill is more important than the next release of their own.
  24. Melete is a module system - similar to a lite version of SCORM. It is an authoring and player environment and fully integrated into Sakai. The development of Melete could well be a model for the future development of significant tools. Melete was *not* done by the core. It was done by Foothill and Vivian Sinou (who is a board member but not core). The entire project team was at Foothill - funded by Hewlitt. The core team (Chuck and lance visited Foothill for advice and design but Foothill did *all* the work. Other members of the core team provided technical assistance such as Jon Andersen on JSF. For now Melete is not in the bundle but will be a trivial drop-in for Sakai 2.0. Unzip one file and re-deploy.
  25. Describe what IMS is.
  26. In Sakai 1.5 and OSPI 2.0 - there are completely separate stovepipes.
  27. To fully align OSPI we will need to refactor all the areas where there is overlap to produce Superset versions.
  28. WSRP Portal was produced by Vishal Goenka of SunGard SCT over the past six months. It uses the kernel’s tool registry and tool dispatch just like every other portal. The Sakai WSRP portal satisfies the Apache WSRP4J producer API.
  29. For a Sakai site or tool placement to appear - use WSRP. To use Sakai tool in a uPortal - do JSR-168. With JSR-168 uPortal is completely controlling placement.