SlideShare a Scribd company logo
1 of 50
Download to read offline
Sakai

   ,
   -    ,   1-2   , 2008




                  Sakai            构


                         Xingtang Hu(Hu2@iupui.edu)
                      Lance Speelmon(lance@indiana.edu)
                    Michael Korcuska(mkorcuska@gmail.com)

                                        / SAKAI

                               1   21   , 2008
,
            ,
2006                /
2006
2002
2001

Lance Speelmon,
Oncourse      Sakai     构   ,

Michael Korcuska,
Sakai          运
• Sakai
• Sakai   构
  – Tomcat                   (classloader)
  – Spring                      (components
    manager)
• Sakai 开
  –            (Tools and services)
  –            (WebApp structure)
• Sakai
Sakai
•
•    ,   ,
•
•
•            Java
•
Sakai
•              AuthzGroupService
•          SiteService
•            ToolManager
•          SessionManager
•          ContentHostingService
•
    CourseManagementService
Sakai
•
    –                       UserDirectoryProvider – map your local user information
        (eg in LDAP, IMS Enterprise, Kerberos) into Sakai
    –                    GroupProvider
    –                CourseManagementProvider
    –                PortalHandler (new in Sakai 2.4) – register new top-level
        handlers in the Sakai portal URL space
    –                EntityProducer – export primary entities handled by your service as
        1st-class Sakai “Entities” (resolvable by URLs, addressible by Events, searchable)

•                         Sakai
Sakai
• Sakai           J2EE (Servlet)
  (container)
  – Tomcat, WebSphere, WebLogic
• Sakai     (tool)                      ,
             Servlet
• Sakai     (component)     Sakai API   ,
           Spring Beans
,
•       Tools(web)
    –                          (persistence)
    –                              presentation (GUI)
•       Services / Components(API/Impl)
    –                       Must provide documented API
    –                   presentation (not aware of HTML at all)
    –                                     ,           (not data models)
•       Framework(Tomcat)
    –                       tools and service
    –                common capabilities
    –                   domain objects
Sakai
•                  构
                                            Presentation Services (SAF)

     TOOLS
•
•              离                                 Abstract Tool Layout
•

    SERVICES                                    Tool Code (Java)
•
•
•
                               (APIs)
    FRAMEWORK
•                                                          Application Services
•
•
                                        Common Services
                                         (SAF)



                                                   Kernel (SAF)
Sakai                                 构
                                           Shared



         Model                   Logic-api                Public-api
                                 (business logic)            (service)




                                                        Components
        Dao-api
       (data access)
                                                    Logic-impl
                                                    (business logic)

                  Webapps

                                                        Dao-impl
                         Tool                           (data access)
                (presentation)




URL: http://issues.sakaiproject.org/confluence/x/BGo
构
构 3-tier architecture      External


 Presentation              User




Business Logic          Other Apps




 Data Access            Database
Presentation Layer
3-tier architecture    •
                       •            (GUI)
  Presentation
                           (client view)
                       •
 Business Logic            business logic
                                         data
                           access
  Data Access
Logic Layer
3-tier architecture   •                

  Presentation        •
                      •
                          (presentation)
 Business Logic                       (data
                          access)

  Data Access
Data Access Layer
3-tier architecture     •

  Presentation          •

                        •
 Business Logic             (presentation )

                            (business logic)
  Data Access
关
3-tier architecture   •       ,
                          减
  Presentation        •


 Business Logic




  Data Access
Sakai
    Component Manager
•   Spring      bean
        Sakai    ,

•
•      Sakai
Sakai
Component Manager
Tomcat                        (Container)
         Tomcat – The Server
                    Services
                                  Engine (Catalina)
                                        Hosts               Realm

AJP Connector       Valves
                                                Context
  8009
SSL Connector                  Valves      JSPs      Servlets
  8443

HTTP Connector                              Valves
  8080
Tomcat (J2EE)




•                  Java ClassLoaders
•   Servlet   (container)
•   Web            (ClassLoaders)
    ,
