1 of 13

Sakai Integrations (SOAP, RESTful web services and LTI in Sakai)

Matthew Jones - Longsight - June 2013

Aaron Zeckoski - Unicon - June 2013

Bob Long - Unicon - June 2013

Steve Swinsburg - The Australian National University - September 2010

2 of 13

Overview

SOAP services

Enabling and securing them

How to use them

REST services

How to use them

Entity Broker

LTI

3 of 13

SOAP services

  • Provided via Apache Axis
  • Can expose any API method, just inject the service bean and use it
  • Runtime compilation, can modify ‘live’
  • Require a valid session, generally admin.
    • There’s a webservice to do that!

*

4 of 13

Enabling the SOAP services

  • Disabled by default
  • In sakai.properties:

  • This is insecure though. Setup properly.

webservices.allowlogin=true

webservices.allow=.+

webservices.log-allowed=true

webservices.log-denied=true

*

5 of 13

Using the SOAP services

  • Script them via Perl / PHP / Java ...
    • If Perl, the SOAP::Lite module is excellent!

  • Or use a client:
    • Mac: http://ditchnet.org/soapclient/
    • PC/Mac/Linux: http://www.soapui.org/

*

6 of 13

REST services

  • Provided via EntityBroker
  • RESTful URLs and adheres to HTTP standard for actions and responses
  • Return XML/JSON/HTML view of an entity or list of entities
  • Default actions (GET, PUT, DELETE etc)
  • Can also define custom actions

*

7 of 13

Using the REST services

  • Simply make a request!

    • /direct/profile/steve.json
    • /direct/user/current.xml
    • /direct/announcement/user.json?n=10&d=30

*

8 of 13

Entity Broker

  • Fast becoming the defacto standard for exposing your data.

  • More consumers than just Java (PHP/JS/even just HTML)
    • e.g. profile images exposed as direct link

*

9 of 13

Entity Broker

  • If you have a service layer, include EB
    • Can have your providers in your webapp
    • Special Spring setup to allow them to register

  • Can also register events with SiteStats via EntityBroker.
    • Easy config, all done within the tool rather than within SiteStats.

*

10 of 13

Project Keitai

  • A new project for 2012/2013 involves adding EntityBroker Interfaces for all tools.
  • Phase 1 is over half completed. When this is done is should allow for new integrations, including mobile and new web UI
  • https://confluence.sakaiproject.org/display/MOBILE/Home

*

11 of 13

LTI Intro

  • IMS Learning standard for integrating external systems.

*

12 of 13

LTI Web References

  • Additional presentations at Open Apereo 2013
    • Directions for Standards in Teaching and Learning : Wednesday 5th June, 2013 10:00am to 10:45am (PST)
    • Showcase night reception
  • Current LTI tools and development examples
    • https://www.edu-apps.org/index.html
      • 104 as of 06/02/2013
      • 131 as of 05/28/2014
    • http://celtic-project.org/
  • Slides on LTI from Dr. Chuck
    • http://www.slideshare.net/csev
  • IMS Official Standards
    • http://www.imsglobal.org/lti/

*

13 of 13

Questions?

SOAP services info and code samples

REST services info

*