LDD Today

Understanding the architecture of the Lotus Learning Management System


by
Elizabeth
Bowling

Level: All
Works with: Lotus Learning Management System
Updated: 03-Mar-2003

The IBM Lotus Learning Management System is a set of software components that, working together, allow an organization to create, manage, and deliver employee training. Whether the training is to be delivered online or in person, the Lotus Learning Management System helps organize and track the materials, students, and resources involved.

The Lotus Learning Management System can be hosted on several popular operating systems—AIX, Linux, Solaris, and Windows—using IBM's WebSphere Application Server technology to function over both corporate intranets and the Internet. As a browser-based system, the Lotus Learning Management System (LMS) uses HTTP to transmit data, making it accessible to users on a variety of client platforms, such as Linux, Macintosh, and Windows. Because the LMS is comprised of multiple interacting components, it is highly configurable and can be expanded or customized as needed.

This article presents a technical description of the Lotus Learning Management System architecture, examining the major product components and how they interact. Although some reference is made to concepts related to employee training, and to other Lotus products, this article does not assume prior knowledge in those areas. Anyone who wants to learn about the IBM Lotus Learning Management System and its components should read this article.

What's in the Lotus Learning Management System?
The Lotus Learning Management System is made up of several software components, dividing functionality among multiple applications and even incorporating products from other software companies. These varied components work together to provide a comprehensive solution to the problem of learning management.

The following table summarizes the LMS components, their source, and whether or not they are required for the LMS to function.

ComponentSourcePurpose
Required?
LDAP directoryThird-partyMaintains the centralized user accounts for an organization; may be used for authentication by multiple applications. If you don't already use an LDAP directory, one is provided on the LMS CD.
Yes
Relational DBMSThird-partyMaintains three databases dedicated to the LMS; may additionally contain other databases not used by the LMS.
Yes
LMS ServerLMSActs as the focal point of the Lotus Learning Management System; users access the LMS and its data through the LMS server.
Yes
Delivery ServerLMSDisplays course structures where students can navigate among activities, displays course content for each activity, and tracks progress data and transmits it to the LMS Server.
Yes
Content serverThird partyStores course content files for use with the LMS; files are accessed from course outlines using URLs.
Yes
SMTP serverThird-partyTransfers Help Desk requests and all LMS-generated email.
Yes
Web browsersThird-partyDisplays the LMS user interface on a client workstation.
Yes
FTP serverThird partyStores uploaded courses prior to importing them into the LMS.
No
Authoring ToolLMSRuns on a client workstation and enables course developers to create course outlines and content, including assessments. The Authoring Tool can also be used to import third-party courses into the LMS.
No
Offline Learning ClientLMSRuns on a client workstation and enables a student to work on a course while disconnected from the network.
No
Collaboration servers IBM Lotus productsExtend the LMS with other IBM Lotus products to add collaborative features:
  • Domino: discussion forums
  • Sametime: instant messaging
  • Discovery Server: knowledge-search portlet
  • LearningSpace - Virtual Classroom (LVC): online (real-time) class sessions
No

Distributing product features among these various components gives you the flexibility to configure the Lotus Learning Management System to suit your company's training needs. The following diagram shows a basic configuration for the LMS; your own installation may look very different.

Basic LMS configuration

How do these components interact?
All users enter the Lotus Learning Management System through the LMS Server. When the user specifies the appropriate URL in a Web browser, the LMS responds by displaying the Home module. At this point, the user is anonymous and has limited access to product features. When the user clicks Log in, the LMS prompts for a user name and password. This information is validated first against the database management system to determine whether or not the user is rostered in the LMS, and then against the LDAP user directory to authenticate that person's user name and password.

Once the user is successfully logged in, the LMS Server provides the client browser with an interface, allowing access only to the set of features associated with each user's defined permissions. Students use this interface to browse course lists, to enroll in and launch courses, and to view their progress. Other users can modify system settings, register users, deploy courses, define resources such as locations and instructors, schedule classes, and run reports detailing information on both the system and its users. When a user action triggers a system notification, the message is routed using the SMTP server.

