Presentation is loading. Please wait.

Presentation is loading. Please wait.

Zdenek Nejedly 1, Hugh Smith 1, Matt Searle 1, Cindy Wells 2, Bill Teesdale 2, Trevor Pemberton 3, Kyle Mackie 3 1 Computing & Communications Services.

Similar presentations


Presentation on theme: "Zdenek Nejedly 1, Hugh Smith 1, Matt Searle 1, Cindy Wells 2, Bill Teesdale 2, Trevor Pemberton 3, Kyle Mackie 3 1 Computing & Communications Services."— Presentation transcript:

1 Zdenek Nejedly 1, Hugh Smith 1, Matt Searle 1, Cindy Wells 2, Bill Teesdale 2, Trevor Pemberton 3, Kyle Mackie 3 1 Computing & Communications Services 2 Department of Physics 3 Teaching Support Services University of Guelph developing applications with D2L WebServices & SSO

2 Session Outline Transferring grades with D2L Web Services –Physics Quizroom environment –Synchronizing student grades (past & present) –Toolkit for rapid application development –Lessons learned Expanding the UofG Single Sign On –SSO integration patterns –SSO middleware –SSO with Desire2Learn Take home message

3 Physics Quizroom About 2,400 students per semester Flexibility in scheduling study and exam time Students required to: –pass pre-tests in D2L (on-line) –write quizzes in the Physics Quizroom (on-site) -Successful pre-tests required for admission to quizzes - All marks to be in the D2L

4 Grade synchronization: past & present Large enrolments requires an efficient process and automation, e.g., swipe cards, grade synchronization between D2L and Quizroom,… Grade synchronization: –2003: WebCT – via a smart http client –2006: Blackboard – via the BB Web Services –2009: Desire2Learn – via the D2L Web Services

5 Developing with D2L Web Services Desire2Learn Web Services - API for management of –users –courses –grades WS overhead, e.g., SOAP, WS-Security Platform independent (examples for.Net and Java) Our dev platform: JSE 1.6/JEE 1.5, NetBeans Our run-time platform: Linux RedHat

6 Challenges defined protocol internet communication existing system in production since 2003 expectations performance reliability availability vendor’s API real-time bulk updates production timelines reality supportability

7 Challenges: performance Core requirement: avoid changes to legacy systems, i.e., maintain the original interface (2003) Implication: process full gradebook during each synchronization (10,000 values every 15 minutes) Reality (D2L WebServices API): –Support for single update not the entire class at once –References instead of actual values –Single call requires 1-2 seconds to complete –Concurrency limited –Timeout and usage limits on the auth token Challenge: complete a 2-hour process in 15 mins

8 Solutions: performance Cache the grade values and let through only the modified values Internal userids: cache the reference-value mapping Cached in local relational database ( MySQL) WS Security – token manager tracking age & usage All encapsulated in the Software Development Toolkit (if interested let us know) Additional monitoring and process control in the OS

9 Developing apps with the Toolklit Initialize the toolkit TokenManager.initialize(serviceUrl, login, passwd, timeout, reuseN); ToolBox toolBox = new ToolBox(serviceUrl); // or ToolBoxCached(..) Get the toolkit services GradesTools gradesTools = toolBox.getGradesTools(); Get the grades List values = gradesTools.getGradeValuesByGradeObject(courseId,strGradeId);

10 Outcomes: Improved Performance The total process time reduced a) downloads: from 30-60 minutes to 5-10 minutes b) uploads: from 1-2 hours to 1-2 minutes Q?

11 D2L & SSO @UofGuelph 2 nd year of SSO integration - majority of the campus community now exposed to SSO –students (via LMS – Desire2Learn) –employees (via the Pay & Pension Link service) Technology: Sun Access Manager 7.1 (Oracle) Components: –central SSO server –individual Policy Agents

12 SSO integration patterns @UofGuelph Agent directly on the protected service Agent on the proxy Session initiated by a middleware Session initiated via Shibboleth

13 Agent directly on the protected service e.g., departmental webservers, campus webhosting Agent on the proxy Session initiated by a middleware Session initiated via Shibboleth SSO integration patterns @UofGuelph

14 Agent directly on the protected service Agent on the proxy e.g., Oracle/financial applications Session initiated by a middleware Session initiated via Shibboleth SSO integration patterns @UofGuelph

15 Agent directly on the protected service Agent on the proxy Session initiated by a middleware e.g., E-Academy, D2L, Pay & Pension Session initiated via Shibboleth SSO integration patterns @UofGuelph

16 Agent directly on the protected service Agent on the proxy Session initiated by a middleware Session initiated via Shibboleth e.g., Drupal, library access SSO integration patterns @UofGuelph

17 Bringing D2L to SSO CourseLink.uoguelph.ca – hosted by D2L off campus Integration choices: –PA directly – subject to code review –Reverse proxy – shared hosting challenges –via Shibboleth – in progress, not yet available Solution: D2L Single Sign On API Guelph module designed in java on SSO middleware

18 D2L SSO – tech overview Logging into D2L with SSO (typical) 1.Authenticate (Sun Access Manager) 2.Middleware: request a unique token and set a cookie 3.Redirect the user to D2L with the token Signing out of D2L (UofGuelph specific) 1.Destroy D2L session (D2L hotfix) 2.Redirect to SSO middleware 3.Redirect to SSO logout or D2L (session cookie) Sessions initiated by SSO but managed by D2L

19 SSO middleware Linux on VMware Load-balanced cluster SSO via reverse proxy Multiple tomcat instances Custom java apps (D2L, Pay&Pension) Shared hosting platform for various SSO applications

20 D2L SSO challenges & solutions Single Logout –D2L hotfix, custom code –communication/user education Internet comm issues – add a quality assurance layer General SSO challenges for a mission-critical service –expecting 100% browser compatibility

21 Take-home message Cache objects when possible Consider toolkits to simplify the WS API Plan for Internet communication issues Choose the specific approach to SSO case-by-case

22 Acknowledgements Richard Gorrie and the TSS LTCI team Mark Sloggett, Bosco Tsang & CCS Managed Servers Leo Song and Dennis Xu & CCS Networking and Security Kent Hoeg and the Management Team Desire2Learn and Sunwapta Funding provided by UofG CCS, TSS, and the Physics Department Support of the UofG campus community thank you


Download ppt "Zdenek Nejedly 1, Hugh Smith 1, Matt Searle 1, Cindy Wells 2, Bill Teesdale 2, Trevor Pemberton 3, Kyle Mackie 3 1 Computing & Communications Services."

Similar presentations


Ads by Google