General architecture for a SCORM 2004 LMS implementation
Part 1

Claude Ostyn
Version 1.0.2
Creative Commons License Copyright © 2005, 2006 Claude Ostyn
This work is licensed under a Creative Commons Attribution-ShareAlike2.5 License


This are working notes for part 1 of a multipart document. The other parts are not publicly available yet. The plan for the other parts includes topics such as user interface considerations, client/server implementation considerations, use of XML, and auditing.

Part 1: Functional overview

Functional components and services

There are many ways to implement a SCORM 2004 conformant LMS. However a fully functional LMS includes a number of features that are beyond the scope of SCORM. A useful way to manage this complexity is to look at a practical LMS implementation as consisting of several main functional components. The components are not listed in any particular order:

The functional components may be implemented as cooperating services, or in a monolithic implementation. A services based implementation allows the ability to update the components independently. Also, architecting as a services-based implementation facilitates the creation of integration interfaces, e.g. to integrate the learner administration component with an HR system.

Other services and enterprise integration

Obviously learning and training is not limited to SCORM content. A practical LMS will often need to include services such as:

Also, increasingly, enterprises are looking at learning management as only part of a larger enterprise context in which human performance is managed to align with business goals and priorities. So, the LMS may be integrated with a competency management system that may include competency models, assessment processes and workflows, individual and group competency records, and various management tools to create, manage and mine competency information and facilitate alignment with business drivers.

Educational institutions have their own requirements. Some functional features that mesh with academic traditions, priorities and methods can be significantly different from those in a typical enterprise.

This document describes only the basic LMS functionality that is assumed to surround the management, delivery and tracking of SCORM based content. The other services and integration requirements are best described in separate documents with a broader scope.

Content repository

This is where SCORM packages are imported and stored for delivery. The basic repository features include:

Support for remote content

SCORM content packages delivered by the LMS may reference learning objects that reside on remote servers, or the LMS might launch content packages that reside on remote servers. Because of the security constraints imposed by Web browsers to prevent cross-site scripting exploits, such remote content must appear to be coming from the same server of the LMS. This typically requires some infrastructure level implementation to allow the LMS server and remote content server to appear to be the same host.

Delivery System (a.k.a. Runtime Environment)

Schematic view of a SCORM runtime environment

Figure 1: Schematic view of a SCORM runtime environment

This system provides the learner experience for a SCORM 2004 package. It manages the sequencing of the package. As a learner attempts to use the package successfully, this system manages the attempt. It also collects and maintain tracking data until the attempt is completed. The Delivery System is split into a server-side component and a client-side components.

Server side component

Client side component

Delivery management system

The delivery management system keeps track what is being delivered and for whom, and manages the persistent state of SCORM data between user sessions and user attempts.

Historical tracking information repository

The historical tracking information repository maintains historical records of past attempts to use SCORM 2004 packages. It may also maintain current records that are subject to update until "finalized". Note that the SCORM does not define any requirements for the management of historical records, except for the status of certain objectives declared in content packages (see below).

Learner administration

The learner administration scope of complexity may vary considerably, depending on the level of integration with enterprise systems. The SCORM does not define any requirements for learner administration, but obviously this is a key component of a practical learning management system. At a minimum, the learner administration provides services such as:

Objective tracking (a.k.a. Lightweight Competency Management)

This is a lightweight system that manages the status of objectives associated with a learner. SCORM 2004 has a concept of "system global objectives" for which the status is maintained across attempts and across SCORM 2004 packages. This system may be built into the Delivery Management System or be a standalone component, or a service provided by a real competency management system.

This system:

General administration

There are three major components of General Administration:

General glue

This is the "glue" system that a system integrator uses to tie together the different components and services of the LMS.

Authentication and Authorization

This may include user authentication and single sign-on management, role management (e.g. unrestricted administrator, learner, repository administrator, learning management administrator, etc.) and role associations (e.g. managers can only view reports on the employees they supervise). This system can be arbitrarily complex, and when the LMS is a good candidate for integration with existing enterprise administrative management systems (LDAP, Active Directory, etc.). A basic implementation might implement a very minimal rights and authentication system with a very small set of roles, such as: Administrator and Learner.

Reports

Management wants reports. Reports are typically required to monitor whether the enterprise goals are being met by the LMS, and to identify problems that may occur in the system or with particular users of the system. Extracting and massaging usage, status and tracking data requires the design of reports, or at least of some generic query interfaces or guidelines.

Notifications

A practical system often includes some kind of notification mechanism, typically using email. The SCORM does not define any requirements for notifications. A well designed notification system removes the need for concerned users to log into the LMS to receive notices that concern them. A notification system might provide periodic summaries for administrators or faculty, alerts sent to learners when a new course is being offered, alerts sent to learners when a deadline approaches to register for a course or to complete a course, confirmation of successful completion sent to a learner, or alerts sent to LMS administrators when abnormal conditions are detected, such as security alerts, storage limit alerts, or abnormal usage patterns.

Security and privacy

Beyond authentication and authorization as described above, a practical system typically includes security features, such as encryption of sensitive data, logging of events with security implications, administrative oversight procedures, and user interfaces provided to learners and managers only through a secure SSL session in approved browsers. Most LMS are operating in a context where new requirements for privacy and auditability may be imposed by law.

User portal

This is the set of services and/or components of user interface that allow a user to interact with the LMS. The LMS might have its own portal, or might be integrated in an enterprise knowledge portal or workflow system. For example, direct access and launching of SCORM packages might be taking place in an embedded performance system, where the entire LMS only appears as a link to a tutorial embedded in the reference that pops up when the user requests help on a task. In an enterprise portal, the LMS is typically embedded among other enterprise specific offerings available to authorized enterprise users.