Name of presenter: Dr.-Ing. David Zellhöfer
Current libraries are facing a new challenge. While first generation digital library systems are reaching their end of life, libraries and their IT partners have to commit themselves to migrate those systems and their data or to cancel services for scientific communities.
In contrast to typical cataloging and loan systems, (commercial) third parties often do not or no longer support those legacy database, research, and retrieval applications.
The Berlin State Library, one of Europe’s largest research libraries, is facing this challenge as about 20 of such legacy systems have to be migrated and adapted towards current scientific needs – or the related services have to be cancelled.
Another discriminative factor of such individual software systems from commercially supported IT applications is the genesis of these legacy applications: their development has been driven by librarians and researchers alone because qualified IT staff was not available due to different reasons. Moreover, the development of IT-supported library services was often funded with the help of project funding provided by research funding agencies. As a result, the sustainability and maintainability of the created monolithic software systems was often neglected while functional additions were added constantly if funding was available.
Frequently, this development approach resulted in complex applications, which are hardly maintainable and very complex to extend. As a consequence, needed innovations for the supported scientific services can no longer be implemented in a short period of time. Eventually, this innovation bottleneck yields disappointed researchers, librarians, and IT staff. In the last consequence, this will lead to the abandonment of a once respected library service.
To migrate such legacy software systems and to create sustainable value, the Berlin State Library is investigating state of the art techniques from software engineering to both satisfy user needs as well as technical parameters. In two proofs of concepts, the Berlin State Library has examined the utility of microservice architectures in combination with agile, user-centered design principles. Roughly speaking, the core idea behind the microservice approach is to abandon monolithic software systems in favor of “software suites” of small independent services. These microservices, e.g., providing authentication and authorization services, are then used by different library systems. Furthermore, microservices can be deployed and operated separately increasing, amongst others, stability and scalability of the associated library services.
During the evaluation phase, the Berlin State Library has gained valuable insights into the development of microservices in teams of librarians and IT staff. To be more precise, the agile development of software poses various challenges on current library staff that have to be addressed in order to build successful and sustainable future library IT systems. To give an example, the participation of librarians during the development process consumes more time but creates a more satisfying user experience of the resulting software system at the same time. Moreover, on the one hand, the development of microservices also complicates some aspects of actual programming, which – on the other hand- facilitates the administration, and maintenance of such services. At the organizational level, the introduction of a new approach towards software development leads to new forms of cooperation and acceptance between traditional library and IT staff. This talk will outline the results of the Berlin State Library’s evaluation of microservices and agile software development methodology mainly at the organizational level while on briefly touching technical aspects.