Sakai                               (ClassLoaders)

                                             APIs up here
                                                                Components in here




    Tools in here                                        Component1 Component2

•       Sakai        J2EE            ClassLoader layout
•       Sakai                          (webapps)     Servlets
    –               URLClassLoader
    –
•
    –                        components.xml (Spring file),         web      web.xml
    –                            , Servlet       (dispatches)
Sakai                (Tools)
•   Sakai        (Tools)                 Servlet
    –                               RSF, JSF Velocity
    –             web       (web.xml)        file (tools/
        toolname.xml)
         •         App Builder    (Plugin)
    –                          (applicationContext.xml)
                 Spring       (context)       ,    Sakai
        (services)      Spring
    –                      Spring       (JARs )             份,
                           (Web application)
Spring         (beans)

• Spring                            (
        (Dependency Injection)/
    IoC     )
•       Java
      (getters )   (setters)
•                                 Spring
                       ( init()    )
Springy


•                web.xml
             (ContextLoaderListener)
•                    (bean definitions)
•                             Sakai
    (services)
Sakai                    开
• Sakai        (component)
  –                       (API module)
      •            Java        (interface definitions)
          (constants)
      •        JAR                  (shared area)
  –                       (Impl module)
      •            (API interfaces )
      •     Spring               (components.xml )
                     Spring         (context)

      •       WAR                    (components area)
Sakai              (Services)
• Sakai     (services)            Spring
  (context)            Spring beans
• 每 Sakai        (component)      Spring
  components.xml
•              Sakai 启                  ,
             .
Spring                   Sakai                 (Services)
•   Sakai          (APIs) Java        (interfaces)
•   每 Sakai            (APIs)
•   Sakai Spring                   (components.xml)        Spring bean

•       : Spring                  Sakai
    (UserDirectoryService)

    <bean id="org.sakaiproject.user.api.UserDirectoryService“
               class="org.sakaiproject.user.impl.DbUserService"
               init-method=“init”
       destroy-method="destroy"           singleton="true">
        ......
               <property name="autoDdl“ value=“${auto.ddl}”/>
               <property name="cacheMinutes“ value=“5”/>
    </bean>
ComponentManager
    mgr.get(“org.sakaiproject.site.api.SiteService”);




•      Spring
     (ApplicationContext)

•            id      Class
Sakai                                     构
• 4
   –                    Api (interfaces)
       •            Logic - business logic and dao apis
       •            Model - POJOs (value/data objects)
       •            Public - Service API (if you have one)
       •                   Hbm - Hibernate HBM files
   –                          Impl (implementations)
       •            Dao - data access implementation
       •            Logic - business logic implementation
       •        Tests - programmatic tests (unit/integration)
   –                       Pack (component definitions)
       • Spring             (Sakai components.xml)
   –               Tool (webapp)
       • Java         src/java - java classes used by your tool only
       •              关      src/webapp - xml, jsp, html, other meta files
 URL: http://issues.sakaiproject.org/confluence/x/BGo
构




URL: http://issues.sakaiproject.org/confluence/x/BGo
Sakai                                     构
•             org.sakaiproject - base package prefix
     – You could also use your local prefix (e.g. uk.ac.cam.caret)

•             org.sakaiproject.app-name
          • Use something unique for app-name, long is good
     –             dao - data access
     –               hbm – hibernate mapping files
     –             Logic – business logic
     –             Model – value/data objects
     –        Service – public api
     –        Tool – webapp
•                    Add impl to represent implementations



    URL: http://issues.sakaiproject.org/confluence/x/BGo
构




URL: http://issues.sakaiproject.org/confluence/x/BGo
Sakai Java

      :
•                        ( event service)
•         ActiveMQ   构
2




                                           1




