From BLTI 1.0 to LTI 1.1          고영승        IMS Korea
IMS Basic LTI 1.0 -> LTI 1.1• IMS Basic LTI Implementation Guide 향후 버전 -> LTI 1.1 으  로 naming 변경• 변경/추가 사항 in Tool Launch ...
IMS Basic LTI 1.0 -> LTI 1.1• 변경/추가 사항 in Security Model  – (TP <-> TC) application/xml 메시지에 대한 보안      • POX 메시지 OAuth bo...
POST http://www.imsglobal.org/developers/BLTI/service_handle.php HTTP/1.0Host: 127.0.0.1:80Content-Length: 757Authorizatio...
IMS Basic LTI 1.0 -> LTI 1.1• 변경/추가 사항 in LIS 관련 교환 data  – lis_outcome_service_url=…      • TP <-> TC 간의 outcome 서비스를 위한 ...
replaceResult (성적 업데이트) – request (TP -> TC)<?xml version = "1.0" encoding = "UTF-8"?><imsx_POXEnvelopeRequest xmlns = "ht...
replaceResult (성적 업데이트) – response (TC -> TP)<?xml version="1.0" encoding="UTF-8"?><imsx_POXEnvelopeResponse xmlns ="http:...
readResult (성적 조회) – request (TP -> TC)<?xml version = "1.0" encoding = "UTF-8"?><imsx_POXEnvelopeRequest xmlns = "http://...
readResult (성적 조회) – response (TC -> TP)<?xml version="1.0" encoding="UTF-8"?><imsx_POXEnvelopeResponse xmlns = "http://ww...
deleteResult (성적 삭제) – request (TP -> TC)<?xml version = "1.0" encoding = "UTF-8"?><imsx_POXEnvelopeRequest xmlns = "http:...
deleteResult (성적 삭제)– response (TC -> TP)<?xml version="1.0" encoding="UTF-8"?><imsx_POXEnvelopeResponse xmlns = "http://w...
Upcoming SlideShare
Loading in …5
×

From BLTI 1.0 To LTI 1.1

927 views

Published on

technical difference bet. Basic LTI 1.0 and LTI 1.1

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
927
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

