Digital Initiatives Home About the Digital Initiatives Services Research and Development Metadata Reports Ask Questions Virgo Catalog
University of Virginia
University of Virginia Library
Digital Initiatives: Research and Development

Fedora Disseminator Models

Signature
Servlet
Disseminations

A disseminator enables access to the datastreams contained in an object and consists of three subcomponents: signature, servlet, and attachment map. Each disseminator contains an attachment map (i.e., the datastreams that are "attached" to the disseminator) of those datastreams to which it has access. A disseminator also contains a mapping between each signature, to which the object subscribes, and its corresponding servlet. The signature contains the behavior descriptions used to define the possible behaviors provided by the disseminator and the servlet contains the implementation of those behaviors to execute each type of behavior. An object may contain one or more disseminators.

Examples:

Signature

A signature object is a special type of digital object that names a set of behaviors that a given object is able to perform. It has the same internal structure as an ordinary data object with the exception that the basis is defined in a specific manner. The basis for a signature object is comprised of one or more method descriptions each of which describes a behavior of the associated object. Each method description consists of the following:

  • Name - identifier for the behavior
  • Description - a high level description of the behavior
  • Parameter(s) -
    • Name identifier for the parameter
    • Description - a description of the parameter and how it is used
    • Type - type of the parameter (language independent)
    • Default Value - default value for the parameter (optional)
  • Type - type of the behavior (language independent)

In object-oriented terms, a signature is an abstract definition of an interface that is implemented by the servlet.

Servlet

A "servlet" is a special type of digital object that implements the behaviors described by a signature, in a specific setting. It has the same internal structure as an ordinary data object with the exception that the basis is defined in a specific manner. The basis for a servlet object is comprised of one or more behavior implementations defined as an "action". There is a one-to-one correspondence between each behavior implementation in the servlet and the behavior description in the associated signature. Each behavior implementation consists of the following:

  • Name - identifier for the behavior implementation
  • Description - a description of how this specific behavior is implemented
  • Parameter(s) - each method may contain zero or more parameters which consist of:
    • Name - identifier for the parameter
    • Description - a description of the parameter and how it is used
    • Type - type of the parameter (language independent)
    • Default Value - default value for the parameter (optional)
  • Type - type of the behavior implementation (language independent)
  • Communication Protocol - the communication protocol used by the behavior implementation
  • Action - a bytestream that executes the specific behavior using the specified communication protocol

In object-oriented terms, a servlet implements the interface defined by its corresponding signature.

Disseminations

A dissemination is the act of executing a specific behavior for a given object. In order to perform dissemination, one must be able to specify four components.

  1. URN name - an identifier for the object
  2. Signature name - a signature to which the object subscribes which describes the possible behaviors
  3. Behavior name - the name of a behavior in the given signature
  4. Parameter name/value pairs - zero or more parameter name/value pairs that may be required by the given behavior name

Given these four components, the repository software can execute the action specified in the corresponding servlet object and deliver the result to the requestor of the dissemination. The ability to perform disseminations in this manner is a key concept in the repository architecture.

Digital Initiatives
University of Virginia
PO Box 400112
Charlottesville, VA 22904-4112

Digital Initiatives Home • UVa Library Home
Search the Library Site • UVa Home
Maintained by: dl@virginia.edu
Last Modified: Monday, June 02, 2008
© The Rector and Visitors of the University of Virginia