m_eventTrackingService = (EventTrackingService)    3
ComponentManager.get("org.sakaiproject.event.api.EventTracking
Service");
Sakai




Sakai
Sakai              Java   (Applications)




           Sakai
                   关




           Sakai                  启


 Sakai 启
http://java.sun.com/products/jsp/


JSF    http://java.sun.com/javaee/javaserverfaces/


       http://www2.caret.cam.ac.uk/rsfwiki/


       http://java.sun.com/products/servlet/


       http://jakarta.apache.org/velocity/


AJAX   http://en.wikipedia.org/wiki/AJAX
Java Server Pages
•    开
•      启    ,
•   Sakai           运
•               ,
•
JSF
              Java Server Faces
•             Java                                 APIs
        (managing state),                                  (handling
  events),                                               (defining
  navigation)
•          JSP        渲
    –                       JSPs                             渲
•                                                      (tag libraries)
•                                 ,


    URL: http://java.sun.com/javaee/javaserverfaces/
JSF
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head><title>JSF sample</title></head>
<body>
 <f:view>
  <h1><h:outputText value=“Hello #{user.name}"/></h1>
  <h:dataTable id=“items"
       value="#{itemsBean.items}" var=“item">
   <h:column>
    <h:outputText value="#{item.value}" />
   </h:column>
  </h:dataTable>
 </f:view>
</body>
</html>
Reasonable Server Faces
•     Spring                (web
  programming framework)
•       XHTML       ,    UI
  Code 离
•       Lightweight
•        AJAX Javascript


    URL: http://jakarta.apache.org/velocity/
<html>
<head><title>RSF sample</title></head>
<body>
   <h1>Hello <span rsf:id=“user-name”>User Name</span></h1>
   Today is <span rsf:id=“current-date”>1/1/2006</span><br/>
   <table>
     <tr rsf:id=“items:”>
       <td rsf:id=“item-value”>item value here</td>
     </tr>
   </table>
</body>
</html>
Oncourse CL                                                                                  ,迁
           Su/Fall 04         Spring 05        Su/Fall 05         Spring 06        Su/Fall 06


                                                            We Are Here – December 2005


                                              Oncourse                                              2


                                                Fall ’05 by Web form request only

                        Pilot Period – Limited Release
                                     CL 1.5            CL 2.0          CL 2.1             CL 2.x
Sakai 开                 构
Indiana, Michigan, Stanford                                     Oncourse CL
         and MIT



                                                  05                                      Oncourse CL
Oncourse CL          构




            (IUB):
         (IUPUI):
Sakai
 •
                                           WEB             SYS
INSTITUTION             USERS SITES        SERVE      INTEGRATION
                                             RS
Indiana*            121,468 53,979          16   PeopleSoft
UNISA                   92,000               4      Novell, ActiveDirectory
Michigan                67,281 17,453        8      UMIAC, Kerebos
Yale                    14,569               4      Banner, CAS
Fernando Pessoa          5,250     2,000

UCT                      4,040       48      2      PeopleSoft, Novell Nsure

Etudes Alliance**        2,560       79
UC, Merced               1,230      305      1      Banner, uPortal
Totals              308,398 73,864          34



 *Indiana University:       2006      , 108,190          Oncourse CL          .
 **Etudes Alliance        : 200             , 450       (07 02 ).                 Sakai
                                                                                   (Oncourse)
Sakai

•
•      COMMUNITY PROCESSES —             Sakai    contact Mark Norton, Sakai
    Community Process WG Chair (markjnorton@earthlink.net).

•   开 DEVELOPMENT —              开       join Sakai-Dev DG; review existing projects,
    requirements, feature requests or contribute new tools and/or services; contact Peter
    Knoop, Project Coordinator (knoop@umich.edu), or Anthony Whyte, Sakai Technical
    Liaison (arwhyte@umich.edu).

•            INFRASTRUCTURE —                 QA servers,           JIRA/Confluence
    hosting, contact Peter Knoop.

•      QA —                    join QA Work Group, contact Megan May, QA Coordinator
    (mmmay@indiana.edu).

•           REQUIREMENTS & USE CASE DEVELOPMENT —                                  join the
    Requirements WG; contact Mara Hancock, REQ WG chair
    (mara@media.berkeley.edu).
?




http://sakaiproject.org/
Sakai

   ,
   -    ,   1-2   , 2008




                                      !

                                   (hu2@iupui.edu)
                           Sakai/Oncourse




                           http://www.sakaiproject.org/

More Related Content

What's hot

Stewarding Research Data With Islandora
Stewarding Research Data With IslandoraStewarding Research Data With Islandora
Stewarding Research Data With Islandora
David Wilcox
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012
Zubair Ali
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
Aaron Walker
 

What's hot (18)

Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS MiddlewareOracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
 
AMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancyAMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancy
 
Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS
 
Pitfalls of Migrating to SharePoint 2010
Pitfalls of Migrating to SharePoint 2010Pitfalls of Migrating to SharePoint 2010
Pitfalls of Migrating to SharePoint 2010
 
Resume.H.Zhang
Resume.H.ZhangResume.H.Zhang
Resume.H.Zhang
 
HTML5 and Timed Media Playback
HTML5 and Timed Media PlaybackHTML5 and Timed Media Playback
HTML5 and Timed Media Playback
 
Practical Functional Javascript
Practical Functional JavascriptPractical Functional Javascript
Practical Functional Javascript
 
Stewarding Research Data With Islandora
Stewarding Research Data With IslandoraStewarding Research Data With Islandora
Stewarding Research Data With Islandora
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
 
Java
JavaJava
Java
 
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the CloudJavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
JavaOne 2009 - Full-Text Search: Human Heaven and Database Savior in the Cloud
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
 
OData/SPARQL Interop
OData/SPARQL InteropOData/SPARQL Interop
OData/SPARQL Interop
 
Oracle soa suite 11g introduction slide share
Oracle soa suite 11g introduction slide shareOracle soa suite 11g introduction slide share
Oracle soa suite 11g introduction slide share
 
WordPress Filters and Actions
WordPress Filters and ActionsWordPress Filters and Actions
WordPress Filters and Actions
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
 
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsIntroducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
 

Viewers also liked (7)

Scaling HDFS to Manage Billions of Files
Scaling HDFS to Manage Billions of FilesScaling HDFS to Manage Billions of Files
Scaling HDFS to Manage Billions of Files
 
Sakai and IMS LIS Integration
Sakai and IMS LIS IntegrationSakai and IMS LIS Integration
Sakai and IMS LIS Integration
 
Clustering Sakai with Terracotta
Clustering Sakai with TerracottaClustering Sakai with Terracotta
Clustering Sakai with Terracotta
 
Unicon on Open Source Sustainability (Sakai Atlanta, December 2006)
Unicon on Open Source Sustainability (Sakai Atlanta, December 2006)Unicon on Open Source Sustainability (Sakai Atlanta, December 2006)
Unicon on Open Source Sustainability (Sakai Atlanta, December 2006)
 
Feldstein ITC e-Learning 2016 keynote
Feldstein ITC e-Learning 2016 keynoteFeldstein ITC e-Learning 2016 keynote
Feldstein ITC e-Learning 2016 keynote
 
Sakai And The Academic Enterprise
Sakai And The Academic EnterpriseSakai And The Academic Enterprise
Sakai And The Academic Enterprise
 
Banner to Moodle Integration
Banner to Moodle IntegrationBanner to Moodle Integration
Banner to Moodle Integration
 

Similar to Sakai Technical

Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09
Charles Severance
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
nobby
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
SPEC INDIA
 
Rad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh KRad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh K
Roopa Nadkarni
 
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile DeviceAccessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
SAP Portal
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
lseinturier
 

Similar to Sakai Technical (20)

04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop
 
Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09Sakai 2.0 Architecture Update 2005-06-09
Sakai 2.0 Architecture Update 2005-06-09
 
SQLUG event: An evening in the cloud: the old, the new and the big
 SQLUG event: An evening in the cloud: the old, the new and the big  SQLUG event: An evening in the cloud: the old, the new and the big
SQLUG event: An evening in the cloud: the old, the new and the big
 
Google App Engine At A Glance
Google App Engine At A GlanceGoogle App Engine At A Glance
Google App Engine At A Glance
 
Sybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAsSybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAs
 
40020
4002040020
40020
 
Sakai Overview 06-2004
Sakai Overview 06-2004Sakai Overview 06-2004
Sakai Overview 06-2004
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problems
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)
 