From BLTI 1.0 To LTI 1.1

  1. 1. From BLTI 1.0 to LTI 1.1 고영승 IMS Korea
  2. 2. IMS Basic LTI 1.0 -> LTI 1.1• IMS Basic LTI Implementation Guide 향후 버전 -> LTI 1.1 으 로 naming 변경• 변경/추가 사항 in Tool Launch Data (POST) – lti_lms=… • Tool에 대한 launch를 시도하는 LMS의 제품 명 및 버전 정보, e.g. lti_lms=moodle-1 • Tool의 UI를 LMS에 맞추려는 시도 • moodle-1 for Moodle 1.x, sakai-2 for Sakai 2.8, olat-7.1 for Olat 7.1 등등 • 선택적 파라미터 – launch_presentation_css_url=… • Tool이 launch 되는 LMS user interface의 CSS에 대한 URL • CSS: Tool에 font 및 color 등의 설정을 위한 html tag에 대한 styling 요소 포함 • 다양한 LMS 제품에 공통적으로 적용이 가능한 CSS class 등의 CSS 요소는 향후 정의될 예정 • 선택적 파라미터
  3. 3. IMS Basic LTI 1.0 -> LTI 1.1• 변경/추가 사항 in Security Model – (TP <-> TC) application/xml 메시지에 대한 보안 • POX 메시지 OAuth body signing 방식에 의해 sign 됨 • Body 부분은 XML, (TP에서->TC로) 요청되는 서비스(e.g. Outcomes 서비스)에 대한 스키마를 따름 • 다음과 같이 모든 OAuth 파라미터는 Authorization 헤더에 포함되어 야함 Authorization: OAuth realm="",oauth_version="1.0", oauth_nonce="29f90c047a44b2ece73d00a09364d49b", oauth_timestamp="1313350943",oauth_consumer_key="lmsng.school.edu", oauth_body_hash="v%2BxFnmDSHV%2Fj29qhxLwkFILrtPo%3D", oauth_signature_method="HMAC-SHA1", oauth_signature="8auRpRdPY2KRXUrOyz3HKCs92y8%3D" • oauth_body_hash는 body 부분에 대한 SHA-1 인코딩을 통해 생성, oauth_signature는 oauth_cosumer_key 및 oauth_consumer_secret 을 사용해 생성 • 샘플 signed 리퀘스트
  4. 4. POST http://www.imsglobal.org/developers/BLTI/service_handle.php HTTP/1.0Host: 127.0.0.1:80Content-Length: 757Authorization: OAuth realm="",oauth_version="1.0", oauth_nonce="29f90c047a44b2ece73d00a09364d49b", Authorization 헤더: oauth_timestamp="1313350943",oauth_consumer_key="lmsng.school.edu", oauth 파라미터 oauth_body_hash="v%2BxFnmDSHV%2Fj29qhxLwkFILrtPo%3D", oauth_signature_method="HMAC-SHA1", oauth_signature="8auRpRdPY2KRXUrOyz3HKCs92y8%3D"Content-type: application/xml<?xml version = "1.0" encoding = "UTF-8"?><imsx_POXEnvelopeRequest xmlns = "http://www.imsglobal.org/lis/oms1p0/pox"> <imsx_POXHeader> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> imsx_POXHeader: <imsx_messageIdentifier>999999123</imsx_messageIdentifier> from IMS General Web </imsx_POXRequestHeaderInfo> Services </imsx_POXHeader> <imsx_POXBody> <readResultRequest> <resultRecord> <sourcedGUID> imsx_POXBody: <sourcedId>3124567</sourcedId> LIS Outcomes Service </sourcedGUID> (read/replace/delete)중 </resultRecord> TP에서 TC 상의 성적을 </readResultRequest> 조회(read)하기 위한 </imsx_POXBody> request</imsx_POXEnvelopeRequest>
  5. 5. IMS Basic LTI 1.0 -> LTI 1.1• 변경/추가 사항 in LIS 관련 교환 data – lis_outcome_service_url=… • TP <-> TC 간의 outcome 서비스를 위한 TC URL • 성적에 대한 read / replace / delete (operation) 처리 • 지원하지 않는 operation은 response에 ‘unimplemented’ 라고 표 시함 • 선택적 파라미터• LTI 관련 Service 추가 – LIS Basic Outcomes Service • LMS상의 특정 User/Resource/Context와 연관있는 성적의 replace / read / delete 에 대한 구현 방식 정의 • TC <-> TP 간 OAuth body signing 을 사용해 sign 된 POX 메시지 교 환 • 교환이 허용되는 성적은 0.0 - 1.0 간의 decimal number • 각 replaceResult, readResult, deleteResult 처리는 POX 기반의 request, response로 구성
  6. 6. replaceResult (성적 업데이트) – request (TP -> TC)<?xml version = "1.0" encoding = "UTF-8"?><imsx_POXEnvelopeRequest xmlns = "http://www.imsglobal.org/lis/oms1p0/pox"> <imsx_POXHeader> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>999999123</imsx_messageIdentifier> </imsx_POXRequestHeaderInfo> </imsx_POXHeader> <imsx_POXBody> lis_result_sourcedid <replaceResultRequest> <resultRecord> <sourcedGUID> <sourcedId>3124567</sourcedId> </sourcedGUID> <result> 점수(성적) <resultScore> <language>en-us</language> <textString>0.92</textString> 1:1 = lis_result_sourcedid:grade </resultScore> </result> </resultRecord> </replaceResultRequest> </imsx_POXBody></imsx_POXEnvelopeRequest>
  7. 7. replaceResult (성적 업데이트) – response (TC -> TP)<?xml version="1.0" encoding="UTF-8"?><imsx_POXEnvelopeResponse xmlns ="http://www.imsglobal.org/lis/oms1p0/pox"> <imsx_POXHeader> <imsx_POXResponseHeaderInfo> 성적 업데이트 처 <imsx_version>V1.0</imsx_version> 리 현황 정보 <imsx_messageIdentifier>4560</imsx_messageIdentifier> <imsx_statusInfo> <imsx_codeMajor>success</imsx_codeMajor> <imsx_severity>status</imsx_severity> <imsx_description>Score for 3124567 is now A</imsx_description> <imsx_messageRefIdentifier>999999123</imsx_messageRefIdentifier> </imsx_statusInfo> </imsx_POXResponseHeaderInfo> </imsx_POXHeader> <imsx_POXBody> <replaceResultResponse/> 수취하는 값이 없으므로 비어있는 imsx_POXBody </imsx_POXBody></imsx_POXEnvelopeResponse>
  8. 8. readResult (성적 조회) – request (TP -> TC)<?xml version = "1.0" encoding = "UTF-8"?><imsx_POXEnvelopeRequest xmlns = "http://www.imsglobal.org/lis/oms1p0/pox"> <imsx_POXHeader> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>999999123</imsx_messageIdentifier> </imsx_POXRequestHeaderInfo> </imsx_POXHeader> <imsx_POXBody> <readResultRequest> <resultRecord> <sourcedGUID> <sourcedId>3124567</sourcedId> </sourcedGUID> </resultRecord> </readResultRequest> </imsx_POXBody></imsx_POXEnvelopeRequest>>
  9. 9. readResult (성적 조회) – response (TC -> TP)<?xml version="1.0" encoding="UTF-8"?><imsx_POXEnvelopeResponse xmlns = "http://www.imsglobal.org/lis/oms1p0/pox"> <imsx_POXHeader> <imsx_POXResponseHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>1313355158804</imsx_messageIdentifier> <imsx_statusInfo> <imsx_codeMajor>success</imsx_codeMajor> <imsx_severity>status</imsx_severity> <imsx_description>Result read</imsx_description> <imsx_messageRefIdentifier>999999123</imsx_messageRefIdentifier> <imsx_operationRefIdentifier>readResultRequest </imsx_operationRefIdentifier> </imsx_statusInfo> </imsx_POXResponseHeaderInfo> </imsx_POXHeader> <imsx_POXBody> <readResultResponse> 점수(성적) <result> <resultScore> <textString>0.91</textString> </resultScore> </result> </readResultResponse> </imsx_POXBody></imsx_POXEnvelopeResponse>
  10. 10. deleteResult (성적 삭제) – request (TP -> TC)<?xml version = "1.0" encoding = "UTF-8"?><imsx_POXEnvelopeRequest xmlns = "http://www.imsglobal.org/lis/oms1p0/pox"> <imsx_POXHeader> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>999999123</imsx_messageIdentifier> </imsx_POXRequestHeaderInfo> </imsx_POXHeader> <imsx_POXBody> <deleteResultRequest> <resultRecord> <sourcedGUID> <sourcedId>3124567</sourcedId> </sourcedGUID> </resultRecord> </deleteResultRequest> </imsx_POXBody></imsx_POXEnvelopeRequest>
  11. 11. deleteResult (성적 삭제)– response (TC -> TP)<?xml version="1.0" encoding="UTF-8"?><imsx_POXEnvelopeResponse xmlns = "http://www.imsglobal.org/lis/oms1p0/pox"> <imsx_POXHeader> <imsx_POXResponseHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>4560</imsx_messageIdentifier> <imsx_statusInfo> <imsx_codeMajor>success</imsx_codeMajor> <imsx_severity>status</imsx_severity> <imsx_messageRefIdentifier>999999123</imsx_messageRefIdentifier> </imsx_statusInfo> </imsx_POXResponseHeaderInfo> </imsx_POXHeader> <imsx_POXBody> <deleteResultResponse/> </imsx_POXBody></imsx_POXEnvelopeResponse>

×