Understanding the architecture of LearningSpace

Lotus LearningSpace is a client-server framework for managing and delivering online courses. This article looks at that framework and its components, including a third-party RDBMS, and the array of distance-learning features they provide.

Elizabeth Bowling, Technical Writer, Lotus

Elizabeth Bowling is a technical writer for IBM's Lotus Software division. Over the past 13 years, Elizabeth has produced application design, programming, and system administration documentation for a variety of Lotus products, including Notes, LotusScript, and LearningSpace.



01 May 2002

Lotus LearningSpace is a framework for managing and delivering online courses. This framework comprises a variety of components that, when used together, provide an extensive array of distance-learning features. LearningSpace is highly configurable, and existing installations can be expanded as needed.

LearningSpace is a client-server system. Course and user information is stored on various servers, while clients access LearningSpace using browsers. Information such as user preferences is stored in cookies and is retrieved by the LearningSpace servers when needed. LearningSpace is a Windows-based system, and most of its components require Windows NT 4, Windows 2000 Server, or Windows 2000 Advanced Server. Clients can access LearningSpace from a variety of Windows workstations, using either Internet Explorer or Netscape Navigator browsers.

The LearningSpace framework

Central to the LearningSpace framework is a third-party relational database management system used for organizing, delivering, and tracking online courses. The database management system stores information about courses, users, and student progress, sharing it with LearningSpace on demand.

The framework also contains a series of course content files, which contain information to be presented within one or more courses. Course content comes from third-party vendors, or it can be created using one of several available authoring tools or in the LearningSpace Materials module. LearningSpace itself provides a Web interface and the underlying Java and SQL technology to connect to Web clients, to the database, and to course materials residing on a content server.

The LearningSpace framework can include some or all of the components listed in the table below. The components necessary to running LearningSpace appear first, followed by components that may optionally be added into the framework.

ComponentPurposeRequired?
Relational database management system Maintains one or more relational databases dedicated to LearningSpace; may additionally contain other databases not used by LearningSpace.Yes
LearningSpace CoreProvides a user interface for managing and delivering courses, as well as the underlying technology needed to connect with the relational database management system, Web clients, and course materials.Yes
Content serverProvides access to course content files-materials for use within an online course, such as related readings and assessments. Content may be stored on a single server or distributed across a series of servers as needed.Yes
Web browsersUsed by all clients to view LearningSpace user interfaces.Yes
SMTP serverProvides messaging services for e-mail and notifications used within LearningSpace.No
External Lotus Domino serverMaintains a corporate-level list of users; this information is imported into the LearningSpace relational database for registering LearningSpace users.No
LearningSpace Collaboration Extends LearningSpace to include discussion areas and live, instructor-led activities.No

With all these components interacting within the LearningSpace framework, it's not surprising that several different technologies are required for sending and receiving data. Before we examine the components in depth, let's see how data works its way through LearningSpace.


How data flows within the framework

