Architecture Overview

Vision

Since the start of the Digital Marketplace project in 2005, three principles have been used to guide investigation and design:

Affordability

  • Lower the cost of educational materials via digital alternatives, aggregated demand, etc.
  • Promote Open Educational Resources

Accessibility

  • Finding materials that aid access
  • Alternative media (closed captions, books on tape, etc.).

Choice

  • Finding educational materials
  • Finding supplemental materials
  • Evaluating purchase alternatives

As the price of textbooks and other educational materials climbs to every higher levels, states, universities, and other institutions are looking for ways to reduce costs to the student while maintaining the quality of the educational experience. Recent times have seen significant improvements in digital delivery devices (Kindle, Sony Reader, etc.), and establishment of delivery standards like PDF and other digital book formats. Schools increasingly require students to have a portable platform (laptop, reader, etc.) that are quite capable of providing access to digital educational materials. Besides saving students money, it saves state and local governments money in financial aid.

Accessibility has been a goal in education for a long time, but sometimes shorted in priority. The Digital Marketplace will strive to improve accessibility to educational materials by making easier to find alternative media forms and provide the information needed to decide if a given resource can accommodate the needs of a disable user.

The Digital Marketplace aims to achieve these goals by:

  • Providing capabilities that aid instructors to find good materials and evaluate alternatives via federated search and repository browsing.
  • Providing flexible support for purchasing or acquiring recommended materials.
  • Providing support for clearing, fulfillment, and delivery services.
  • Capturing and recording transactions for later analysis.

Some of these things have been attempted in existing applications, these systems vary widely in capability and are closed to competitors. There is a concern around sharing student data and providing support for accessibility. By creating a set of services that embody the business requirements of a university, support is provided create a level playing field in a neutral, digital marketplace. Generic applications will be developed to be agnostic towards content suppliers while allowing more sophisticated (and focused) applications to co-exist. Along the way, the Digital Marketplace will collect data on resource recommendations, student purchases, and how they are fulfilled and delivered. This data will, in turn, allow the institution to aggregate demand giving it leverage to negotiate system-wide deals that benefit all concerns.

The Digital Marketplace can be described as

A set of business requirements codified as services that to empower universities to achieve their business objectives that foster improvements in cost reduction, support for accessibility, and the quality of teaching and learning.

Applications that integrate with the Digital Marketplace implement or use these services in order to satisfy these requirements.

Prior Architectural Work

Substantial effort has been made on identifying the key elements of a DM architecture and tested in a number of field trials. During the early years of the Digital Marketplace project, inspiration was drawn from a number of sources including the Open Knowledge Initiative (OKI), early work in Service Oriented Architecture (SOA) and standards efforts developed by IMS and other bodies.

This work led to the formation of an architecture organized around seven services that manage data locally or remotely accessed in content repositories:

diagram of architecture

One important trial was the Get It Now (Get It @ CalState) effort that will likely lead to cost savings in inter-library loans and expensive annual journal subscriptions. Using early Digital Marketplace technology, a means was added to the CSU Xerxes application get provide students (and instructors) with a digital copy of journal entries via a service offered by the Copyright Clarence Center (copyright.com). The pilot test indicted the availability of participating journal articles and provided them by email within minutes.

A New Digital Marketplace Architecture

We can make the older system more clear by stating that the DM is a set of services design to support the integration of external applications. Internally, we can refactor the older service collections (see diagram above) into fewer focused sets that identify key areas of support. This will clarify what data will be maintained by the DM and how transaction work flows can be defined. This means shifting the focus of the design towards business requirements codified as web services and bring the basic work flow into sharper focus. Services are grouped into three clusters that identify important system aspects and simply documentation. These are then used to define how applications are integrated into the DM and what options exist.

While the new architecture simplifies and clarifies the older architecture, it's important to understand that all previously defined capabilities are preserved. The following changes have been made in support of this effort:

  • Material Acquisition is now Resource, Resource List and Repository.
  • Submission is now a part of Repository.
  • Search remains augmented by Federated Search and Browsing.
  • Clearing payment is just one transaction supported. New transactions include fulfillment and delivery.
  • Identity and Profiles is joined by Preferences as a service.

Services are now clustered as shown here:

diagram of services

Although the diagram shows these clusters stacked, they are co-dependent on each other. Applications have access to any these DM services revealed via REST web service requests. Provisions are made to integrate the DM to Identity Management, Student Information, Registrar and other back office enterprise data systems.

Services are clustered in this way because there only three important things that need to be managed by the Digital Marketplace:

  • Resources
    • Finding and recommending them.
    • Guiding future selections via recommendations.
  • Transactions
    • Buying recommended items.
    • Paying for resources and getting them delivered.
  • People
    • Profiles, Preferences, Grouping and Access.

If we look deeper, we see that these three cluster of services break down into the essential services needed to support choice, accessibility, and affordability:

diagram of services

Resources include models of an individual resource, a list of resources, repositories and related functions. Transactions include a model of an item to be purchased, a shopping cart, a shopping bag (a container for things being fulfilled), financial accounts, and logging. Identity and Access services include unique DM identification, system accounts, preferences, user profiles, groups, and support for basic security (authentication and authorization). These services manage data either remotely (such as repositories) or locally (resource lists, log data, etc.).

Resource Services

Let's take a look at each service cluster in turn starting with resources:

diagram of service clusters

Resources are normally defined to be educational resources available to instructors and students, but can be included to virtually anything that can be accessed or acquired via the internet, including T-shirts, music, cosmetics, etc. From a systems point of view, these resources are kept in content repositories. To the student, these may look like sections of an on-line store. To an instructor, they might be special collections of curated content. The Digital Marketplace defines a standard way of describing each resource (via DM resource metadata) and associating it with one or more identifier. A number of different identification schemes are supported (ISBN, DOI, etc.). In some instances, the DM will create a record of it's own for a resource giving it a DM unique identifier. These records will include reference to an external repository and identifier(s).

