Tabula: A Framework for
Technology Based Learning Architectures
Mark J. Norton
May 24, 2001
As technology based learning continues to grown in importance, so too does a need to define a high level framework in which systems can be defined which will integrate and interoperate with each other. There are many different approaches to education and learning. Of these, the following four are the focus of intense interest by many organiations and companies at this time:
- faciliated teaching and education
Each of these approaches to learning requires some common services, some that are shared with others, and some that are particular to that style. Tabula is a framework intended to allow various kinds of learning architectures and systems to be considered and built. It draws on several different specification and standardization efforts currently in progress.
Tabula can be characterized as component oriented framework which establishes methods for service discovery, communication, data sharing, installation, and administration. Rather than being a master architecture which covers all possible approaches to creating learning systems, it is intended to provide common structures which can be used to create different kinds of systems. In particular, the following goals are desired:
The diagram which follows shows several different kinds of components: repository managers, enterprise interfaces, service providers, and a service broker. Some of these are examined in greater detail below.

User Client
The client may be a browser, custom app, etc. The diagram implies that users can collaborate using communication tools outside the context of the learning system. Local tools can also be used to manipulate information. These local changes may be shared collaboratively, or uploaded to the central system.
Searching and Discovery
Two kinds of search and discovery are included in the framework. Service discovery is one of the basic functions of the Server Manager. More about this is explained in TBLA Discovery. Newly installed components can use this technique to determine the location and interface of other services which it may require.
In addition, some repository managers provide for searching and discovery of information. Browsing, searching, and other exploration methods are provided. This supports a research style of learning. There may be custom versions of this service which is focused on particular kinds of repositories.
Access Control
Copyright laws, privacy concerns and other issued dictate that access to content and data in a learning system be controlled. Access control includes authentication, ie. is this a legitimate user of this system? Authorization, on the other hand, defines who has access to what content, services, etc. This could be done on a session basis, or an individual object basis. Finally, rights management maintains ownership and determines how users may access content, data, or services. Each of these is based on a service registry, policies, and business rules which can be maintained and modified as needed.
Digital Repositories
More and more, content and organizational objects are being kept in a learning system, possibly a distributed one, with more information than just pointers to files. Descriptive information is needed to find things, relationship information describes how one object might relate to another, historic data can capture the life cycle of an object, etc. This kind of information is typically represented as meta-data associated with content and organizational objects.
The repository service manages the physical storage of content and organizational objects, along with the meta-data associated with them. It works with the Acess Control services to grant access to other services which request objects from it.
Registry and Catalogs
One of the services which works closely with the repository is registration of content objects, and creation of catalogs, indicies, etc. This is sometimes considered part of the repository system, but could be broken out to allow customization by kinds of repository.
Tracking and Auditing
Tracking users access is necessary to maintain audit trails, to administer the system, to record progress and accomplishments, etc. The tracker is a low level service which accumulates activity data. Other services aggregate this data into reports.
User and Group Manager
User information includes profiling, demographics, accessibility choices, etc. All informaiton associated with a user is stored here. This permanant records of accomplishments such as certificates, gradge sheets, and the like. This server can also be used to define abstract users (roles) and groups. Groups can be given access permissions to content and services (such as authoring tools). The User and Group Manager interfaces to other Enterprise services such as HR, Accouting, and others.
Learning Structures
All content delivery and interaction activities are handled by a collection of services called Learning Structures. These structure can be used to define various content organization and presentation strategies. Pedagogy and learning styles are represented as learning structures. Test and assessment is handled by others. Learning structures can be mixed to create larger aggregations of content, such as course, classes, curricula, etc.
Invoicing and Payment
Not all learning systems will require the ability to invoice, bill, and collect payment. For those that do, a component is provided. This component could potentially interface with an external accounting system, as well.
Collaboration Tools
The architecture recognizes that a lot of user collaboration happens outside of the learning system. Certains aspects of collaboration can be faciliated by specialized tools. These include on-line meeting scheduling and facilitation, certain syncronous and asynchronous communications tools (chat, forums, etc.), managed directories of documents (including version control), etc.
Class Management
Class management tools are focused on scheduling, coordinating, and running distance learning activities for multiple users pursuing the same learning objectives, such as satisfying degree requirements. These tools include attendance, assignment, homework, collection and grading, communication, etc.
Administration
Administers of learning systems need dedicated, specialized tools to manage users, track overall use statistics, pin point problems in system operation, and problem solving. Installation and management of component-based services are handled from admin tools.
Authoring Tools
Authoring tools include all content creation and aggregation tools. In some cases, these tools are closely associated with a particular learning structure or learning style. In other cases, more generalized tools are provided.
Service Broker
If the overall learning system is to be component oriented, expandable, and customizable, some method is needed to coordinate services and provide a means for them to discover services and interfaces. The service broker is focused on providing the glue needed to get service components to work together.
Existing Tools
It may be possible to adapt existing tools and services to the service broker using an interface adaptor. The modular component oriented approach of the Tabula framework provides a means to provide interface adapters which integrate a foreign tool to the shared learning environment.