Your SlideShare is downloading. ×
Sakai Enterprise Integration[1]
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Sakai Enterprise Integration[1]

734
views

Published on

Published in: Education, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
734
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Enterprise Integration in Sakai 2.4 An overview of what’s new and (hopefully) improved
  • 2. Sakai Basics: What needs integrating?
    • Users
    • Groups of users
    • Institutional structures
    • (Schools, Departments, Courses, etc)
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 3. 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)
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 4. Enterprise Integration Options Pros & 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 5. Automated Section Creation w/ Provider Approach to Integration Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 6. Student enrollment data w/ Provider Approach to Integration Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 7. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 8. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 9. I. Users Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 10. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 11. II. Groups of Users Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 12. 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);
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 13. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 14. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 15. CM impl. of the Group Provider (continued) Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 16. 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&quot;>
      • <property name=&quot; roleMap &quot;>
    • <map>
    • <entry key=&quot;I&quot; value=&quot;Instructor&quot; />
    • <entry key=&quot;S&quot; value=&quot;Student&quot; />
    • <entry key=&quot;GSI&quot; value=&quot;Teaching Assistant&quot;/>
    • </map>
    • </property>
    • <property name=&quot; officialInstructorRole &quot; value=&quot;Instructor&quot; />
    • <property name=&quot; enrollmentStatusRoleMap &quot;>
    • <map>
    • <entry key=&quot;enrolled&quot; value=&quot;Student&quot; />
    • <entry key=&quot;waitlisted&quot; value=&quot;Student&quot; />
    • </map>
    • </property>
    • </bean>
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 17. III. Institutional Structures Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 18. Institutional Structures in the UI Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 19. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 20. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 21. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 22. SectionFieldManager
    • Simple provider that translates from user input to Section EIDs
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 23. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 24. 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
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 25. 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_address] for help
    Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley
  • 26. Questions, Comments, Discussion Enterprise Integration in Sakai 2.4 Josh Holtzman, UC Berkeley