The LearningSpace Core server is the entry point for all users. A user accesses LearningSpace using HTTP. When the user specifies the appropriate URL in a Web browser, LearningSpace responds by displaying a logon page. Once the user logs on, the Core server provides the client browser with an interface, which provides access to course materials and assessments (users don't access the Core server itself). The Core server also provides a mechanism for accessing and tracking data stored in the relational database, the Collaboration server, and all course content servers. Microsoft Internet Information Server (IIS) and the Microsoft Data Access Components (MDAC) manage these connections.

Communication between the relational database and LearningSpace is based on an Open Database Connectivity (ODBC) connection, which is created during LearningSpace installation. Information such as user names, course structure, and student progress is stored as records in tables within the relational database. LearningSpace Core uses Structured Query Language (SQL) commands to communicate with the database.

To access course content, LearningSpace retrieves the URL associated with a particular course's "content" activity, points the student's Web browser to the corresponding file, and displays the file's contents in the LearningSpace user interface. Tracking information, such as student scores and completion status, passes from the content file to LearningSpace through HTTP commands. E-mail messages, including automated notices, are routed within LearningSpace using the SMTP server.

Users access the LearningSpace Collaboration server via HTTP. Using a browser, a user can log on to a Collaboration server and participate in a Domino-based Discussion or a Sametime-driven Live session. The LearningSpace Core and Collaboration servers communicate using HTTP.

If user information is being imported from a Domino server, a special Domino database (NSF) must be installed on that server. Using specially designed agents, this database extracts information from the Domino user directory, notes differences since the last check, and packages the changes as transaction records. At a specified interval, a Java program on the LearningSpace Core server communicates with the Domino server, retrieves the transactions, and passes them to the relational database management system. The database management system uses those transactions to update user information in the LearningSpace database.

Now that we've discussed how data flows through the LearningSpace framework, let's take a closer look at each of the components involved and see how it fits into the overall system.


The relational database management system

Although the relational database management system is a third-party product, it is a fundamental component of LearningSpace. Data regarding users, courses, and assessments is stored in the database management system and accessed as needed. LearningSpace data is distributed among a set of tables within a single relational database using a proprietary schema, or structure.

LearningSpace works with several different database management systems. Although LearningSpace is primarily a Windows-based product, the database management system is not limited to Windows. As indicated in the table below, LearningSpace can access databases on any platform supported by the database management system itself.

DBMSPlatforms
SQL Server 7Windows NT 4 Server
SQL Server 2000Windows 2000 Server
Windows 2000 Advanced Server
DB2 7.2IBM AIX 4.3.3
Sun Solaris 8
Windows NT 4 Server
Windows 2000 Server
Windows 2000 Advanced Server
ORACLE 8.6 - 9iIBM AIX 4.3.3
Sun Solaris 8
Windows NT 4 Server
Windows 2000 Server
Windows 2000 Advanced Server

The database management software can reside on the same machine as the LearningSpace software for a small installation, but it generally resides on a separate machine for performance reasons. If you use a DBMS on a non-Windows platform, you must, of course, run it separately from LearningSpace.

Before installing LearningSpace, you use the DBMS software to create an empty database. During the LearningSpace installation, this database is customized to use the schema required by LearningSpace. You can further customize the database to suit your installation's needs, but if you modify a table or field specifically required by LearningSpace, you may find your changes overwritten after an upgrade.

The database interacts with the LearningSpace Core module. When users run LearningSpace, the Core module initiates database transactions to retrieve and update information about courses and users, such as which courses a user is enrolled in and what product features the user is allowed to access. Information about a user's progress through a course (for example, which activities have been completed or what score the user received on a particular assessment) is transmitted back to the database for storage.

If necessary, you can keep portions of this information distinct by configuring LearningSpace to use additional databases. For example, an application service provider might use a different database for each customer for billing, as well as security, purposes. Even if the user information is stored in different databases, the users themselves can access the same physical Core and Collaboration servers, as well as the same course content files. A user may have the authority to use two or more databases in a single installation but can only access one at a time. To change databases, the user must log out of LearningSpace and begin a new session by logging on again, this time specifying the different database to be used.


LearningSpace Core

The LearningSpace Core component contains the core product software and is the entry point for all LearningSpace users. Every LearningSpace installation uses at least one Core component, which may run on its own machine or may share a machine with other applications. You may also use multiple Core components running on separate servers, which lets you balance user load; if necessary, you can distribute the servers geographically. The Core component handles connections to the relational database, to browsers, to e-mail servers, and to the LearningSpace Collaboration component.

These non-Core components should be installed on physically separate machines for better performance, but they may be run as virtual servers on the same machine as the Core component, if necessary. The Core software must be run on a Windows server, either Windows NT 4, Windows 2000 Server, or Windows 2000 Advanced Server.

In LearningSpace Core, users are divided into two major groups, students and administrators, with different interfaces for each. These interfaces are accessed from the Web via separate URLs.

Student interface

The Student interface provides the means for students to display courses in which they're enrolled and launch course activities. If they are granted the appropriate permissions, students can also display and self-enroll in elective courses, drop courses, and display information on their own progress. The Student interface provides the features students typically need in order to enroll in and complete a course, for example:

  • A list of course offerings
  • A "self-rostering" mechanism for creating a user account
  • An enrollment mechanism for enrolling in (or withdrawing from) courses
  • A basic e-mail system for communicating with one another and with instructors
  • A mechanism for progressing through course activities
  • A reporting tool for viewing progress information

If the installation includes the LearningSpace Collaboration component, the Student interface additionally provides a means of accessing collaborative features.

Administrator interface

The Administrator interface is used by all other LearningSpace users, who function as system administrators, course managers, content authors, and instructors. The Administrator interface is also accessed with a specific URL and is kept separate from the Student interface; it provides features relevant to all users involved in developing and presenting courses, managing user registrations and course enrollments, tracking student progress, and maintaining the LearningSpace system. For example, the Administrator interface enables users to:

  • Create (modify, delete) user accounts
  • Create course structures and link to content files
  • Establish scoring rules and create assessments for measuring student progress
  • Track student progress through one or more courses and generate progress reports
  • Enroll students in courses (or drop them from courses)
  • Schedule activities within course offerings (for example, Live sessions)
  • Create and manage online discussion forums
  • Configure system and server settings

Within the Administrator interface, user access to features is controlled through profiles and permissions. Users are grouped into typical profiles (Instructor, Administrator, and so on), and then each profile is assigned one or more permissions, granting access to groups of features. For example, an installation may grant all users permission to see the Home module, but restrict Collaboration administration permissions to the System Admin profile. When viewing the Home module, only users with the System Admin profile would see the Collaboration Settings tab (where LearningSpace Core stores information used for communicating with the Collaboration component).


Content server

Every course in LearningSpace requires content-text, images, and multimedia-that users view as part of completing the course. While course structures are stored in the relational database, the actual content of courses is not. The source for content is usually one or more machines accessed through either HTTP or a LAN-based system.

Content files can reside on the same machine as LearningSpace but are generally stored on one or more separate machines for performance reasons. If you use HTTP as the mechanism for delivering content, you can store the file on any platform that can serve up HTTP; however, LAN-based content is accessed using INI formatted files and so must reside on a Windows server.

Course content files

Most of the course content used with LearningSpace is generated outside of the product. Your company can develop its own content using commercially available authoring tools such as Macromedia's DreamWeaver, or purchase content packages from vendors such as SmartForce or NETg. Content intended for use with LearningSpace must follow AICC formatting standards to ensure compatibility.

For organizations that have migrated from LearningSpace Forum, the content files for each migrated course are stored and edited in the LearningSpace Repository. This is a Domino (NSF) database that stores the Forum course content in a manner such that it can be accessed by LearningSpace users.

Assessments

Assessments are the one type of "content" that can be developed within LearningSpace. An assessment is a test used to measure student progress through a course. Like other course content, assessments can be created by yourself or purchased from content vendors. Additionally, you can create your own assessments in LearningSpace, drawing from a set of questions that you store in the relational database. Assessments created outside of LearningSpace are stored on the Content server; assessments created within LearningSpace are stored in the relational database. The location of assessments (and other content) is transparent to the user.


Web browsers

LearningSpace users access the product using Web browsers. Client workstations can use any of the following Windows operating systems:

  • Windows NT 4 Workstation
  • Windows 95
  • Windows 98
  • Windows 2000 Professional
  • Windows XP

For browsers, LearningSpace supports both Netscape Navigator 4.79 and Internet Explorer 5.0.1 or later. Browsers must be set to accept cookies and to support JavaScript, Java, OCXs, and plug-ins.

Browsers are used for all access, even collaborative features. Users accessing Domino-based discussions see the database in its Web format through the browser, rather than using a Notes client.


SMTP server

An SMTP server (running on any platform) is required for routing e-mail and notifications in LearningSpace; if you don't use e-mail or automatic notices in LearningSpace, you can forgo the SMTP server. E-mail is a minor feature in LearningSpace and doesn't require a dedicated SMTP server. If your installation already has an SMTP server in use (for example, as part of an existing Domino installation), then LearningSpace can use that server as its messaging host.

LearningSpace provides a limited e-mail client that students can use to send messages to one another and to their instructors. Although LearningSpace users can send messages to people using other mail systems (via the SMTP server), they can only receive e-mail from other LearningSpace users. Messages can contain up to 50K of text plus one file attachment.


Domino server

If your company uses Lotus Domino, you can import user information from the Domino Directory into LearningSpace. Rather than recreate and maintain a separate set of users in LearningSpace, you can import user information from the Domino Directory into the relational database, and have the information updated automatically. This transfer of information is one-way; your Domino user records are protected because LearningSpace cannot update your Domino Directory.

LearningSpace Core uses the Domino Java toolkit to communicate with the Domino server and works with any Domino server. While LearningSpace Core runs only on Windows servers, the Domino server can run on any of the platforms listed below, so long as it supports the Domino Java toolkit:

  • Windows NT 4
  • Windows 2000 Advanced Server
  • HP-UX
  • Sun Solaris
  • Linux
  • IBM AIX
  • IBM eServer zSeries (S/390)
  • IBM eServer iSeries (AS/400)
  • IBM OS/2

You can only import users from one Domino Directory at a time; if your users are distributed among multiple directories, you can import from each in turn, but you can only set up the automatic update with a single directory. When importing users from a Domino Directory, you can specify whether to import all users or a subset. You define the subset of users by specifying a Group name; this Group must exist in the current Domino Directory, and only users in this Group will be imported into LearningSpace. Once you import a user record into LearningSpace, it is automatically updated with each subsequent import, as long as that user belongs to the specified Group. If you delete the user from the Group, that user is also deleted from LearningSpace. This keeps LearningSpace in sync with your Domino Directory.


LearningSpace Collaboration module

The LearningSpace Collaboration component provides features that allow instructors and students to interact as part of course activities. LearningSpace Collaboration provides the "virtual classroom" where interactive sessions take place and manages discussion forums for courses. The Collaboration component also allows users to participate in online chat sessions.

The Domino software embedded within the Collaboration module provides the HTTP server used for the component, as well as the discussion databases (NSFs) used in some courses. Lotus Sametime, also embedded within Collaboration, provides the underlying T.120 data-conferencing technology used in Live sessions as well as application sharing and real-time chat capabilities. Although the Collaboration component includes both Domino and Sametime software, it cannot function as a standalone Domino server nor as a standalone Sametime server. These technologies simply add functionality to LearningSpace.

Because it is based in part on Domino, the Collaboration server operates under a different security system than the Core server. LearningSpace Core manages user access to features through user profiles and permissions, while Domino manages access through the Access Control List (ACL) in each discussion database, as well as user groups in the Collaboration server's Domino Directory. LearningSpace includes software that copies and translates user information from the Core database to the Collaboration server's directory so that the two systems remain synchronized. Access levels for a given user are determined by the permissions assigned to that user in the Administrator interface. User information is stored on both the Core and Collaboration servers. When a user accesses a Collaboration server, the logon name is authenticated against the Core server to ensure that the appropriate permissions are enforced.

Like LearningSpace Core, the Collaboration component is supported only on Windows servers (Windows NT 4, Windows 2000 Server, and Windows 2000 Advanced Server). An installation can deploy multiple Collaboration modules, each on a separate machine, to distribute user load and network usage. Each user is assigned to a home, or "host," Collaboration server; users hosted on one Collaboration server can participate in events hosted on a different Collaboration server. This is useful when students in several locations need to attend the same Live session and the instructor does not wish to repeat the session at each location. When multiple Collaboration components are used within a single LearningSpace installation, the Collaboration user directory is propagated from server to server using Domino replication technology.

While LearningSpace Core provides features for course management and self-paced learning, LearningSpace Collaboration provides several key features that enable students to learn together.

Live sessions

The interactive feature of LearningSpace Collaboration is the Live session. Using the Sametime engine, LearningSpace provides a "Virtual Classroom" where instructors and students can share information in real time. If participants have the required audio-video hardware and software installed on their client machines, they can see and hear each other during the session.

Instructors use the Materials module in the Administrator interface to prepare material for Live sessions, schedule Live sessions, and create and manage course discussions. They can prepare material to be displayed on the Whiteboard, and they can prepare a list of "Follow Me" URLs to Web sites for students to view during the session. Whiteboard material can be created in a number of applications, including spreadsheet, graphics, and word processing packages. LearningSpace converts the files to a format that the Whiteboard can read and display. After collaboration materials are set up, they can be attached to a Live session, which makes the materials available during the session.

The Live session is scheduled as an activity associated with a specific course offering. At the designated time, the students and the instructor log on to the Student interface in LearningSpace Core, and then click the appropriate activity in the schedule list. LearningSpace determines whether the user is a student or an instructor and displays the appropriate features; instructors have extra tools for leading Live sessions that aren't available to students.

The session takes place in the Virtual Classroom, where the instructor can mark up the Whiteboard on the fly, display stored Whiteboard files, and use the stored list of Follow Me links to lead the class on a tour of Web sites. During the Live session, the instructor can choose to run a Question and Answer session (creating ad hoc questions) or display a predefined assessment. Students respond to both types of questions on their client machines, and LearningSpace displays all of the students' responses to the instructor.

The Screen Sharing feature lets one class participant (instructor or student) run an application in the Virtual Classroom while the other participants watch from their own workstations. The person actually running the application must have it installed on his or her workstation; the rest of the class can watch, and even join in, without actually installing the additional software. If the Live session is recorded, students can play it back at a later date, using the provided controls to play back, pause, and stop the recording.

Chats

Online chats are supported by the Sametime engine. Whenever LearningSpace users begin a chat session, LearningSpace opens an additional window and displays the messages in real-time. Any two participants in a Live session can begin the chat, which is displayed in an additional window and is visible to all. Any of the session participants can join or drop the chat as they wish.

Discussions

The Discussion feature uses a Domino database where users can post and read memos. Discussions do not happen in real-time; a user posts a message and one or more people respond to it at their convenience. The course instructor acts as moderator for the discussion, suggesting topics for consideration and leading the discussion. All students in the class may respond to posted documents and may read the responses of others. LearningSpace provides a template for discussion databases, which may be customized after installation.

To participate in discussions, the students log on to the Student interface in LearningSpace Core. From there, they can click the Discussion Board link for the appropriate course. Alternatively, if a student is currently participating in an activity, he or she can click Join Discussion to launch a discussion thread for that activity. Instructors can choose whether to access the discussion from the Administrator interface or the Student interface.


Adding it all up

As you see, LearningSpace is made up of quite a few components, only some of which are installed with the product. Every customer can use a different configuration, adding multiples of this, using one-or none-of that, to suit their needs. LearningSpace provides a choice of back-end database systems and lets you decide whether to include options such as e-mail in your installation. You don't have to be a Domino shop to use LearningSpace, but if you are, it's nice to know you can take advantage of your existing user directories. It's the combination of all these different technologies that gives LearningSpace its great flexibility and makes it appropriate for many types of courses and a great variety of learning needs.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into IBM collaboration and social software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=12539
ArticleTitle=Understanding the architecture of LearningSpace
publish-date=05012002