Fedora Disseminator Models
|
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: SignatureA 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:
In object-oriented terms, a signature is an abstract definition of an interface that is implemented by the servlet. ServletA "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:
In object-oriented terms, a servlet implements the interface defined by its corresponding signature. DisseminationsA 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.
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. |