leveraging sakai and lti to standardize integrations
DESCRIPTION
Pearson and Unicon joint presentation on using IMS LTI for integrationsTRANSCRIPT
Pearson Copyright 2009
Leveraging Sakai and IMS LTI
to Standardize Integrations
Presented By
Gary Gilbert, Unicon
Fred Tibbitts, Pearson Education
July 9, 2009
Pearson Copyright 2009
Overview
• The Challenge
• Pearson Education’s Solution
• Leveraging LTI
• Sakai as Reference Implementation
• Demo
• Q & A
Pearson Copyright 2009
The Challenge
Pearson Copyright 2009
The Challenge
• Custom integration solutions
– Usability
– Reinvented for each LMS / learning application
– Brittle
– Minimal reuse
– High cost of ownership
– Lack of content portability
Pearson Copyright 2009
What is TPI?
• “Third-Party Interoperability”
• TPI is a gateway that allows external applications to integrate seamlessly with Pearson applications
• External LMS embeds links to TPI in course content
• TPI mediates the request before redirecting to the Pearson learning application
Pearson Copyright 2009
• Handle tool launch (i.e. application linking) requests
• Orchestrate enterprise data exchange
– Users, courses, enrollments
• Seamless SSO
TPI’s Main Responsibilities
Pearson Copyright 2009
TPI Design Principles
• Be flexible – enable partner and Pearson application integrations with minimal effort
• Lightweight – don't include or develop components we don't need
• Support/leverage industry standards when appropriate
• Highly scalable and fault tolerant
Pearson Copyright 2009
TPI Server
• Java-based web application
• Red Hat Enterprise servers
• Oracle RAC
• TPI is based largely on open source software
Pearson Copyright 2009
What is IMS LTI?
A standard method of integrating learning tools with learning management systems
Pearson Copyright 2009
Why LTI in TPI?
• Expand support for standards
• Economies of Scale
– Single provider for many tools
• LTI addresses features such as automated
tool deployment
Pearson Copyright 2009
LTI Overview
• “Learning Tool Interoperability”
• Version 2.0 (Not Final)
• Working Group includes:
– Pearson Education
– Sakai
– IBM
– Microsoft
– Blackboard
– Wimba
– Others
Pearson Copyright 2009
LTI Objectives
• Define a deployment framework
• Standardize process for building links
• Guarantee secure communication
• Provide a tool launch protocol that preserves learning context
• Supports content development and distribution
Pearson Copyright 2009
Key Concepts
• Tool Consumer
• Tool Provider
• Tool Profile
• Messaging Framework
• Link Types
Pearson Copyright 2009
Pearson Copyright 2009
Tool Consumer
• Publishes a Tool Consumer Profile
• Provides Tool Consumer Runtime
• Exposes LTI Services
Pearson Copyright 2009
Tool Consumer Profile
• XML descriptor of the Tool Consumer's supported LTI functionality
• Read by Tool Provider during deployment
Tool Consumer Metadata
Vendor Information
Capabilities List List of supported
Security Profiles
Tool Consumer Profile
Web Services
Pearson Copyright 2009
Tool Provider
• Learning application that runs in a container separate from the LMS
• Publishes one or more tools via Tool Profiles
– Tool is an HTTP-based application that serves content
Pearson Copyright 2009
Tool Profile
• XML descriptor describing how a tool integrates with a Tool Consumer
• Delivered to the Tool Consumer during tool deployment
Tool Metadata
Vendor Information
Resource Handlers
Menu Links
Outcome Handlers
Tool Profile
Event Handlers
Pearson Copyright 2009
Messaging Framework
Pearson Copyright 2009
Message Types
• Tool Deployment Request
• Tool Launch Request
– Menu view request
– Resource view request
– Resource create/modify/delete requests
• Server-to-Server
Pearson Copyright 2009
Link Types
• Menu Links
– Rendered in navigational element
– Defined in the Tool Profile
• Resource Links
– Rendered anywhere they are supported by the Tool Consumer Runtime
– Authored
Pearson Copyright 2009
Key Interactions
• Tool Deployment
• Tool Launch
• Resource Link Authoring
Pearson Copyright 2009
• A handshake between the Tool Provider and Tool Consumer where they exchange profiles
• Initiated by an administrator on the Tool Consumer side
• Uses RegisterTool web service
Tool Deployment
User Agent Tool Consumer Tool Provider
Submit Deployment URL
Send HTML Form
Auto-submitPost (toolConsumerProfileURL, passwd, returnURL)
Get Profile
Collect informationValidate profile
registerTool(ToolProfile, ToolSettings, SecurityContract)
Submit
Send Redirect
Pearson Copyright 2009
Tool Launch
• Initiated by a user on the Tool Consumer
• Tool Consumer Runtime generates HTML Form (POST) that is auto-submitted
• POST to appropriate Message Handler on the
Tool Provider
Pearson Copyright 2009
<form id="launchRequestForm" name="launchRequestForm" enctype="application/x-www-form-urlencoded" action="http://someserver.com/lti/launch"method="post">
<input name="userId" value="admin" type="hidden"/><input name="contextId" value="fb2720f7-bc89-4c15-9d11-f959be22835c"
type="hidden"/><input name="contextType" value="ims/lis/CourseSection" type="hidden"/><input name="toolInstanceGUID" value="448c77e6-3d01-4f6a-97d2-5316fb472ee4"
type="hidden"/>
<input name="timestamp" value="1238096397997" type="hidden"/><input name="mac" value="9sba5G5oEOoAKtJuRLHtzhqtZr0=" type="hidden"/><input name="nonce" value="-2714224520731310511" type="hidden"/><input name="digest-algorithm" value="HmacSHA1" type="hidden"/>
<input name="system_institutionId" value="unicon" type="hidden"/><input name="system_partnerId" value="sakai" type="hidden"/>
<input name="context_book" value="campbell8" type="hidden"/>
<input name="resource_targetId" value="studyplan" type="hidden"/>
<input value="Submit" type="submit"/></form>
Resource Context
System
Security
Standard
Pearson Copyright 2009
Resource Link Authoring
• Initiated by user on the Tool Consumer
• Tool Provider provides authoring UI
• Uses ResourceLink web service
User Agent Tool Consumer Tool Provider
Initiate Link Creation
Send HTML Form
Post [resource-create]
Collect information
Submit
Send Redirect
saveResource
Show new resource
Pearson Copyright 2009
Sakai as Reference Implementation
Pearson Copyright 2009
LTI in Sakai
• Tool Consumer
• Test harness for TPI Tool Provider
• Reference implementation
Pearson Copyright 2009
Sakai Tool Consumer Runtime
• New Sakai Tool (lti.tool.consumer)
– Reasonable Server Faces
• Tool Deployment
• Tool Launch
– Integration with Sakai Resources Tool
• Resource Link Authoring
– Heavy use of Entity Providers
Pearson Copyright 2009
Sakai LTI Services
• Standard Sakai API / IMPL Model
• Spring Web Services
– IMS Enterprise Services v1.1
– RegisterTool
– ResourceLink
– ToolSetting
Pearson Copyright 2009
Sakai LTI Authoring
• Pearson Scripted Links
– Extension to the LTI spec
– Allows direct authoring of links
• Requires Melete
– Minor changes to Melete to support LTI tool launch via JavaScript
Pearson Copyright 2009
Sakai in LTI – What's left?
• Tool Deployment at the System level
• Tighter integration with Sakai Resources
• You tell us
Pearson Copyright 2009
Demo