实施 SCORM 与 xAPI 之间的技术差异是什么?

what are the technical differences between implementing SCORM vs xAPI?

我想将 eLearning 集成到我已有的现有系统中,我已经阅读了很多关于 SCORM 和 xAPI 两个标准的内容,但我所阅读的只是关于每个标准优缺点的理论差异,无论如何我想要从开发人员的角度来看,在系统中实施这些标准存在技术差异,从开发的角度实施这些标准有什么区别?我只想了解制定这些标准的过程的标题。任何相关的参考资料或文档也将非常有帮助。 将一个标准集成到系统中然后再集成另一个标准是否可行或合乎逻辑?例如 SCORM,然后如果需要我集成 xAPI?

主要的技术差异是 SCORM 使用 javascript API 在 window 或 LMS 包装的框架中的课程之间进行交流。 xAPI 使用 restful API 通过 HTTP 与 LRS 通信。

让我从集成部分开始。是的,您可以先完成 SCORM,然后再整合 xAPI,尽管这可能需要重新调整 SCORM 课程,或者 LMS 来完成 xAPI 部分。这是在实践中完成的。我所做的很多工作是将现有的 SCORM 生态系统与 xAPI 和 LRSs 集成。

关于 SCORM 和 xAPI 的差异,这里有一些 high-level 信息。

  • SCORM 是一组规范,定义了打包内容的方式、获取内容报告数据的方式以及 LMS 启动和管理 SCORM 内容和数据的方式。 xAPI 是一个规范,它定义了一种 REST 风格 API 和 JSON 数据格式来跟踪 interactions/activity 内容中发生的事情。

  • 正如 Andrew 所说,SCORM 内容在浏览器 DOM 中找到一个嵌入的 API 对象,并使用它来将非常结构化和特定的数据传递给 LMS。 xAPI 使用 REST HTTP API 以明确定义的格式传送各种数据。

  • 如果没有一些创造性的编程,SCORM 通常是通过浏览器从学习管理系统传送到客户端的内容。通常采用 HTML、图像、视频的形式。 xAPI 也可以是那些类型的东西,但由于 API 是 HTTP/REST-like,非托管内容的支持 - 模拟器,phone 应用程序,游戏 - 更容易一些.

  • SCORM的数据模型在规范中定义的很清楚,一般不会扩展。 xAPI的数据格式是有定义的,但实际的数据要宽松得多,对开发者的需求开放。

  • SCORM 从大约 2000 年开始就有各种版本。它在 LMS 和内容开发工具中得到很好的支持。 eLearning space 中的许多人都知道这一点。 xAPI 较新。支持以及理解它的人的数量在增加,但它仍然不如 SCORM 得到支持。

  • 最后需要注意的一点是,SCORM 规范从未定义在 SCO 尝试结束后从 LMS 中获取数据的方法。如果不让 LMS 供应商在其中构建这些功能,这使得报告和指标很难完成。 xAPI 定义了一个 GET 端点来检索数据(当您可能有 100ks 到数百万个数据点时,这可能不高效,但是您可以取回数据 - 关于权限的注意事项除外)一些 LRS 供应商确实添加了报告和分析平台,以及一些将数据导入 BI 或数据分析工具的添加方法。

当您进入 space 时,您会发现更多内容,但这是我想不起来的一些事情。

我建议您阅读 xAPI spec first mainly because it is more easily consumed. Then look at SCORM - 它有不同的版本(1.2、2004 第 2-4 版)。

至于执行内容,

  • SCORM:找出要构建的版本,创建 SCO(向 LRS 报告数据的内容),找到嵌入在 HTML dom 中的 API ,使用定义的方法(Initialize、Terminate、SetValue、GetValue)与 LMS 通信,然后将其全部打包到一个带有 XML 清单并支持 xml 架构的 zip 中,部署到 LMS。
  • xAPI:创建您的内容,最好支持像TinCan Launch这样的xAPI启动机制,对LRS进行REST调用xAPI 端点使用 Fetch 或 Requests 等,host/package/deploy 由您决定。

查看规格是了解不同规格的最枯燥但最权威的方式。各种供应商和实施者也提供了一些非常好的文章和视频。