J2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenJ2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for women
 
Rad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh KRad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh K
 
Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and concepts
 
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Jazoon 2012 - Systems Integration in the Cloud Era with Apache CamelJazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
 
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile DeviceAccessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
 

More from jiali zhang

Scorm_2004_3rdEd_ SeqNav
Scorm_2004_3rdEd_ SeqNavScorm_2004_3rdEd_ SeqNav
Scorm_2004_3rdEd_ SeqNav
jiali zhang
 
Scorm_2004_3rdEd_ RunTimeEnv
Scorm_2004_3rdEd_ RunTimeEnvScorm_2004_3rdEd_ RunTimeEnv
Scorm_2004_3rdEd_ RunTimeEnv
jiali zhang
 
Scorm_2004_3rdEd_ Cam
Scorm_2004_3rdEd_ CamScorm_2004_3rdEd_ Cam
Scorm_2004_3rdEd_ Cam
jiali zhang
 
Scorm_2004_3rdEd_Overview
Scorm_2004_3rdEd_OverviewScorm_2004_3rdEd_Overview
Scorm_2004_3rdEd_Overview
jiali zhang
 
Scorm.2004.3 Ed.Impacts Summary
Scorm.2004.3 Ed.Impacts SummaryScorm.2004.3 Ed.Impacts Summary
Scorm.2004.3 Ed.Impacts Summary
jiali zhang
 
