xAPI
더 많은 작업
xAPI(eXperience API, Experience API, 옛 이름 Tin Can API)는 학습자가 어디서 무엇을 경험했는지를 "누가 - 무엇을 했다 - 무엇을" 형식의 문장(statement)으로 기록해 학습 기록 저장소(LRS)에 모으는 이러닝 데이터 표준이다.
기존 이러닝 표준인 SCORM은 웹 브라우저로 학습 관리 시스템(LMS)에 접속해 콘텐츠를 열었을 때의 진도와 점수만 기록할 수 있었다. 모바일 앱, 오프라인 교육, 시뮬레이터, 게임, 동영상 시청, 현장 실습처럼 LMS 밖에서 일어나는 학습은 남지 않았다. 미국 국방부 산하 ADL(Advanced Distributed Learning)이 이 한계를 넘으려고 차세대 표준 연구를 맡겼고, 그 프로젝트 이름이 Tin Can 이었다. 2013년 xAPI 1.0 이 나왔고, xAPI 2.0 은 2023년 IEEE 9274.1.1 표준이 되었다.
xAPI 는 학습 경험 하나하나를 짧은 문장으로 남긴다. 문장은 JSON 으로 쓰고 HTTP 기반 REST API 로 LRS 에 보낸다. 그래서 브라우저·LMS 가 없어도 인터넷에 연결되는 어떤 기기나 프로그램이든 학습 기록을 보낼 수 있고, 연결이 끊긴 동안 쌓아 두었다가 나중에 보낼 수도 있다.
| 요소 | 뜻 | 예 |
|---|---|---|
| 행위자(Actor) | 학습한 사람 또는 그룹. 이메일·계정으로 식별한다 | 홍길동 |
| 동사(Verb) | 한 일. 고유 식별자(IRI)와 표시 이름을 가진다 | completed(완료했다), attempted, answered, experienced |
| 대상(Object) | 행위의 대상인 활동, 다른 사람, 또는 다른 문장 | 보안 교육 3장 |
| 결과(Result) | 점수, 성공·완료 여부, 걸린 시간 | 점수 90점, 합격 |
| 맥락(Context) | 강좌·강사·플랫폼·소속 같은 주변 정보 | 2026년 신입 교육 과정에서 |
| 시각·권한(Timestamp, Authority) | 언제 일어났는지, 누가 이 기록을 보증하는지 | 2026-11-06 10:30 |
{
"actor": { "name": "홍길동", "mbox": "mailto:[email protected]" },
"verb": { "id": "adlnet.gov/expapi/verbs/completed", "display": { "ko-KR": "완료했다" } },
"object": { "id": "example.com/course/security/ch3", "definition": { "name": { "ko-KR": "보안 교육 3장" } } },
"result": { "score": { "scaled": 0.9 }, "success": true }
}
(실제 식별자는 http(s) 로 시작하는 IRI 다)
- 활동 제공자(Activity Provider, Learning Record Provider) : 학습이 일어나는 곳. 이러닝 콘텐츠, 모바일 앱, 시뮬레이터, 가상 현실 훈련, 오프라인 출석 시스템 등이 문장을 만들어 보낸다
- 학습 기록 저장소(LRS, Learning Record Store) : 문장을 받아 저장하고 조회 API 를 제공하는 서버. LMS 안에 들어 있을 수도 있고 따로 둘 수도 있다. LRS 끼리 문장을 주고받을 수 있다
- 조회·분석 시스템 : LMS, 인사 시스템, 학습 분석 대시보드가 LRS 의 문장을 가져가 학습 이력 관리와 분석에 쓴다
| 구분 | SCORM | xAPI |
|---|---|---|
| 기록 대상 | LMS 안에서 연 콘텐츠의 진도·점수·완료 | LMS 밖까지 모든 학습 경험(모바일, 오프라인, 게임, 시뮬레이션, 협업) |
| 실행 환경 | 웹 브라우저 + LMS 세션 필요 | 인터넷 연결만 있으면 어떤 기기·프로그램이든 |
| 통신 방식 | 브라우저 안 자바스크립트 API(LMS 가 제공) | HTTP REST API, JSON |
| 오프라인 | 불가 | 저장해 두었다가 나중에 전송 가능 |
| 저장소 | LMS 데이터베이스 | LRS(LMS 와 분리 가능) |
| 데이터 모델 | 정해진 항목(cmi.*)만 | 동사·대상을 자유롭게 정의, 확장 가능 |
| 콘텐츠 패키징 | 매니페스트로 패키징·순서 제어 규정 | 패키징·실행 규칙은 없다(cmi5 가 보완) |
xAPI 는 무엇을 기록할지는 정하지만 LMS 가 콘텐츠를 어떻게 실행하고 완료를 판정할지는 정하지 않는다. cmi5 는 LMS 에서 콘텐츠를 띄우고(launch) 등록·완료·합격 같은 공통 동사를 쓰도록 정한 xAPI 프로파일이다. SCORM 이 하던 LMS 연동 역할을 xAPI 위에서 하므로 SCORM 의 후속으로 쓰인다.
- 기업 교육에서 정규 과정, 현장 직무 교육(OJT), 세미나 참석, 독서, 사내 위키 활동까지 한 사람의 학습 이력을 한곳에 모은다
- 시뮬레이터·가상 현실 훈련(비행, 의료, 국방)의 동작 단위 기록
- 학습 분석(Learning Analytics)과 개인별 맞춤 학습 추천
- 여러 기관의 학습 기록을 LRS 끼리 주고받아 학습 이력을 이어 간다