Course developers use the Authoring Tool on their Windows workstations to create courses and to package third-party courses for use with the LMS. Courses are uploaded to the FTP server where they can be imported into the Lotus Learning Management System.

Course structures are stored within the LMS, while content files are stored on one or more content servers. To access a course, a student launches it from the Student Catalog, viewed on the LMS Server. The LMS Server then redirects the student to a Delivery Server, where the course outline is displayed, allowing the student to navigate within the outline and imposing a predefined sequence on course activities. When the student launches a particular course activity, the Delivery Server accesses the corresponding content files from the appropriate Content server and displays them in the LMS interface. As the student works through a course, progress data is captured on the Delivery Server and transmitted back to the LMS Server for processing.

Students wishing to work on a course offline can download courses to their Windows workstation and use the Offline Learning Client to access the course when disconnected from the network. Upon reconnecting to the network, the student can upload tracking information to the LMS.

The Lotus Learning Management System supports a variety of IBM Lotus products designed to enable collaboration. Collaboration activities are built into the course design and are hosted on Collaboration servers that are integrated into the LMS. A closer look at the LMS components
Let's take a closer look at the components of the Lotus Learning Management System and how they interact.

LDAP directory
We'll begin with the core of any training system—the people. The LMS requires that user information be stored in an LDAP (Lightweight Directory Access Protocol) directory. The directory contains general user information that may be accessed by more than one application; it does not have to be specific to the LMS. If your company already uses an LDAP directory, you can use it with the Lotus Learning Management System. If your company uses Domino, you can configure the Domino Directory to function as an LDAP directory and use it with the LMS. Otherwise, you can set up the IBM Directory Server that is included on the LMS CD and use that for storing user information.

The Lotus Learning Management System supports the following LDAP directories: Relational database management system
The remainder of the data used by the LMS is stored in a third-party relational database management system (RDBMS). Although the RDBMS is a third-party product, it is a fundamental component of the Lotus Learning Management System. Data regarding user privileges, courses, and resources is stored in the database management system and accessed as needed.

The LMS uses three databases to store its data: the LMS Server database, the Delivery Server database, and the Audit database. The LMS Server database and the Delivery Server database store information related to users, courses, and resources, using the information in different ways. For example, the LMS Server requires user information to roster users and to track permissions; the Delivery Server uses the information to track user progress through course activities before sending that information back to the LMS Server. The Audit database stores system-generated information about LMS usage and is useful for system administration.

The LMS supports the following RDBMS products:

RDBMSPlatforms
DB2 UDB 7.2 or laterIBM AIX 4.3.3
Sun Solaris 8
Windows NT 4 Server
Windows 2000 Server
Windows 2000 Advanced Server
ORACLE 8i or laterIBM AIX 4.3.3
Sun Solaris 8
Windows NT 4 Server
Windows 2000 Server
Windows 2000 Advanced Server
SQL Server 2000Windows 2000 Server
Windows 2000 Advanced Server

The RDBMS can be hosted on the same machine as other LMS components, but in large organizations, it's typically stored on its own machine. The RDBMS does not have to be dedicated to the Lotus Learning Management System because the LMS usage is restricted to its own set of tables; however, in a large company, the LMS will use a great deal of the RDBMS resources.

LMS Server
The LMS Server is the central component in the Lotus Learning Management System, tying all of the other components together. Every LMS installation uses a single LMS Server, which may be hosted on one machine or on a server cluster.

The LMS Server can run on the following platforms:
Users access the Lotus Learning Management System through the LMS Server, which provides the user interface. The interface provides for two general categories: students and administrators. Students use the LMS Server to browse the course catalog, to enroll in courses, and to view their own progress data. Students are generally limited to two modules in the user interface: the Student Home module and the Student Catalog module. Student tasks include:

