![]() |
IMS 학습 도구 상호운용성 결과 관리 |
발행일 | 2015년 1월 5일 (한국어 번역 2016년 12월 30일) |
최신버전 | 1.0 버전 최종 표준 |
이전버전 | http://www.imsglobal.org/lti |
지적재산권 및 배포 관련 공지
이 표준의 사용자는 표준을 실행하면서 알게 되는 관련 특허 혹은 지적재산권 침해 가능성, 코멘트와 함께 문서로 제공해야 합니다. IMS는 이 문서에 서술된 기술의 적용 혹은 사용과 관련 있을 수 있는 지적재산권이나 기타 권리의 유효성, 범위 혹은 그러한 권리 아래에서 유효 또는 무효할 수 있는 라이선스의 한도 범위에 대하여 어떤 관점도 취하지 않으며, 그러한 권리를 파악하려고 노력했다는 사실 또한 표현하지 않습니다. IMS 표준 상의 권리에 대한 IMS의 절차 관련 정보는 IMS 지적재산권 웹 페이지에 나와 있습니다: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
Copyright © 2015 by IMS Global Learning consortium, Inc. All Rights Reserved.
이 표준을 제품 혹은 서비스 개발에 이용하려면 IMS 웹사이트: http://www.imsglobal.org/license.html. 상의 IMS 라이선스 규정에 따라야 합니다. 제안요청서(RFP, Request For Proposals) 제작 시누구나 필요에 따라 이 문서의 일부를 발췌하여 사용할 수 있습니다. 위의 제한적 사용 허가는 영구적이며 IMS나 그 상속인 혹은 양수인 등에 의해 취소되지 않습니다.
본 표준은 어떠한 보증도 하지 않으며, 특히 침해행위 없음에 대한 그 어떤 명시적 보증도 하지 않습니다. 이 표준의 사용은 전적으로 실행자 자신의 책임으로 이루어져야 하며, 컨소시엄 및 그 회원이나 제출자 등은 실행자 또는 제 3자가 이 설명서 사용으로 인해 직접 혹은 간접적으로 받는 그 어떤 성격의 피해에 대해서도 책임지지 않습니다.
© 2015 IMS Global Learning Consortium, Inc. All Rights Reserved.
상표 정보: http://www.imsglobal.org/copyright.html
문서 명: IMS Global 학습 도구 상호운용성 결과 관리
V1.0 최종 – 배포일: 2015년 1월 5일
결과 관리는 IMS 학습 정보 서비스 (LIS) [LIS, 11]를 기반으로 합니다. 학습 도구 상호운용성 (LTI) 사양 내에서 툴 소비자(TC)는 툴 공급자 (TP)를 선택적으로 지원할 수 있습니다. TC는 TP에 서비스를 전달하는 시스템일 필요는 없습니다. LIS 서비스는 학생 정보 시스템과 같은 제 3의 시스템에 의해 제공 될 수 있습니다.
그림 1.1 LIS서비스를 활용하는 TP
이 문서는 어떻게 TC가 TP에 대한 성과 관리 지원을 선언하는 지와 TP에 제공되는 서비스에 대해 설명합니다. 이 문서에서 설명하는 기본 결과 서비스는 TP가 TC 기록부에서 사용자에 대한 LIS 결과를 설정, 검색 및 삭제하는 메커니즘을 제공합니다
[GWS, 06] IMS Global General Web Services WSDL Binding Guidelines v1.0, C. Schroeder, J. Simon and C. Smythe, IMS Global Learning Consortium, January 2006. http://www.imsglobal.org/gws/.
[LIS, 11] IMS Global Learning Information Services v2.0, L. Feng, W. Lee and C. Smythe, IMS Global Learning Consortium, June 2011. http://www.imsglobal.org/lis/.
[LIS, 11 OMS] IMS Outcomes Management Service Information Model v1.0, L. Feng and C. Smythe, IMS Global Learning Consortium, March 2010, http://www.imsglobal.org/lis/.
[LTI, 14] IMS Global Learning Tools Interoperability Implementation Guide v1.2, Public Draft, IMS Global Learning Consortium, G. McFall, M. McKell, L. Neumann and S. Vickers, April 2014. http://www.imsglobal.org/lti/.
이 문서에서 설명하는 기본 결과 서비스를 사용하여 TP에서 TC로 성적이 반환되는 것을 지원하기 위하여, 다음의 실행 매개 변수가 사용됩니다:
lis_result_sourcedid=83873872987329873264783687634 이 매개 변수는 실행과 관련된 LIS 결과 식별자 (해당하는 경우)를 나타내는 식별자를 포함하고 있습니다. 이것은 TC 기록부 내에서 고유한 행과 열을 식별합니다. 이 식별자는 resource_link_id / user_id의 모든 조합에 대해 고유하지만 해당 값은 실행 단계마다 변경 될 수 있습니다. TP는 특정 resource_link_id / user_id에 대해 이 필드의 가장 최근 값만 보유합니다. 이 매개 변수는 선택적입니다.
lis_outcome_service_url= 이 매개 변수는 1,023자를 넘지 않아야 합니다. 이 값은 실행단계마다 변경되어서는 안되며, 일반적으로 TP는 lis_outcome_service_url과 특정 oauth_consumer_key 사이에 일대일 매핑이 있다고 예상합니다. 이 값은 TC 시스템의 중요한 재구성이 있거나 또는 TC가 한 도메인에서 다른 도메인으로 이동하는 경우 변경 될 수 있습니다. TP는이 URL이 일반적으로 실행단계마다 변경되지는 않지만 이 값이 거의 변경되지 않는 경우를 처리 할 수 있어야 한다고 가정합니다. 서비스 URL은 다양한 작업/조치를 지원할 수 있습니다. 기본 결과 서비스 제공자는 그것이 지원하지 않는 조치에 대해 ‘미 실행’으로 응답합니다. 이 필드는 TC가 resource_link_id와 관련된 모든 실행에 대한 결과를 수용하는 경우에 필요합니다.
전형적인 구현패턴은 결과 서비스 제공자가 “학습자”역할을 수행하면서 실행 결과만 수용하기 위한 것입니다. 이 경우 TC는 “학습자”역할로 실행하는 경우에만 lis_result_sourcedid 값을 제공합니다. TC가 특정 실행에 대한 결과를 수용하도록 구성된 경우, TC는 실행 시 수행한 역할 및 lis_result_sourcedid가 실행에 포함되었는지 여부에 관계없이, lis_outcome_service_url을 포함해야 합니다
이러한 서비스는 서버 간 신뢰에 기반하며, 특정 사용자의 실행 및 세션 문맥에서 동시에 호출될 필요는 없습니다. TP는 실행 시 생성된 lis_outcome_service_url 및 lis_result_sourcedid를 보유한 후 사용자 세션이 종료 된 후 서비스를 호출 할 수 있습니다. 이를 통해 TP는 기록을 수집하여 TC에 한꺼번에 업로드하거나 또는 강사가 TP 내에서 버튼을 클릭하면 기록을 수집하여 TP에 업로드 할 수 있습니다.
이 서비스를 위한 엔드포인트는 OAuth 본문 서명 [LTI, 14]을 통해 서명된 “Plain Old XML”(POX) 메시지를 받게 됩니다. 이 서비스는 특정 사용자/자원 조합과 관련된 LIS 결과를 설정, 검색 및 삭제합니다. 이 서비스가 지원하는 유일한 유형의 등급은 0.0 - 1.0 범위의 십진수등급입니다. 추가적 유형의 결과 및 TP가 보다 자세한 결과 조작을 수행 할 수 있게 하는 기능이 추후에 추가될 수 있습니다. 이 섹션에서 설명하고 있는 매개 변수 및 작업 반환 값에 대한 자세한 내용은 섹션 3 “IMS 결과 관리 서비스 정보 모델”[LIS, 11 OMS]을 참조합니다. 서비스 엔드포인트는 보안 검사(즉, 서명의 유효성)를 통과하고 올바르게 구성된 “미 지원” 응답을 반환하는 올바른 형식의 헤더가 있는 올바른 형식의 요청을 받아 수용해야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeResponse xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<imsx_POXHeader>
<imsx_POXResponseHeaderInfo>
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>4560</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>unsupported</imsx_codeMajor>
<imsx_severity>status</imsx_severity>
<imsx_description>readPerson is not supported</imsx_description>
<imsx_messageRefIdentifier>999999123</imsx_messageRefIdentifier>
<imsx_operationRefIdentifier>readPerson</imsx_operationRefIdentifier>
</imsx_statusInfo>
</imsx_POXResponseHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody/>
</imsx_POXEnvelopeResponse>
‘미 지원’ 또는 ‘실패’ 응답에 대한 헤더 값에 관한 상세 사항은 “표 A1.2 IMS 일반 웹 서비스 WSDL 바인딩 지침 [GWS, 06] ‘CodeMajor/severity’ 매트릭스 해석”을 참조합니다.
이러한 서비스는 OAuth 서명을 사용하기 때문에 키와 암호가 노출되는 것을 피하기 위하여, 이러한 서비스를 서버 간 웹 서비스라고 부르는 것이 가장 안전합니다. 키와 암호의 손실 위험 없이 브라우저에 이러한 메시지에 서명 할 수 있는 키와 암호를 제공 할 수는 없습니다. 프로덕션 환경에서는 중간자의 공격 및 기타 보안 공격을 피하기 위해 보안 http (즉, https)를 사용하여 이러한 서비스에 접속하는 것이 가장 좋습니다.
ReplaceResultRequest는 특정 결과 sourcedId에 대한 숫자 등급(0.0 - 1.0)을 매깁니다.
이 작업이 실제로 등급을 대체하는지 또는 TC가 모든 등급 값의 기록을 유지하는지 여부는 TC가 결정합니다. TC가 등급 기록을 유지하는 경우, TP는 일반적으로 “가장 최근”의 등급에서만 운영됩니다. TP는 등급 기록에 대한 TC 접근법에 대해 아는 것이 없기 때문에 각 lis_result_sourcedid에 대해 단일 등급만 있는 것처럼 등급을 처리합니다.
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<imsx_POXHeader>
<imsx_POXRequestHeaderInfo>
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>999999123</imsx_messageIdentifier>
</imsx_POXRequestHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody>
<replaceResultRequest>
<resultRecord>
<sourcedGUID>
<sourcedId>3124567</sourcedId>
</sourcedGUID>
<result>
<resultScore>
<language>en</language>
<textString>0.92</textString>
</resultScore>
</result>
</resultRecord>
</replaceResultRequest>
</imsx_POXBody>
</imsx_POXEnvelopeRequest>
sourcedId 요소는 특정 user_id / resource_link_id 조합에 대한 lis_result_sourcedid 매개 변수의 값입니다. TP는 실행 시 전송되는 이 값을 기록하고 나중에 TC 기록부의 특정 셀을 선택하는 방법으로 sourcedId 를 제공하는 서비스를 호출할 수 있습니다.
이 특정 서비스의 경우, textString의 모든 값은 0.0 - 1.0 범위의 10 진수 값입니다. TP 또는 TC 사용자 인터페이스의 언어와 관계없이, 숫자 형식은 마침표를 소수점으로 사용합니다. TP 또는 TC 사용자 인터페이스의 언어와 관계없이, 서비스 호출 시 사용되는 언어 필드는 숫자의 형식을 나타내는 “en”이 됩니다. TP는 “en”을 언어로 포함해야 하지만 TC는 이 요청에서 언어 필드를 무시하고 항상 숫자가 “en” 형식을 통해 구성되었다고 가정합니다.
replaceResultResponse는 응답 헤더 부문에서 작업의 성공/실패를 나타내며 본문 부문은 비어 있습니다.
TC는 불러온 등급의 유효성을 확인해야 하며, 등급이 0.0-1.0의 범위를 벗어나거나 또는 등급이 유효한 번호가 아닌 경우에는 실패합니다. TC는 “실패” imsx_codeMajor를 가진 replaceResult 작업에 응답해야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeResponse xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<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 0.92</imsx_description>
<imsx_messageRefIdentifier>999999123</imsx_messageRefIdentifier>
<imsx_operationRefIdentifier>replaceResult</imsx_operationRefIdentifier>
</imsx_statusInfo>
</imsx_POXResponseHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody>
<replaceResultResponse />
</imsx_POXBody>
</imsx_POXEnvelopeResponse>
ReadResultRequest는 특정 결과 lis_result_sourcedid의 현재 등급을 반환합니다.
TC가 모든 등급 값에 대한 기록을 유지하는지 여부는 TC에 달려있습니다. TC가 등급 기록을 유지하는 경우, TP는 “가장 최근”의 등급을 보게 됩니다. TP는 등급 기록에 대한 TC 접근법에 대해 아는 것이 없기 때문에 각 lis_result_sourcedid에 대해 단일 등급만 있는 것처럼 등급을 처리합니다.
ReplaceResult 작업을 통해 등급이 아직 설정되지 않았거나 또는 기존 등급이 deleteResult 작업을 통해 삭제된 경우, TC는 현재의 텅 빈 textString 요소와 함께 유효한 응답을 반환해야 합니다. TC는 존재하지 않는 등급을 나타내기 위해 0.0을 반환해서는 아니 되며, TC는 등급이 존재하지 않을 때 실패 상태를 반환해서는 안 됩니다. 단지 “빈”등급만을 반환해야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<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>
readResultResponse는 반환된 메시지의 본문 부문에 현재 점수를 반환합니다.
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeResponse xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<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>readResult</imsx_operationRefIdentifier>
</imsx_statusInfo>
</imsx_POXResponseHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody>
<readResultResponse>
<result>
<resultScore>
<language>en</language>
<textString>0.91</textString>
</resultScore>
</result>
</readResultResponse>
</imsx_POXBody>
</imsx_POXEnvelopeResponse>
텍스트 문자열의 형식은 마침표를 소수점으로 사용한 0.0 - 1.0 범위의 십진수 값입니다. TC는 이전 replaceResult 작업에서 TP가 제공한 언어 값에 관계없이 항상 “en”을 언어로 반환합니다. 언어 필드는 TC 또는 TP 사용자 인터페이스의 언어가 아닌, 숫자 형식의 해석에 사용될 언어를 나타냅니다.
DeleteResultRequest는 특정 결과 lis_result_sourcedid의 등급을 삭제합니다.
TC가 모든 등급 값에 대한 기록을 유지하는지 여부는 TC에 달려있습니다. TC가 등급 기록을 관리하는 경우, TC는 deleteResult작업의 내부 의미를 정의해야 합니다. TC는 가장 최근의 등급을 이전 등급으로 되돌리며 삭제하거나, 또는 실제로 등급을 완전히 지우거나, 단순히 등급에 대한 이전 값을 유지하고 등급을 “소프트 삭제”로 표시 할 수도 있습니다. TP는 등급이 삭제될 것으로 예상 하기 때문에, TC가 “현재 성적”에 대한 기록부 보기에 이를 반영하는 것이 좋습니다.
TP는 기록 없이 등급을 단일 아이템으로 간주하고, TC가 요청에 반응할 때 내부 구조를 변경하는 방법에 따라 달라질 수 있다는 사실을 받아 들여야 합니다.
TC가 내부적으로 어떻게 삭제를 처리할 것인지에 관계없이, 주어진 lis_result_sourcedid와 관련된 등급이 더 이상 존재하지 않음을 반영하는 TP에 대한 보기를 제공해야 합니다. 따라서 deleteResult 이후의 readResult는 일반적으로 다른 서비스 호출로 인해 TC 사용자 인터페이스에서 등급이 조작되지 않는 한 replaceResult가 호출된 적이 없는 것처럼 빈 등급을 반환합니다.
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<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>
deleteResultResponse는 응답의 헤더 부문에서 작업의 성공/실패를 나타내며 본문부문은 비어 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<imsx_POXEnvelopeResponse xmlns = "http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0">
<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_operationRefIdentifier>deleteResult</imsx_operationRefIdentifier>
</imsx_statusInfo>
</imsx_POXResponseHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody>
<deleteResultResponse />
</imsx_POXBody>
</imsx_POXEnvelopeResponse>
기본결과 서비스는 다음과 같이 툴 소비자 프로파일의 서비스 제공 섹션에서 공개될 수 있습니다:
{ “@type”:”RestService”, “@id” : “tcp:Outcomes.LTI1”, “endpoint” : “https://lms.example.com/lti/outcomev1”, “format” : [“application/vnd.ims.lti.v1.outcome+xml”], “action” : [“POST”] }
@id 및 엔드포인트의 값은 설명을 위한 것입니다.
이름 | 기관 |
Greg McFall | Pearson |
Mark McKell | IMS Global |
Lance Neumann | Blackboard |
Charles Severance | IMS Global |
Colin Smythe | IMS Global |
Matthew Stoelting | Cengage |
John Tibbetts | VitalSource |
Stephen Vickers | IMS Global |
Alan Zaitchik | Jenzabar |
버전 번호 | 발표 일자 | 설명 |
공공 초안 1.0 | 2014년 4월 7일 | LTI v1.2 사양에 동반되는 이 문서의 첫 번째 배포. |
최종 배포 1.0 | 2015년 1월 5일 | LTI v1.2 사양을 인증에 사용할 수 있는 별도 서비스로 제공하는 이 문서의 정식 버전. |
IMS Global Learning Consortium, Inc. (“IMS Global”) 은 과학적이고 실험적이며 학구적인 협력의 목적 만을 위해서 이 IMS Global 공통 카트리지 프로파일: 실행 (“표준”) 에 포함된 정보를 발표하고 있습니다. IMS Global 은 표준의 정확성이나 완성도에 대해 보증이나 발언을 하지 않습니다. 이것은 ‘있는 그대로’ 그리고 ‘사용 가능한 그대로’의 형식으로 제공됩니다.
표준은 늘 통지 없이 변화와 개정이 될 수 있습니다. 표준이 당신에게 관련이 있는 이상, 그 유용성, 정확도, 그리고 완성도를 평가하는 것은 당신의 단독 의무입니다. IMS Global 은 당신의 논평과 제안을 수령하기 원합니다. 우리의 웹 사이트, http://www.imsglobal.org를 통해서 IMS Global 에 연락하십시오. 서류 번호를 참조하십시오. : IMS Global 학습 도구 상호운용성 결과 관리
개정: 2015년 1월 5일