xAPI는 분산학습 환경(Distributed Learning)에서 학습자 경험 데이터를 정의하고 이종의 시스템 간에 데이터를 공유·통신이 가능하도록 하기 위해 개발되었다. xAPI는 분산학습 환경에서 일어나는 학습경험을 문장 형식으로 구성하여 학습기록 저장소(LRS, Learning Record Store)에 저장하기 위한 과정을 정의하는 표준으로 미 국방부 산하 ADL(Advanced Distributed Learning)에서 2011년부터 논의 되었으며 2013년 1.0.0 버전을 시작으로 1.0.3까지 일반인에게 공개하고 있고 현재 2.0 버전까지 개정 진행 중이다(Smith Brent, 2019).
xAPI는 ADL Initiative에서 개발한 학습 데이터 표준인 SCORM으로부터 출발하여 다양한 학습 환경에서도 유연하게 사용할 수 있도록 간소화하고, 최소한의 일관성 있는 어휘를 바탕으로 데이터를 생산하고 전송 할수 있는 사양을 제공하고 있다.
xAPI가 기존 SCORM 표준의 통신과 추적 모듈과의 가장 큰 차이점은 간단함과 유연성이라고 할 수 있다. SCORM은 표준을 준수한 시스템과 콘텐츠의 경우에만 데이터를 주고 받을 수 있는 구조였지만, xAPI 표준을 준수하지 않은 다양한 학습환경에서 이루어지는 다양한 학습활동(학습시간, 진도율, 평가결과 등)를 추적/관리 할 수 있는 유연한 구조다(정의석 2016).
Helen Colman(2019)는 이러닝 표준에 대한 장단점 비교를 아래와 같이 제시하고 있다.
1. 수집 데이터 형식
xAPI는 학습자나 교수자가 콘텐츠 등의 다른 객체와 상호작용을 기록하고 수집하는 것을 목적으로 한다. 수집될 데이터는 핵심이 되는 행위자(Actor), 대상(Object), 행위(Verb)를 중심으로 구성되며, 학습활동과 관련이 있거나 분석에 활용될 수 있는 몇가지 정보를 Extension을 통해 추가할 수 있다.
xAPI는 학습자나 교수자가 콘텐츠 등의 다른 객체와 상호작용을 기록하고 수집하는 것을 목적으로 한다. 수집될 데이터는 핵심이 되는 행위자(Actor), 대상(Object), 행위(Verb)를 중심으로 구성되며, 학습활동과 관련이 있거나 분석에 활용될 수 있는 몇가지 정보를 Extension을 통해 추가할 수 있다.
xAPI는 IMS Caliper와 다르게 어휘에 대해 미리 규정하지 않고, 커뮤니티의 합의를 통해 데이터 모델을 구성할 수 있도록 하고 있다. 이는 xAPI가 서술 할 수 있는 영역에 대한 확장성을 제고해줄 뿐만 아니라, 합의 결과를 통해 명시적으로 도출되는 데이터 모델을 제공하여 상호 운용성을 확보해주는 역할을 동시에 수행하게 된다.
2. 수집데이터 전송
xAPI의 데이터 전송은 HTTP Request를 이용한다. 학습기록 생산자(LRP, Learning Record Provider)는 LRS 서버로 HTTP Request를 통해 데이터를 전송하며 xAPI 표준에서는 이에 대한 구현 가이드라인을 상세하게 정의하고 있다.
xAPI 데이터 전송에서 일부는 표준 xAPI 데이터 파라미터를 사용하고 일부는 특정 명세를 활용한다. 아래는 LRP(Learning Record Provider)에 의해 사용되는 Request다.
3. xAPI Statement
xAPI 표준에 정의된 학습경험 데이터의 기본 단위로서 Statement는 JSON을 사용하여 형식화되며 학습경험을 추적하는 행위자(Actor), 대상(Object), 행위(Verb) 정보로 구성된 문장이다. xAPI 데이터 모델에서 행위자(Actor), 대상(Object), 행위(Verb) 문장 구성요소는 필수이고, Result와 Context 구성요소는 생략될 수 있다. xAPI 데이터 모델의 가장 중요한 특징은 문장의 구조 뿐만 아니라 구성요소에 의해 제공되어 지는 유연성이다.
3rd Party 시스템은 LRS에 접근해 저장된 데이터를 조회해서 학습분석하고 그 결과를 시각화 할 수 있다. 이러한 LRS의 접근성과 분리성은 LMS나 학습도구들이 추적데이터를 저장하고 접근하는데 적절한 기밀성을 제공한다.
4. xAPI Profile
프로파일은 특정 맥락에서 xAPI를 구현할 때 사용되는 애플리케이션 특화된 컨셉, Statement 패턴, Extension 그리고 Statement 템플릿으로 인간 또는 기계에서 읽을 수 있는 문서를 말한다. 프로파일은 xAPI가 특정 사용 사례에 대해 일관성 있게 구현되는 데 필요한 어휘 개념, 확장자, 문장 템플릿 및 패턴을 문서화한 것으로 설계자와 개발자가 통제된 도메인별 어휘를 설정하고 어떤 데이터를 캡처/저장 및 보고할지를 결정할 수 있도록 한다. 프로파일은 xAPI 구현에 있어 성공적이고 의미론적으로 상호운용을 가능하게 해주는 청사진이라고 할 수 있다.
프로파일은 두가지 기술적 목표를 제공한다.
첫째, 동사(Verbs) 및 활동 유형(Activity Types)과 같이 문장 내에 재사용하기 위한 xAPI 개념에 대한 메타데이터를 포함한다. 메타데이터는 현재의 프로파일 내에서 뿐만 아니라 다른 프로파일에서도 사용되는 개념들간의 연결을 포함하여 관련 용어의 풍부한 생태계를 지원한다. 둘째, 개인과 그룹이 특정 상황에서 적정하게 컨셉을 활용하는 규칙을 포함한다. 이러한 규칙을 통해 프로파일 작성자는 특정한 요소 즉 정확한 순서와 많은 다른 옵션을 설명할 수 있다. 이러한 두가지 기본 목표 달성에 도움이 되도록 프로파일에는 설명, 작성자, 버전관리 등 자체에 대한 메타데이터도 포함되어있다.
ADL은 2012년 xAPI를 지원하는 커뮤니티를 통해 사양에 대한 결정을 지원하기 위해 어휘 레지스트리 Vocab Server를 운영했다. 그러나 xAPI 활용이 확대되면서 동일한 Activity를 표현하는데 있어 데이터가 일치하지 않은 경우가 많아졌고, 커뮤니티를 통한 일관성 있는 프로파일 데이터 활용이 어려워지는 문제가 발생하고 있다.
2017년 DISC(Data Interoperability Standard Consotium)에서는 ADL Initiative를 대신해 대규모 xAPI 프로파일을 완성했고, 정합성을 확보하는 새로운 거버넌스 체제구축에 대해 논의하고 있다.