VensimPLE Quick Reference and Tutorial
VensimPLE Quick Reference and TutorialVensimPLE Quick Reference and Tutorial
VensimPLE Quick Reference and Tutorial
jiali zhang
 
Eeveloping Interactive Logbook A Personal Learning Environment
Eeveloping Interactive Logbook A Personal Learning EnvironmentEeveloping Interactive Logbook A Personal Learning Environment
Eeveloping Interactive Logbook A Personal Learning Environment
jiali zhang
 
Form Learning Over E Learning To My Learning
Form Learning Over E Learning To My LearningForm Learning Over E Learning To My Learning
Form Learning Over E Learning To My Learning
jiali zhang
 
7thingsabout Ple
7thingsabout Ple7thingsabout Ple
7thingsabout Ple
jiali zhang
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integration
jiali zhang
 
从Sakai项目谈高校网络辅助教学平台
从Sakai项目谈高校网络辅助教学平台从Sakai项目谈高校网络辅助教学平台
从Sakai项目谈高校网络辅助教学平台
jiali zhang
 
基于Sakai的开源学习管理系统的构建
基于Sakai的开源学习管理系统的构建基于Sakai的开源学习管理系统的构建
基于Sakai的开源学习管理系统的构建
jiali zhang
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integration
jiali zhang
 
Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]
jiali zhang
 
2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01
jiali zhang
 
自由 开放的Sakai平台
自由 开放的Sakai平台自由 开放的Sakai平台
自由 开放的Sakai平台
jiali zhang
 

More from jiali zhang (20)

Scorm_2004_3rdEd_ SeqNav
Scorm_2004_3rdEd_ SeqNavScorm_2004_3rdEd_ SeqNav
Scorm_2004_3rdEd_ SeqNav
 
Scorm_2004_3rdEd_ RunTimeEnv
Scorm_2004_3rdEd_ RunTimeEnvScorm_2004_3rdEd_ RunTimeEnv
Scorm_2004_3rdEd_ RunTimeEnv
 
Scorm_2004_3rdEd_ Cam
Scorm_2004_3rdEd_ CamScorm_2004_3rdEd_ Cam
Scorm_2004_3rdEd_ Cam
 
Scorm_2004_3rdEd_Overview
Scorm_2004_3rdEd_OverviewScorm_2004_3rdEd_Overview
Scorm_2004_3rdEd_Overview
 
