Engage Services Layer

Overview

The Engage services layer consists of a collection of Web-based services and data feeds that tie together a variety of back-end systems, exhibit content, and other Web resources. This layer is designed to offer an easy way to combine resources, both from inside the museum and from the Web at large, into a seamless exhibit experience.

Engage takes a different approach to data. We recognize that every collection is different, and there are diverse schemas and formats for representing objects in an exhibit. Instead of trying to get everyone to standardize on one single schema, the Engage services layer takes a document-based, schema-less approach. Data is stored and shared in an extensible and adaptable way, and is searchable using a variety of indexed and free-text queries.

Web-Oriented

The Web is integral to Engage's services layer. Architectures built on the Web are:

  • Standards-based
  • Highly interoperable
  • Scalable
  • Approachable and familiar

All of the services in Engage are RESTful, providing meaningful resource-based URLs that respond to the standard HTTP actions for getting, creating/updating, and deleting resources. We use JSON as a common data format, ensuring that these services are easy to program with and are suitable for mashups and client-side programming in JavaScript.

Core Services

  • Data Import
  • Exhibit Data Feed
  • Search

A primary service is the Data Import, responsible for importing information from collection and content management systems into the Engage ecosystem. Typically, data will be exported from an in-house CMS using any XML or comma-delimited format. The data importer will then convert this into a very simple JSON format suitable for being saved and shared by the Exhibit Data Feed.

The Exhibit Data Feed provides a central service for querying, retrieving, and saving data across the Engage services layer. Using a RESTful interface, this data feed represents a repository for exhibit information stored in JSON format, making it easy for client-side user interfaces to work with.

Search provides robust free-text searches, allowing users to search and find information about objects and the exhibit in a natural way.