Resources are collected and organized in two important ways: Repositories and Resource Lists. A repository allows external collections of content, product catalogs, etc. to be described in a manner that lets the DM treat them consistently. Digital repositories may vary widely in capabilities, organization, access protocols, size, etc. The DM hides these differences not only from the end users, but from applications seeking to integrate. Search and browse results are made available as resource records in a resource list.

Standardizing access to repositories also allows the Digital Marketplace to provide another important feature: layered metadata (http://en.wikipedia.org/wiki/Metadata). Digital repositories vary considerably in the quantity, quality, and specification of metadata. While many standards exist (Dublin Core, Learning Object Metadata, MLO, IMS-A4A, etc.) none of them capture the data needed to achieve all of the goals of the Digital Marketplace. As such, the DM provides away to "layer" additional metadata on resources residing in external digital repositories and search on them. This is particularly needed in the area of accessibility, which is lacking in many (most?) repositories.

Resource lists are used to represent search and browse results, but more importantly can be used to create recommended lists of resources to be associated with a course in an academic term. This allows a student to see what needs to be purchased at the start of a term for all registered courses.

Transaction Services

To achieve it's goal of improving the affordability of educational materials, the Digital Marketplace provides support for financial (and other) transactions. Here we see content discovered in various content repositories, collected into recommendation lists, purchased using a shopping cart, and fulfilled via shopping bag:

diagram of transaction services

To support acquisition transactions, the Digital Marketplace provides a purchase item service that wraps resource data with additional information needed to specify how it will be paid for, how it will be fulfilled, and how it will be delivered (shipped, downloaded, etc.). Purchase items are managed by two higher level services: the shopping cart and the shopping bag. Most people are familiar with the idea of a digital shopping cart these days. It allows the user to search for things to buy (shopping), collect interesting items along the way, and then provide the information needed to pay for the purchases and where to send them. The DM shopping cart provides more capability than a typical commercial shopping cart. Payment and delivery can be specified on a per-item basis, since some purchases may be covered by financial aid, some paid for out of a "points" account, and others by credit card. Similarly, the user may choose to pick up a purchase at the campus bookstore, download it directly (if digital), or have it delivered directly to a dormitory.

The shopping cart also provides support for "vendor neutral" shopping. The DM will provide a generic shopping application that will allow different sources for the same item to be identified allowing direct cost comparison. It will also encourage and support special offers like coupons, buy-one-get-one offers, discounts, etc. This does not preclude vendor focused shopping applications from being integrated and used with the Digital Marketplace, but it does provide more choices and competition between vendors.

diagram of shopping process

The idea of a shopping bag is probably less familiar. At a supermarket, purchases are transferred from a cart, scanned, and put into bags for delivery home. Payment is cleared when all purchases are scanned and totaled. The Digital Marketplace shopping bag is analogous to the supermarket sack. Items for purchase are collected and handed off to other services for payment clearance, fulfillment, and eventual delivery. The bag allows the status (payment, fulfillment, and delivery) of each item in it. In those cases where items can be accessed on-line and downloaded, it can be used to render appropriate access links. While a shopping cart goes away after shopping is complete, the shopping bag continues to exist to provide a lasting place to track status and access to on-line materials.

One key concept of the transaction services in the Digital Marketplace is that of transaction logging. Each step of the transaction workflow is recorded in a log entry that enables status to be monitored, later audits, problem resolution, and eventual analysis for aggregated demand and other business analysis. Use of DM services will generally create these log entries automatically, but integrated applications may also create and enter log entries directly.

Identity and Security Services

Finally, the Digital Marketplace provides support for identity, group, and security management:

diagram of security services

The Digital Marketplace requires that all users register with a DM instance and be given a DM user identifier. Very little personal information is required to maintain a DM identity (largely for FERPA reasons). This information includes:

  • Display Name
  • Sort Name
  • DM System user name
  • DM System password

Any additional information kept by the Digital Marketplace on it's services is strictly opt-in. Support is provided for an extensible set of user profile information that includes detailed name information, email addresses, street addresses, phone numbers, other system accounts (for single sign-on), etc. Because the Digital Marketplace will likely be a trusted enterprise application in a university IT system, it may be integrated with a campus identity management strategy (LDAP, Open Directory, etc.). In addition to user profile data, user preferences may be created and associated with users. Preferences can be clustered into named sets. Initially, two named sets of preferences will be created: personal data access and accessibility.

Groups of people are modeled using the DM Group service. All organizations, departments, courses, classes, sections, etc. are represented by groups. Some groups will consist only of other groups, which allows organizational hierarchies to be described without the overhead of large membership sets. Smaller groups, such as courses, classes, and sections will have person membership lists. Groups may be provisioned via integration with a Student Information System or other external group definition source (databases, etc.).

Digital Marketplace security is provided by two services: authentication and authorization. Authentication supports login validation against a system account. All DM users are required to have a DM System account at a minimum, but other accounts may be established (campus systems, vendor systems, etc.). System accounts contain an internet address, user name, and password. After a successful authentication to the DM system, a session is created for the user. Sessions provided statefull, threaded, user sessions on a DM (or other) server. Subsequent requests use the Session manager to switch to the user session using a session identifier stored in a cookie.

Access to Digital Marketplace features and functions is controlled by the DM Authorization service. Authorization is currently implemented using access control lists based on roles in groups. This greatly simplifies (and speeds up) authorization checks. As the DM system becomes more sophisticated and complex, the implementation can be improved to add finer degrees of control.

See also Digital Marketplace Documentation Outline