Scorm.2004.3 Ed.Impacts Summary
Scorm.2004.3 Ed.Impacts SummaryScorm.2004.3 Ed.Impacts Summary
Scorm.2004.3 Ed.Impacts Summary
 
VensimPLE Quick Reference and Tutorial
VensimPLE Quick Reference and TutorialVensimPLE Quick Reference and Tutorial
VensimPLE Quick Reference and Tutorial
 
Eeveloping Interactive Logbook A Personal Learning Environment
Eeveloping Interactive Logbook A Personal Learning EnvironmentEeveloping Interactive Logbook A Personal Learning Environment
Eeveloping Interactive Logbook A Personal Learning Environment
 
Form Learning Over E Learning To My Learning
Form Learning Over E Learning To My LearningForm Learning Over E Learning To My Learning
Form Learning Over E Learning To My Learning
 
7thingsabout Ple
7thingsabout Ple7thingsabout Ple
7thingsabout Ple
 
PLE
PLEPLE
PLE
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integration
 
Sakai
SakaiSakai
Sakai
 
Sakai Tool
Sakai ToolSakai Tool
Sakai Tool
 
从Sakai项目谈高校网络辅助教学平台
从Sakai项目谈高校网络辅助教学平台从Sakai项目谈高校网络辅助教学平台
从Sakai项目谈高校网络辅助教学平台
 
基于Sakai的开源学习管理系统的构建
基于Sakai的开源学习管理系统的构建基于Sakai的开源学习管理系统的构建
基于Sakai的开源学习管理系统的构建
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integration
 
Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]Sakai Enterprise Integration[1]
Sakai Enterprise Integration[1]
 
Edu0442
Edu0442Edu0442
Edu0442
 
2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01
 
