IMS LIS 2.0 & SakaiNate Angell, Sakai Product Manager, The rSmart Group, Inc.Duffy Gillman, Sr. Software Engineer, The rSmart Group, Inc.
Alan Hanson, VP Product Management, Teaching and Learning, Sungard SCT
212th Sakai Conference – Los Angeles, California – June 14-16
Overview
312th Sakai Conference – Los Angeles, California – June 14-16
Overview• Improved Ability for Synching Data• rSmart Increment to Sakora Tool
Contributed by Unicon• Learning Information Services (LIS)
2.0• IMS Global Learning Consortium• Standard for SIS - LMS Integration
412th Sakai Conference – Los Angeles, California – June 14-16
Problem Space
SIS
Courses
InstructorsStudents
Sections
Enrollments
CLE
Sites
Groups
RolesSynchronization
&Mapping
512th Sakai Conference – Los Angeles, California – June 14-16
Sakai SIS IntegrationSIS Batch
• Template Site Shells• Automatic Site Creation per Course
SISCLE
BatchFiles
SiteTemplates
612th Sakai Conference – Los Angeles, California – June 14-16
Sakai SIS IntegrationCourse Management (CM)
• Rich Course Data Model• Data Staged in Sakai• Rosters Pulled in at Site Creation
TimeSISCLE
BatchFilesStaging
Tables
712th Sakai Conference – Los Angeles, California – June 14-16
Sakai SIS IntegrationCourse Management - Site/Roster Mapping
812th Sakai Conference – Los Angeles, California – June 14-16
Sakora Builds on Course Management
• Site Creator Maps Rosters to Sites• Additional Import Capabilities
rSmart Partnership with Sungard to Incorporate and Test LIS 2.0 with Sakora
912th Sakai Conference – Los Angeles, California – June 14-16
Banner Integration for eLearning with LIS 2.0
10
12th Sakai Conference – Los Angeles, California – June 14-16
IMS Learning Information Services 2.0
• SunGard views the Learning Information Services 2.0 specification as a significant step forward in terms of delivering a robust, comprehensive, and service-oriented industry standard
• SunGard Higher Education is committed to adopting LIS 2.0 and has already completed coding and testing for the core functionality
• SunGard plans to start Beta testing LIS 2.0 compliant integration capabilities in Q2, 2011
• eLearning 8.0.x (IMS 1.1) and eLearning 8.1+ (LIS 2.0) will coexist, but ultimately customers will need to upgrade
11
12th Sakai Conference – Los Angeles, California – June 14-16
Learning Information Services 2.0 Specifications
• Person Management Service (PMS)• Group Management Service (GMS)• Membership Management Service (MMS)• Course Management Service (CMS) - NEW• Outcomes Management Service (OMS) - NEW• Bulk Data Exchange Management Service (BDEMS) - NEW
• WSDL Bindings for all SOAP-based web services
• Higher Education Profile• SunGard Higher Education Profile
12
12th Sakai Conference – Los Angeles, California – June 14-16
Bulk Data Exchange
• Provides export of data out of Banner in batch mode• Process extracts data and formats data into LIS 2.0 compliant
XML objects• Output into one or multiple files• Two major administrative concepts:
—Filter Criteria—Tasks
• Once the bulk data file is created in an LIS 2.0 compliant format it is the responsibility of the partner system to import it
13
12th Sakai Conference – Los Angeles, California – June 14-16
Filter Criteria – 1 of 3
Allows user to select and filter the data extracted from the Banner database and produced in the xml output file.
• Filter Name• Filter Description• Population Selection (use any existing Banner Population
Selection).• Term Selection – All or Selected• College Selection – All or Selected• Department Selection - All or Selected
14
12th Sakai Conference – Los Angeles, California – June 14-16
Filter Criteria – 2 of 3
• Person Selection (capability to select persons who have a Logon ID only)
• Filter based on person roles:—Institution Roles:
• Student, Faculty, Learner, Instructor, Staff, Alumni, ProspectiveStudent, Administrator, None
—Custom Roles (continue to publish existing custom roles):• Friends, Finance, DevelopmentOfficer, Prospect, Applicant,
InstitutionAccept, ApplicantAccept, BannerINB, Finaid
15
12th Sakai Conference – Los Angeles, California – June 14-16
Filter Criteria – 3 of 3
• Partner Code Selection—For one or more LMS (Learning Management System)
• Institution Codes—For clients using Multi-Entity Processing - Pending
• Inactive Enrollments• Faculty Department• Course Data – All, Limited, Specific, Active or None• Course Section Data – All, Limited, Specific or None• Student Enrollment Data – All, Limited, Specific or None• Cross List Data – All, Limited, Specific or None• Faculty Assignment – All, Limited Specific or None
16
12th Sakai Conference – Los Angeles, California – June 14-16
Task Definitions
• Allows user to define, organize and schedule Bulk Data Extract tasks—Task Name—Task Description—File Location—File Size Limit (in MB)—Partner Name
• Works in conjunction with Filter Criteria
17
12th Sakai Conference – Los Angeles, California – June 14-16
Bulk Data Exchange – Service Operations
• announceBulkDataExchange – This operation is provided by the target application (in LMS terminology the “Sync Agent” - Luminis, rSmart, Blackboard etc.,). Once an extract file is complete, we have the capability to call this operation.
• reportBulkDataExchange – Our solution exposes a web service for the Sync Agent system to report the status of the bulk data import.
18
12th Sakai Conference – Los Angeles, California – June 14-16
Bulk Data Exchange – Person data extract use case
1. User configures filter criteria for bulk Person data extract2. Bulk Data Extract process is executed and produces Bulk
Data Transaction File(s) constrained by configuration— Maximum file size can be specified resulting in multiple Transaction
Files depending on volume of data3. Once the process is complete a ‘bulkBlockManifest’ object is created to
inform the consuming system regarding the Transaction File(s) to be picked up and processed
4. The ‘bulkBlockManifest’ is incorporated into an announceBulkDataExchange SOAP Request which is transmitted to the service endpoint exposed by the consuming system (the Learning Management System (LMS))
5. announceBulkDataExchange response is received by Integration for eLearning
6. Data transfer is initiated either via FTP or directly via HTTPS
19
12th Sakai Conference – Los Angeles, California – June 14-16
Bulk Data Exchange Interaction Diagram – Banner Initiated
reportBulkDataExchange
announceBulkDataExchange
(Banner SIS) (Sakai CLE)
20
12th Sakai Conference – Los Angeles, California – June 14-16
Integration for e-Learning 8.1 Real-time Integration Architecture
Allows disparate systems to communicate via service calls
Banner
Sakai
Luminis LIS 2.0Service Layer
Sakai CLE LIS 2.0Service Layer
Luminis
Integration for eLearningSingle sign-on
Banner Event Publisher (BEP)
Network / Internet
24
21
12th Sakai Conference – Los Angeles, California – June 14-16
Sakora LIS 2.0 Extension
22
12th Sakai Conference – Los Angeles, California – June 14-16
• Sakora Developed by Unicon• LIS 2.0 Extension by rSmart• Tested with Sakai 2.7 and 2.8
23
12th Sakai Conference – Los Angeles, California – June 14-16
Architecture
Parses individualXML methods(eg. replacePerson,replaceCourse, ...)into calls to CM
24
12th Sakai Conference – Los Angeles, California – June 14-16
Real-time Service CallsLIS SOAP Method Affects CM Object
replacePerson Person
replaceGroup Term, College
replaceCourseTemplate Course
replaceCourseOffering Course Section
replaceSection Course Section
replaceMembership Enrollment
replaceSectionAssociation Cross-Listing
25
12th Sakai Conference – Los Angeles, California – June 14-16
LIS - Banner - Sakai Data Mapping
LIS 2.0 Banner SakaiPerson Person UserGroup Term TermCourse Template
Course Canonical Course
Course Section Course Section SectionCourse Offering Course Section Course OfferingGroup College Course SetGroup Department Course SetMembership Student
EnrollmentMembership
Membership Faculty Assignment
Membership
Section Association
Cross Listing Section Association
26
12th Sakai Conference – Los Angeles, California – June 14-16
Bulk Data Exchange• Initial and Periodic Synchronization• Triggers Batch Process• Sakora Fetches Batch Via FTP• Bulk Data Format Parsed to Real-
time Calls
27
12th Sakai Conference – Los Angeles, California – June 14-16
Bulk Data Message Format
28
12th Sakai Conference – Los Angeles, California – June 14-16
FeaturesMessage Queueing
• “Fire and Forget”• Large Operations Broken Up• Work Can Occur Simultaneously
Across a Cluster• Fault Tolerance
*Uses MessageService with ActiveMQ
29
12th Sakai Conference – Los Angeles, California – June 14-16
FeaturesWeb Services
• Implemented via Spring Web Services• Flexible Logging• Flexible Marshalling/Routing
• Security: Basic HTTP Auth over SSL
30
12th Sakai Conference – Los Angeles, California – June 14-16
FeaturesConfigurable Extraction of Data
• LIS 2.0 Provides Flexibility (eg. Person Attributes)
• Institution or SIS May Label Data Differently
• Parsing of XML Messages Controlled by Configurable XPath
31
12th Sakai Conference – Los Angeles, California – June 14-16
FeaturesPerson ID Mapping
• Common Use Case - Sakai EID not in SIS
• Pluggable Mapping Service can Consult any Resource Necessary
32
12th Sakai Conference – Los Angeles, California – June 14-16
FeaturesAuditing
• Primarily Important for Bulk Data Exchange
• Pluggable• Ideal is Asynchronous Response to Data
Exchange Call• Email to Admin
• Results Available in Database
33
12th Sakai Conference – Los Angeles, California – June 14-16
34
12th Sakai Conference – Los Angeles, California – June 14-16
CONFIGURATION
35
12th Sakai Conference – Los Angeles, California – June 14-16
ConfigurationSakora Sourcehttps://source.sakaiproject.org/contrib/unicon/sakora
MessageService Sourcehttps://source.sakaiproject.org/contrib/messageservice/
36
12th Sakai Conference – Los Angeles, California – June 14-16
ConfigurationBasicBase for WS URLs:sakora.saipEndpoint=http://localhost:8080/sakai-sakora-tool/services
Configuration for FTP Connection:hostName@net.unicon.sakora.api.handler.url.URLHandlingTemplate.sungard=
homeDirectory@net.unicon.sakora.api.handler.url.URLHandlingTemplate.sungard=
userId@net.unicon.sakora.api.handler.url.URLHandlingTemplate.sungard=
password@net.unicon.sakora.api.handler.url.URLHandlingTemplate.sungard=
37
12th Sakai Conference – Los Angeles, California – June 14-16
ConfigurationAdvanced
• Extensive configuration in components.xml
• Documentation to be updated by rSmart for (most significantly) Auditing features