ModuleTypical tasks
Home
  • View announcements and messages
  • View progress towards completion of courses, certificates, and curriculums
  • View a calendar of scheduled activities
Student Catalog
  • Browse through the list of available courses
  • Enroll in (or withdraw from) courses

Administrators use the LMS Server to manage system settings, as well as users, resources, and courses. This category of user includes all non-students, such as system administrators, registrars, reporters, course developers, instructors, and resource managers. The LMS user interface categorizes administration tasks into a series of modules; you can assign access to those modules based on the types of tasks for which each administrator is responsible. The range of administration tasks includes:

ModuleTypical tasks
Home
  • View announcements and messages
  • Approve/reject requests for enrollment in (or withdrawal from) courses
  • View a calendar of scheduled activities
Users
  • Create and maintain LMS user accounts
Course Catalog
  • Register courses with the LMS
  • Create offerings
Course Management
  • Enroll students in courses (or withdraw them from courses)
  • View class lists and student results
Resources
  • Define resources such as rooms and instructors
  • Schedule resources for use with courses
Reports
  • Track student progress through one or more courses
  • Create, schedule, and generate reports
Settings
  • Configure system settings
  • Add components to the LMS
  • Check logs

Delivery Server
The Delivery Server is an LMS component that connects students to courses, performing tasks that support the sequencing, launching, and tracking of course content. An LMS installation can use one or more Delivery Servers to distribute courses. The Delivery Server supports the same set of platforms as the LMS Server.

When a student launches a course from the Course Catalog on the LMS server, the LMS server redirects the user interface to the Delivery Server designated for that course. The Delivery Server displays the course outline, which allows the student to navigate within the course and to select activities to launch. When the student launches an activity, the Delivery Server accesses a specified Content server where the content file for the activity is stored and displays that content to the student. As the student progresses through the course, the Delivery Server tracks progress data and routes it to the LMS Server.

Content server
Every course requires content—text, images, and multimedia—that users view as part of completing the course. Course content files are stored on content servers, and are accessed from the course outline with URL links. Content servers are not intrinsic components of the LMS, they are third-party HTTP servers. If you are upgrading from LearningSpace, you probably already store course content on one or more HTTP servers, which can also be used with the Lotus Learning Management System. If you are not migrating from LearningSpace, you need to designate one or more HTTP servers to be used for hosting your LMS course content; these servers do not have to be dedicated to LMS content.

Course content cannot be developed or edited using the LMS Web interface, a special-purpose tool must be used for this. Your company can develop its own content using the LMS Authoring Tool component (see the section "Authoring Tool" later in this article), as well as commercially available authoring tools such as Macromedia DreamWeaver. Additionally, you can purchase ready-to-use content packages from vendors specializing in online training.

All content, including assessments, must be imported into the LMS before it can be made available to students. You can import content packages directly into the LMS using its command-line import utility (using SCORM 1.2 format only), or import packages into the LMS Authoring Tool, and "send" the packages to the LMS from there (the Authoring Tool accepts both SCORM 1.2 and AICC formats).

For organizations that migrate from LearningSpace Forum, the content files for migrated courses can optionally be stored in the LMS Repository, a Notes (NSF) database where files are transferred during migration.

If you want to learn more about how the LMS handles course content, see the LDD Today article, "Deploying Content in the Lotus Learning Management System."

SMTP server
The LMS uses messaging to route automatic notifications to users and to send Help requests to the Help Desk. This requires the use of an SMTP server, which routes the messages as needed within the system. The SMTP server doesn't have to be dedicated to the LMS; you can use an existing SMTP server that's already supporting other applications.

Web browsers
Users access the LMS from their client workstations using Web browsers. Users accessing Domino-based discussions see the database in its Web format through the browser, rather than using a Notes client.

The LMS supports the following client platforms and browsers:

