+ All Categories
Home > Documents > Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4

Date post: 06-Jan-2016
Category:
Upload: delora
View: 20 times
Download: 0 times
Share this document with a friend
Description:
Enterprise Integration in Sakai 2.4. An overview of what’s new and (hopefully) improved. Sakai Basics: What needs integrating?. Users Groups of users Institutional structures (Schools, Departments, Courses, etc). Sakai Basics: Enterprise Integration Options. Bulk load the Sakai database - PowerPoint PPT Presentation
26
Enterprise Integration in Sakai 2.4 An overview of what’s new and (hopefully) improved
Transcript
Page 1: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4

An overview of what’s new and (hopefully) improved

Page 2: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Sakai Basics:What needs integrating?

• Users • Groups of users• Institutional structures

(Schools, Departments, Courses, etc)

Page 3: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Sakai Basics:Enterprise Integration Options

• Bulk load the Sakai database– Uses web services and/or quartz jobs to

populate users, create sites, and maintain site & group memberships

• Providers– Calls out to enterprise systems at runtime– (not all providers are integration oriented)

Page 4: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Enterprise Integration OptionsPros & Cons

• In Sakai < 2.4, bulk loading and providers have no impact on users

• In Sakai 2.4, providers give new capabilities to course tools– Section Info can maintain sections automatically– Roster can display course & enrollment info– More tools in the pipeline that will rely on

runtime access to enterprise data

Page 5: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Automated Section Creation w/ Provider Approach to Integration

Page 6: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Student enrollment data w/ Provider Approach to Integration

Page 7: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Pre-2.4 Integration Providers

• UserDirectoryProvider– Integrates Sakai with your user directory

• GroupProvider (formerly RealmProvider)– Provides group IDs and memberships to Sakai

• CourseManagementProvider– Decorates the group IDs with course data,

instructors, and enrollments

Page 8: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Changes in 2.4

• UserDirectoryProvider– No changes

• GroupProvider (formerly RealmProvider)– Now configured OOTB to use the CM service (more on

that soon)• CourseManagementProvider

– Removed, replaced with CM service• SectionFieldManager

– Poorly named (should have been SectionFieldProvider) provider for Site Info / WS Setup tool

Page 9: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

I. Users

Page 10: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

UserDirectoryProvider

• Relatively mature API• Examples and documentation in the source

code, confluence, sakai-dev mail list, etc• See /component/src/webapp/WEB-INF/components.xml

Page 11: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

II. Groups of Users

Page 12: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Group Provider

• Exposes enterprise defined groups in Sakai– Map getGroupRolesForUser(String userId);– Map getUserRolesForGroup(String id);– String preferredRole(String one, String other);

• Defines how to do compound group IDs– String packId(String[] ids);– String[] unpackId(String id);

Page 13: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

GroupProvider (continued)

• Pre-2.4, no OOTB Group Provider impl.• In 2.4, GroupProvider must be configured to

map between enterprise-defined roles and Sakai roles

Page 14: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Group Provider (continued)

• OOTB Implementation maps hierarchical enterprise memberships to flat Sakai site & group memberships– Resolves roles in higher level structures– Resolves roles based on enrollment status– Resolves roles based on instructor status

Page 15: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

CM impl. of the Group Provider (continued)

Page 16: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

CM impl. of the Group Provider (continued)

From https://source.sakaiproject.org/svn/providers/tags/sakai_2-4-0/component/src/webapp/WEB-INF/components.xml

<bean class=“...SectionRoleResolver"><property name="roleMap">

<map><entry key="I" value="Instructor" /><entry key="S" value="Student" /><entry key="GSI" value="Teaching Assistant"/>

</map></property><property name="officialInstructorRole" value="Instructor" /><property name="enrollmentStatusRoleMap">

<map><entry key="enrolled" value="Student" /><entry key="waitlisted" value="Student" />

</map></property>

</bean>

Page 17: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

III. Institutional Structures

Page 18: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Institutional Structures in the UI

Page 19: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Replacing the Legacy CMProvider

• CourseManagementService– Models an institution of higher education

• Academic Sessions (Terms, Semesters, etc)• Course Sets (Schools, Departments, etc)• Courses, Sections, Enrollments, Memberships, etc

• SectionFieldManager– Should be named SectionFieldProvider– Allows Site Info / WS Setup to construct

Enterprise IDs from user input

Page 20: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

CourseManagementService

• Sakai 2.4 comes with a hibernate-based reference implementation

• Institutions may:– Use the RI, populating the hibernate tables with

the CourseManagementAdministration API– Use the RI, customizing the hibernate mappings

to your custom DB schema– Write a custom implementation of the CM API

Page 21: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

CM Implementations

• UC Berkeley– Spring JDBC against Oracle Views from SIS

• Stanford– RI, loading tables via XML feeds from SIS

• UC Davis– RI against Oracle views from SIS

• Others, see http://confluence.sakaiproject.org/confluence/x/Apc

Page 22: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

SectionFieldManager

• Simple provider that translates from user input to Section EIDs

Page 23: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Institutional Decisions

• Bulk add users vs UserDirectoryProvider– All accounts are internal to Sakai

• UserDirectoryService.addUser(String id, String eid)

– Allows access to externally defined users• Requires a UserDirectoryProvider implementation

Page 24: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Institutional Decisions

• Course Site & Section Creation– Automated, based on institutional structures

• Requires either CM or some custom data feed

– Manual (custom), as required by Instructors• Requires a CM implementation• Requires a SectionFieldManager implementation

Page 25: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Tasks for using the Provider Approach to Integration

• Implement (or borrow) a UserDirectoryProvider• Implement CM Service• Configure the GroupProvider

– How do institutional roles map to Sakai roles– How does enrollment status affect Sakai roles– Which Sakai roles take precedence over others

• Implement SectionFieldManager• Email [email protected] for help

Page 26: Enterprise Integration in Sakai 2.4

Enterprise Integration in Sakai 2.4Josh Holtzman, UC Berkeley

Questions, Comments, Discussion


Recommended