Development Framework

Development Framework

The digital library universe is a complex world, which makes it difficult to identify a single and fully-fledged model capable of capturing all the aspects needed to represent this universe irrespective of the scenario this model is expected to serve. A proper model is though fundamental for the scenario leading to the development of real systems. This scenario is very broad and requires a comprehensive and detailed model capable of capturing the specifics of every entity in the universe at a level of detail that enables developers to implement it precisely. As a consequence, the resulting model should be broad enough to be re-used in a plethora of other scenarios including teaching and systems assessment. However, such a model may be difficult to use if it is not appropriately designed, so it needs to be tailored to address the specific needs of the audience it is intended for. For this reason, we envisage “the” model needed to capture the digital library universe and promote its implementation as a framework supporting modelling at different levels of abstraction. Such a framework encompasses the Reference Model, the Reference Architecture, and the Concrete Architecture.

Reference Model – As stated elsewhere (MacKenzie, Laskey, McCabe, Brown, & Metz, 2006), ‘A Reference Model consists of a minimal set of unifying concepts, axioms and relationships within a particular problem domain, and is independent of specific standards, technologies, implementations, or other concrete details’. Digital libraries need a corresponding Reference Model to consolidate the diversity of existing approaches into a cohesive and consistent whole, to offer a mechanism for enabling the comparison of different digital library systems, to provide a common basis for communication within the digital library community, and to help focus further advancement.

Reference Architecture – The Reference Architecture is an architectural design pattern indicating an abstract solution that implements the concepts and relationships identified in the Reference Model. There may be more than one Reference Architecture that addresses how to design digital library systems built on the Reference Model. For example, we might have one Reference Architecture for Digital Library Systems supporting Digital Libraries developed by federating local resources and multiple organisations, and another one for personal Digital Libraries or for specialised applications.

Concrete Architecture – At this level, the Reference Architecture is attained by replacing the mechanisms envisaged in the Reference Architecture with actual standards and specifications. For example, a Concrete Architecture may specify that the run-time environment deployed on the hosting nodes will be the Web Services Application Framework, and that a number of specific communicating Web Services will implement the Search functional component.

In terms of the relationship between these three frameworks with the general digital library universe, at the top there is the most abstract Reference Model, which guides the more specific Reference Architecture and Concrete Architecture further down. In turn, these should constrain the development and implementation of any actual system. The three reference frameworks are the outcome of an abstraction process that has taken into account the goals, requirements, motivations and, in general, the digital library market. Related work also includes best practices and pertinent research. When these frameworks are adopted and followed by the community, the resulting systems will be largely compatible with each other. Interoperability thus afforded will open up significant new horizons for the field.