Client platformBrowser
Windows 95, 98, NT, ME, XP, 2000Internet Explorer 5 or later
Netscape Navigator 6.2+
Linux RedHat 7.2+, Suse 7.2+Netscape Navigator 6.2+
Macintosh OS 9, XNetscape Navigator 6.2+

FTP server
When you upload courses to the LMS, you store them on an FTP server. The LMS copies the course package from the FTP server and processes it. When you create an offering based on that course, the LMS Server sends the course outline to the Delivery Server, and the course content to the content server. If you choose not to use FTP for transferring course files, they must be stored in a file server that is accessible to the LMS Server.

Authoring Tool
The LMS Authoring Tool is a content-creation application that allows you to create basic course structures and assessments or to format third-party courses for use with the LMS. Only native content can be edited in the Authoring Tool; content that was originally created elsewhere cannot be edited (you must return to the original editing tool for that purpose). The Authoring Tool lets you add sequencing information to a course to ensure that activities are completed in a specific order; you can also specify scoring requirements for activities.

The Authoring Tool is a stand-alone component of the LMS; it runs only on Windows platforms. During LMS installation, the Authoring Tool package should be placed on a server accessible to your company's content developers, who then download the package and install the tool on their own workstations.

Offline Learning Client
The Offline Learning Client is a package that enables students to complete course activities while disconnected from the network. Students download the package from the LMS server and install it on their Windows workstations. After the package is installed locally, a student can download one or more courses flagged as available for offline use, and then disconnect from the network. While the student is working offline, tracking information (progress and scores) for each downloaded course is stored on the workstation. When the user reconnects to the network, the course can be reset to online status and the corresponding tracking information uploaded to the LMS Server.

Collaboration servers
While taking a course online, a user may participate in a variety of collaborative sessions, hosted on a Collaboration server. Online discussions are hosted on a Domino server; instant chats are hosted on a Sametime server; live sessions are hosted on a LearningSpace - Virtual Classroom server, and Knowledge Management portals are hosted on a Discovery Server. Each of these servers is supported by another IBM Lotus offering, but can easily "plug in" to the Lotus Learning Management System. The table below lists the IBM Lotus products that provide the collaboration features.

Collaboration featureIBM Lotus productDescription
DiscussionsDomino R5 and laterUses Notes databases that allow students and instructors to read and post documents discussing course-related topics.
Instant ChatsSametime 3Uses Sametime instant messaging to allow a student to chat with one or more other students participating in the same course offering.
Live sessionsLearningSpace - Virtual Classroom 1.1Provides a virtual classroom where instructors lead a class session in real-time. During the session, the instructor can display various types of files, mark up a whiteboard, lead students to one or more Web sites, and run additional applications that students can view from their own workstations.
Knowledge SearchDiscovery Server 2.0Provides a portlet enabling a student to link to a Discovery Server and to search for information related to a specific topic under discussion in the course.

On the whole...
The Lotus Learning Management System is a highly flexible and scalable product. By dividing features among multiple components and incorporating various third-party applications, the LMS enables a customer to configure the system in many different ways, as dictated by business needs. Smaller companies may choose to set up a simple configuration with one or two Delivery Servers to cover their online training needs. Larger corporations can expand the configuration at will, adding in additional Delivery servers, and optionally plugging in one or more collaborative products.

One of the advantages of the IBM Lotus Learning Management System is that it lets you take advantage of existing applications, such as your LDAP directory and relational DBMS, as well as other IBM products you may already be using. The combination of all these different technologies makes the LMS appropriate for almost any training needs.


ABOUT THE AUTHOR
Elizabeth Bowling has been writing scintillating technical documentation for Lotus products for the past 14 years. With degrees in Computer Science, Technical Writing, and Training & Development, she has an all-around good time documenting such Lotus products as Notes, LotusScript, LearningSpace, and most recently, the Learning Management System. When she can drag herself away from the keyboard, Elizabeth enjoys reading, sewing, scuba diving, and sleeping.