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

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 multitenancyJaap Poot
 
Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS Esri
 
Pitfalls of Migrating to SharePoint 2010
Pitfalls of Migrating to SharePoint 2010Pitfalls of Migrating to SharePoint 2010
Pitfalls of Migrating to SharePoint 2010Dan Usher
 
HTML5 and Timed Media Playback
HTML5 and Timed Media PlaybackHTML5 and Timed Media Playback
HTML5 and Timed Media PlaybackSidra Abbasi
 
Practical Functional Javascript
Practical Functional JavascriptPractical Functional Javascript
Practical Functional JavascriptOliver Steele
 
Stewarding Research Data With Islandora
Stewarding Research Data With IslandoraStewarding Research Data With Islandora
Stewarding Research Data With IslandoraDavid 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-2012Zubair Ali
 
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 DayTechMaster Vietnam
 
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 CloudAaron Walker
 
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, 2017Lucas Jellema
 
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 shareSrinivasarao Mataboyina
 
WordPress Filters and Actions
WordPress Filters and ActionsWordPress Filters and Actions
WordPress Filters and ActionsGlenn Ansley
 
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...Dr. Spock
 
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 ProfessionalsLucas Jellema
 

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

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 FilesHaohui Mai
 
Sakai and IMS LIS Integration
Sakai and IMS LIS IntegrationSakai and IMS LIS Integration
Sakai and IMS LIS IntegrationCris Holdorph
 
Clustering Sakai with Terracotta
Clustering Sakai with TerracottaClustering Sakai with Terracotta
Clustering Sakai with TerracottaCris Holdorph
 
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)Michael Feldstein
 
Feldstein ITC e-Learning 2016 keynote
Feldstein ITC e-Learning 2016 keynoteFeldstein ITC e-Learning 2016 keynote
Feldstein ITC e-Learning 2016 keynoteMichael Feldstein
 
Sakai And The Academic Enterprise
Sakai And The Academic EnterpriseSakai And The Academic Enterprise
Sakai And The Academic EnterpriseMichael Feldstein
 
Banner to Moodle Integration
Banner to Moodle IntegrationBanner to Moodle Integration
Banner to Moodle Integrationeamerril
 

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

04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment WorkshopChuong Nguyen
 
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-09Charles Severance
 
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 Mike Martin
 
Google App Engine At A Glance
Google App Engine At A GlanceGoogle App Engine At A Glance
Google App Engine At A GlanceStefan Christoph
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
Streaming Solutions for Real time problems
Streaming Solutions for Real time problemsStreaming Solutions for Real time problems
Streaming Solutions for Real time problemsAbhishek Gupta
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingThorsten Kamann
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)Logico
 
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 womenlissa cidhi
 
Rad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh KRad Extensibility - Srilakshmi S Rajesh K
Rad Extensibility - Srilakshmi S Rajesh KRoopa Nadkarni
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and conceptsLuca Garulli
 
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 CamelKai Wähner
 
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 DeviceSAP Portal
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectureslseinturier
 

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_ SeqNavjiali zhang
 
Scorm_2004_3rdEd_ RunTimeEnv
Scorm_2004_3rdEd_ RunTimeEnvScorm_2004_3rdEd_ RunTimeEnv
Scorm_2004_3rdEd_ RunTimeEnvjiali zhang
 
Scorm_2004_3rdEd_ Cam
Scorm_2004_3rdEd_ CamScorm_2004_3rdEd_ Cam
Scorm_2004_3rdEd_ Camjiali zhang
 
Scorm_2004_3rdEd_Overview
Scorm_2004_3rdEd_OverviewScorm_2004_3rdEd_Overview
Scorm_2004_3rdEd_Overviewjiali zhang
 
Scorm.2004.3 Ed.Impacts Summary
Scorm.2004.3 Ed.Impacts SummaryScorm.2004.3 Ed.Impacts Summary
Scorm.2004.3 Ed.Impacts Summaryjiali zhang
 
VensimPLE Quick Reference and Tutorial
VensimPLE Quick Reference and TutorialVensimPLE Quick Reference and Tutorial
VensimPLE Quick Reference and Tutorialjiali 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 Environmentjiali 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 Learningjiali zhang
 
7thingsabout Ple
7thingsabout Ple7thingsabout Ple
7thingsabout Plejiali zhang
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integrationjiali zhang
 
从Sakai项目谈高校网络辅助教学平台
从Sakai项目谈高校网络辅助教学平台从Sakai项目谈高校网络辅助教学平台
从Sakai项目谈高校网络辅助教学平台jiali zhang
 
基于Sakai的开源学习管理系统的构建
基于Sakai的开源学习管理系统的构建基于Sakai的开源学习管理系统的构建
基于Sakai的开源学习管理系统的构建jiali zhang
 
Stellar Sakai Integration
Stellar Sakai IntegrationStellar Sakai Integration
Stellar Sakai Integrationjiali 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 V01jiali 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

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

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/