Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Leveraging Sakai and LTI to Standardize Integrations
1. Leveraging Sakai and IMS LTI
to Standardize Integrations
Presented By
Gary Gilbert, Unicon
Fred Tibbitts, Pearson Education
July 9, 2009
Pearson Copyright 2009
2. Overview
• The Challenge
• Pearson Education’s Solution
• Leveraging LTI
• Sakai as Reference Implementation
• Demo
• Q & A
Pearson Copyright 2009
4. 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
5. 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
7. 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
8. TPI Server
• Java-based web application
• Red Hat Enterprise servers
• Oracle RAC
• TPI is based largely on open source
software
Pearson Copyright 2009
9. What is IMS LTI?
A standard method of integrating learning
tools with learning management systems
Pearson Copyright 2009
10. 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
11. LTI Overview
• “Learning Tool Interoperability”
• Version 2.0 (Not Final)
• Working Group includes:
– Pearson Education
– Sakai
– IBM
– Microsoft
– Blackboard
– Wimba
– Others
Pearson Copyright 2009
12. 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
16. Tool Consumer Profile
• XML descriptor of the Tool Consumer's
supported LTI functionality
• Read by Tool Provider during deployment
Tool Consumer Profile
Tool Consumer Vendor
Metadata Information
Capabilities
List List of supported
Security Profiles
Web
Services
Pearson Copyright 2009
17. 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
18. Tool Profile
• XML descriptor describing how a tool
integrates with a Tool Consumer
• Delivered to the Tool Consumer during tool
deployment
Tool Profile
Tool Vendor
Metadata Information
Resource Event
Handlers Handlers
Menu Outcome
Links Handlers
Pearson Copyright 2009
21. 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
23. Tool Deployment
• 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
Pearson Copyright 2009
24. User Agent Tool Consumer Tool Provider
Submit Deployment URL
Send HTML Form
Auto-submit
Post (toolConsumerProfileURL, passwd, returnURL)
Get Profile
Validate profile
Collect information
Submit
registerTool(ToolProfile, ToolSettings, SecurityContract)
Send Redirect
25. 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
27. Resource Link Authoring
• Initiated by user on the Tool Consumer
• Tool Provider provides authoring UI
• Uses ResourceLink web service
Pearson Copyright 2009
28. User Agent Tool Consumer Tool Provider
Initiate Link Creation
Send HTML Form
Post [resource-create]
Collect information
Submit
saveResource
Send Redirect
Show new resource
30. LTI in Sakai
• Tool Consumer
• Test harness for TPI Tool Provider
• Reference implementation
Pearson Copyright 2009
31. 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
32. Sakai LTI Services
• Standard Sakai API / IMPL Model
• Spring Web Services
– IMS Enterprise Services v1.1
– RegisterTool
– ResourceLink
– ToolSetting
Pearson Copyright 2009
33. 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
34. Sakai in LTI – What's left?
• Tool Deployment at the System level
• Tighter integration with Sakai Resources
• You tell us
Pearson Copyright 2009