自由 开放的Sakai平台
自由 开放的Sakai平台自由 开放的Sakai平台
自由 开放的Sakai平台
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Sakai Technical

  • 1. Sakai , - , 1-2 , 2008 Sakai 构 Xingtang Hu(Hu2@iupui.edu) Lance Speelmon(lance@indiana.edu) Michael Korcuska(mkorcuska@gmail.com) / SAKAI 1 21 , 2008
  • 2. , , 2006 / 2006 2002 2001 Lance Speelmon, Oncourse Sakai 构 , Michael Korcuska, Sakai 运
  • 3. • Sakai • Sakai 构 – Tomcat (classloader) – Spring (components manager) • Sakai 开 – (Tools and services) – (WebApp structure) • Sakai
  • 4. Sakai • • , , • • • Java •
  • 6. AuthzGroupService • SiteService • ToolManager • SessionManager • ContentHostingService • CourseManagementService
  • 7. Sakai • – UserDirectoryProvider – map your local user information (eg in LDAP, IMS Enterprise, Kerberos) into Sakai – GroupProvider – CourseManagementProvider – PortalHandler (new in Sakai 2.4) – register new top-level handlers in the Sakai portal URL space – EntityProducer – export primary entities handled by your service as 1st-class Sakai “Entities” (resolvable by URLs, addressible by Events, searchable) • Sakai
  • 8. Sakai • Sakai J2EE (Servlet) (container) – Tomcat, WebSphere, WebLogic • Sakai (tool) , Servlet • Sakai (component) Sakai API , Spring Beans
  • 9. , • Tools(web) – (persistence) – presentation (GUI) • Services / Components(API/Impl) – Must provide documented API – presentation (not aware of HTML at all) – , (not data models) • Framework(Tomcat) – tools and service – common capabilities – domain objects
  • 10. Sakai • 构 Presentation Services (SAF) TOOLS • • 离 Abstract Tool Layout • SERVICES Tool Code (Java) • • • (APIs) FRAMEWORK • Application Services • • Common Services (SAF) Kernel (SAF)
  • 11. Sakai 构 Shared Model Logic-api Public-api (business logic) (service) Components Dao-api (data access) Logic-impl (business logic) Webapps Dao-impl Tool (data access) (presentation) URL: http://issues.sakaiproject.org/confluence/x/BGo
  • 12. 构 构 3-tier architecture External Presentation User Business Logic Other Apps Data Access Database
  • 13. Presentation Layer 3-tier architecture • • (GUI) Presentation (client view) • Business Logic business logic data access Data Access
  • 14. Logic Layer 3-tier architecture • Presentation • • (presentation) Business Logic (data access) Data Access
  • 15. Data Access Layer 3-tier architecture • Presentation • • Business Logic (presentation ) (business logic) Data Access
  • 16. 关 3-tier architecture • , 减 Presentation • Business Logic Data Access
  • 17. Sakai Component Manager • Spring bean Sakai , • • Sakai
  • 19. Tomcat (Container) Tomcat – The Server Services Engine (Catalina) Hosts Realm AJP Connector Valves Context 8009 SSL Connector Valves JSPs Servlets 8443 HTTP Connector Valves 8080
  • 20. Tomcat (J2EE) • Java ClassLoaders • Servlet (container) • Web (ClassLoaders) ,
  • 21. Sakai (ClassLoaders) APIs up here Components in here Tools in here Component1 Component2 • Sakai J2EE ClassLoader layout • Sakai (webapps) Servlets – URLClassLoader – • – components.xml (Spring file), web web.xml – , Servlet (dispatches)
  • 22. Sakai (Tools) • Sakai (Tools) Servlet – RSF, JSF Velocity – web (web.xml) file (tools/ toolname.xml) • App Builder (Plugin) – (applicationContext.xml) Spring (context) , Sakai (services) Spring – Spring (JARs ) 份, (Web application)
  • 23. Spring (beans) • Spring ( (Dependency Injection)/ IoC ) • Java (getters ) (setters) • Spring ( init() )
  • 24. Springy • web.xml (ContextLoaderListener) • (bean definitions) • Sakai (services)
  • 25. Sakai 开 • Sakai (component) – (API module) • Java (interface definitions) (constants) • JAR (shared area) – (Impl module) • (API interfaces ) • Spring (components.xml ) Spring (context) • WAR (components area)
  • 26. Sakai (Services) • Sakai (services) Spring (context) Spring beans • 每 Sakai (component) Spring components.xml • Sakai 启 , .
  • 27. Spring Sakai (Services) • Sakai (APIs) Java (interfaces) • 每 Sakai (APIs) • Sakai Spring (components.xml) Spring bean • : Spring Sakai (UserDirectoryService) <bean id="org.sakaiproject.user.api.UserDirectoryService“ class="org.sakaiproject.user.impl.DbUserService" init-method=“init” destroy-method="destroy" singleton="true"> ...... <property name="autoDdl“ value=“${auto.ddl}”/> <property name="cacheMinutes“ value=“5”/> </bean>
  • 28. ComponentManager mgr.get(“org.sakaiproject.site.api.SiteService”); • Spring (ApplicationContext) • id Class
  • 29. Sakai 构 • 4 – Api (interfaces) • Logic - business logic and dao apis • Model - POJOs (value/data objects) • Public - Service API (if you have one) • Hbm - Hibernate HBM files – Impl (implementations) • Dao - data access implementation • Logic - business logic implementation • Tests - programmatic tests (unit/integration) – Pack (component definitions) • Spring (Sakai components.xml) – Tool (webapp) • Java src/java - java classes used by your tool only • 关 src/webapp - xml, jsp, html, other meta files URL: http://issues.sakaiproject.org/confluence/x/BGo
  • 31. Sakai 构 • org.sakaiproject - base package prefix – You could also use your local prefix (e.g. uk.ac.cam.caret) • org.sakaiproject.app-name • Use something unique for app-name, long is good – dao - data access – hbm – hibernate mapping files – Logic – business logic – Model – value/data objects – Service – public api – Tool – webapp • Add impl to represent implementations URL: http://issues.sakaiproject.org/confluence/x/BGo
  • 33. Sakai Java : • ( event service) • ActiveMQ 构
  • 34.
  • 35. 2 1 m_eventTrackingService = (EventTrackingService) 3 ComponentManager.get("org.sakaiproject.event.api.EventTracking Service");
  • 37. Sakai Java (Applications) Sakai 关 Sakai 启 Sakai 启
  • 38. http://java.sun.com/products/jsp/ JSF http://java.sun.com/javaee/javaserverfaces/ http://www2.caret.cam.ac.uk/rsfwiki/ http://java.sun.com/products/servlet/ http://jakarta.apache.org/velocity/ AJAX http://en.wikipedia.org/wiki/AJAX
  • 39. Java Server Pages • 开 • 启 , • Sakai 运 • , •
  • 40. JSF Java Server Faces • Java APIs (managing state), (handling events), (defining navigation) • JSP 渲 – JSPs 渲 • (tag libraries) • , URL: http://java.sun.com/javaee/javaserverfaces/
  • 41. JSF <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <html> <head><title>JSF sample</title></head> <body> <f:view> <h1><h:outputText value=“Hello #{user.name}"/></h1> <h:dataTable id=“items" value="#{itemsBean.items}" var=“item"> <h:column> <h:outputText value="#{item.value}" /> </h:column> </h:dataTable> </f:view> </body> </html>
  • 42. Reasonable Server Faces • Spring (web programming framework) • XHTML , UI Code 离 • Lightweight • AJAX Javascript URL: http://jakarta.apache.org/velocity/
  • 43. <html> <head><title>RSF sample</title></head> <body> <h1>Hello <span rsf:id=“user-name”>User Name</span></h1> Today is <span rsf:id=“current-date”>1/1/2006</span><br/> <table> <tr rsf:id=“items:”> <td rsf:id=“item-value”>item value here</td> </tr> </table> </body> </html>
  • 44.
  • 45. Oncourse CL ,迁 Su/Fall 04 Spring 05 Su/Fall 05 Spring 06 Su/Fall 06 We Are Here – December 2005 Oncourse 2 Fall ’05 by Web form request only Pilot Period – Limited Release CL 1.5 CL 2.0 CL 2.1 CL 2.x Sakai 开 构 Indiana, Michigan, Stanford Oncourse CL and MIT 05 Oncourse CL
  • 46. Oncourse CL 构 (IUB): (IUPUI):
  • 47. Sakai • WEB SYS INSTITUTION USERS SITES SERVE INTEGRATION RS Indiana* 121,468 53,979 16 PeopleSoft UNISA 92,000 4 Novell, ActiveDirectory Michigan 67,281 17,453 8 UMIAC, Kerebos Yale 14,569 4 Banner, CAS Fernando Pessoa 5,250 2,000 UCT 4,040 48 2 PeopleSoft, Novell Nsure Etudes Alliance** 2,560 79 UC, Merced 1,230 305 1 Banner, uPortal Totals 308,398 73,864 34 *Indiana University: 2006 , 108,190 Oncourse CL . **Etudes Alliance : 200 , 450 (07 02 ). Sakai (Oncourse)
  • 48. Sakai • • COMMUNITY PROCESSES — Sakai contact Mark Norton, Sakai Community Process WG Chair (markjnorton@earthlink.net). • 开 DEVELOPMENT — 开 join Sakai-Dev DG; review existing projects, requirements, feature requests or contribute new tools and/or services; contact Peter Knoop, Project Coordinator (knoop@umich.edu), or Anthony Whyte, Sakai Technical Liaison (arwhyte@umich.edu). • INFRASTRUCTURE — QA servers, JIRA/Confluence hosting, contact Peter Knoop. • QA — join QA Work Group, contact Megan May, QA Coordinator (mmmay@indiana.edu). • REQUIREMENTS & USE CASE DEVELOPMENT — join the Requirements WG; contact Mara Hancock, REQ WG chair (mara@media.berkeley.edu).
  • 50. Sakai , - , 1-2 , 2008 ! (hu2@iupui.edu) Sakai/Oncourse http://www.sakaiproject.org/