Architecture-oriented Criteria

Architecture-oriented Criteria

The following criteria have been selected to verify whether or not the ‘digital library’ conforms to the Digital Library Reference Model from the Architecture domain point of view.

 

MANDATORY
Regardless of the content, user, functionality, policy and quality characteristics of the ‘digital library’, the Digital Library System supporting its operation must meet at least the following criteria:
» The Digital Library System underlying the ‘digital library’ must have a well-defined Software Architecture.
The Software Architecture describes the digital library system enabling software by clearly defining how it is  structured in components, i.e. programmes, how they communicate and are interrelated to offer the digital library service.
» The Digital Library System underlying the ‘digital library’ must have a well-defined System Architecture.
The System Architecture is the conceptual model that defines the organisation and relations between the Hosting Nodes, i.e. the (virtual) hardware environments hosting and running the Software Components, and the Running Component, i.e. the running instances of a Software Component active on a Hosting Node.
» Every Architectural Component must have a unique identifier (Resource Identifier, identifiedBy).
The use of a persistent identifier ensures that each DL Architecture Component is distinguishable from the remaining ones in the context of the same Digital Library System.
» The Software Architecture must consist of (consistOf) at least one well identified Software Architecture Component.
The Software Architecture must include at least one Component, i.e. a software package, a web service, or a module, with well-defined interfaces, that encapsulates a set of related functions (or data).
» The System Architecture must consist of (consistOf) at least one Hosting Node and one Running Component.
The System Architecture of a DLS is implemented by a set of components (System Component) running on servers which act as Hosting Nodes. The resulting system organisation (i.e., Software Components used and resulting Running Components and Hosting Nodes) can evolve over the time. A single Running Component hosted by a single Hosting Node corresponds to the minimal System Architecture structure.


RECOMMENDED
Additional desired properties of a ‘digital library’ (its Digital Library System) are:

  • The ‘digital library’ service is deployed and operated by means of a Digital Library Management System.

The Digital Library Management System facilitates the set up and maintenance of DL Systems by offering facilities for their production and administration. These facilities also assure a well-defined Quality of Service for the managed DL Systems.

  • Every Software Component should be regulated by (regulatedBy) a Licence.

The Licence is particular policy which specifies the permission on use, re-use and modification of the Software Component.

  • The Software Architecture should be composed of more than one identifiable Software Architecture Components.

A component-oriented approach for digital library systems offers many advantages with respect to system building, openness, and evolution, and it is thus preferable to other solutions especially for large systems.

  • The System Architecture should be composed of more than one identifiable System Architecture Components.

A System Architecture based on a number of running components distributed on different hosting nodes offers many advantages with respect to system building, openness, and evolution, and it is thus preferable to other monolithic solutions especially when dealing with large systems.

  • Every Architectural Component should conform to (conformTo) a Framework Specification.

Architectural Components should interact through a Framework Specification. The Framework Specification prescribes the set of Interfaces to be implemented by the components and the protocols governing how components interact with each other. In so doing, it facilitates components composition and interoperability.

 

OPTIONAL
Finally, a ‘digital library’ (its Digital Library System) may also meet the following set of criteria:

  • Every Architectural Component, be it a Software Architecture Component or a System Architecture Component, may exploit (use) one or more other not conflicting (conflictWith) Architectural Components.

The exploitation of functionality offered by other components is a very common practice in software engineering. It reduces the complexity of the problem to be dealt with and favours reusability.