Kirjaston sovellukset muuttivat toiselle palvelimelle – mitä se tarkoitti? | Library’s applications moved to a new server – What did it mean?

Itä-Suomen yliopiston kirjastolla on omalla verkkopalvelimella ylläpidossa kaksikymmentä sovellusta, jotka ovat jo vuosien ajan toimineet sujuvasti vain pienten päivitysten voimalla. Aika ajoin digitaaliset tuotteet tarvitsevat kuitenkin isompaa uudistusta ja toimintojen raikastamista. Jokunen tovi sitten meidät tavoitti tieto, että kirjaston sovellusten käyttämä palvelin täytyy päivittää tuoreempaan kokoonpanoon (Kuva 1). Isoimpina haasteina tunnistettiin mm. palvelimen käyttöjärjestelmän lisensointimuutokset ja eRepository-julkaisuarkistoamme pyörittäneen DSpace 5.x-ohjelmiston parasta ennen päiväyksen umpeutuminen.
Oli selvää, että palvelimen muutos vaikuttaisi lähes kaikkiin palvelimella ajettaviin sovelluksiin ja niiden tarjoamiin palveluihin. Siksi työpöydällemme tupsahtivat yhtä aikaa palvelimella ajettavien sovellusten ajantasaistaminen ja kokonaisuuden moninaisten palikoiden toiminnan varmistaminen uuden palvelimen vaatimusten mukaisesti. Nyt, kun isoin urakka alkaa olla takana, on hyvä kerrata ainakin pääpirteittäin, mitä tulikaan tehtyä ja miltä tulevaisuus näyttää.
Sovelluspakkamme voi jakaa päivitysten osalta kahteen leiriin
Jaoimme päivitysurakkaan kuuluneet sovellukset karkeasti ottaen kahteen joukkoon. Näin saimme asetettua laajemman päivitystyömme hallittaviin kokonaisuuksiin. Ensimmäiseen joukkoon kuuluivat nk. sekalaiset sovellukset ja lyhyehköt ohjelmanpätkät, kuten Paytrail-verkkomaksuja ohjaava ohjelma, sijaintiopas, yölainojen varausjärjestelmä ja muut vastaavat, suppeampaa kehittämistyötä odottavat toteutukset. Toinen joukko sisälsi yhtenäisemmän ja isomman urakan eRepositoryn ja siihen liittyvien ohjelmistojen ympärillä. Sovelluspakka on järjestelmäviidakon muodossa Kuvassa 2 — huomaat varmaan, että kyse ei ole ihan parista ohjelmasta.

Sekalaisella muuttajien joukolla on erilaisia tarpeita
Sekalaisen joukon kanssa eräs työmme kriittisistä vaiheista oli päivittää käyttämiemme ohjelmointikielten versiot tuoreempiin niin, että ne täyttävät uuden palvelimen vähimmäisvaatimukset. Päivityksessä koodien toimintaa ja syntakseja oli tutkailtava uudella tavalla. Periaatteessa kaikki toimi niin kuin ennenkin, mutta logiikka tuli sanoittaa uudelleen tuoreemman ohjelmointikieliversion mukaisesti. Siinä puuhassa virheilmoitukset tulivat tutuiksi!
Ohjelmointikielten lisäksi myös sovelluksiin liittyvät tietokantaohjelmistot päivittyivät. Niitäkin saimme ihmetellä hieman uusin silmin, sillä moni ratkaisu, joihin vuosien aikana oli päädytty ja sittemmin totuttu, toteutui nyt eri tavalla. Vaikka tietokantaohjelmistojen päivitys olikin kaikin puolin hyvä juttu, vaati käyttöönotto töitä, jotta myös tietokantojen asiat saatiin menemään haluamallamme tavalla.
eRepository pystytettiin tuoreemmalla DSpacella ja samalla päivitettiin oheissovellukset
Yhtenäisempi kokonaisuus muodostui eRepositoryn, kotoisammin eRepon, ympärille. eRepo on julkaisuarkisto ja verkkokäyttöliittymä yliopistossamme tehdyille opinnäytetöille, sarjajulkaisuille ja rinnakkaistallennetuille artikkeleille. Lisäksi eRepoon poimitaan metatietoja uefilaisten Etsimeen, Zenodoon, Dryadiin ja EUDATiin tallentamista tutkimusaineistoista. eReposta löytyy tällä hetkellä reilusti yli kaksikymmentätuhatta yksittäistä aineistoa, joten ihan pienestä paketista ei ole kyse!
Siirryimme DSpace 5.x-versiosta 7.x-aikakaudelle
Uudeksi eRepon järjestelmäksi valittiin Lyrasiksen tarjoama avoimen lähdekoodin DSpace 7.6.2-versio, joka on kehittyneempi versio meillä aiemmin olleesta 5.x-versiosta. Päivitystyöhömme kuului räätälöidä tuore DSpace ohjelmisto soveltuvin osin meille sopivaksi. Muutoksen haasteena olivat erot DSpace 5.x ja 7.x -versioiden välillä. Käyttäjälle selkeimpänä erona näkyy sovelluksen muuttunut ulkoasu (Kuva 3). Uusi ulkoasu puolestaan tahtoo kertoa siitä, että DSpacen käyttöliittymän teknologinen perusta on muuttunut. Tämä on yksi osa isompaa kehityskaarta, jossa DSpacen eri toiminnot (esim. frontend ja sen komponentit; backend) on eroteltu itsenäisiksi kokonaisuuksiksi.
Kuva 3. eRepon ulkoasu uudistui. Taustalla uudistui paljon muutakin.
Himmeli ja rajapinnat tukevat myös uudistuneen eRepon käyttöä

eRepon taustalla olevan DSpace-teknologian uudistuttua myös rajapintateknologia vaihtui täysin. Olemme tehneet jo aiemmin valinnan hoitaa DSpaceen tehtävät tallennukset erillisellä, rajapintoja hyödyntävällä työkalulla nimeltä Himmeli (Kuva 4). Vaikka käyttöönottoprojektin kohdalla erillisen työkalun sovittaminen uuteen toteutukseen tarkoittikin melko isoa työsarkaa, oli se uskoaksemme ketterämpi ratkaisu, kuin uudistaa järjestelmän lisäksi useamman julkaisutyypin osalta koko tallennusprosessi. Ja tämä on alunperin ollutkin erillisen käsittelyjärjestelmän yksi valttikorteista, vaikka itse julkaisuarkistoteknologia vaihtuisikin niin itse tallennusprosessi saadaan pidettyä vakiona.
UEF eRepoon tuleva aineisto on miltei poikkeuksetta lähtöisin jostain taustajärjestelmästä, joissa jokaisessa data on tallessa taustajärjestelmän näkökulmasta järkevässä muodossa (Kuva 4). DSpacen tapa tallentaa asiat on kuitenkin erilainen, joten tietoa tarvitsee välissä muuntaa toiseen esitystapaan ja itseasiassa aika monesti ihmisen tekemään päätöksiä. Nämä kaksi vaihetta olemme saaneet ulkoistettua DSpacen alta tallennusjärjestelmä Himmeliin, josta aineisto siirretään rajapinnan avulla DSpaceen.
DSpacen mukana tulevien rajapintatoteutusten avulla voimme viedä tietoja ulospäin kansallisiin palveluihin kuten Finnaan ja suuriin kansainvälisiin tietovarantoihin kuten OpenAIREen (Kuva 4). Tietojen vieminen näihin palveluihin parantaa yliopistossamme tehdyn tutkimuksen näkyvyyttä, löydettävyyttä ja saatavuutta.
Sovelluspakkaa päivitetään ja kehitetään jatkossakin
Vaikka testasimme uusia toteutuksia huolella kehittämisympäristöissämme, joitain mutkia on sattunut matkalle käyttöönoton jälkeenkin. Tämä tosin on aivan ymmärrettävää näin laajojen muutosten yhteydessä. Kuuntelemme edelleen herkällä korvalla muutosten mukanaan tuomia käytännön kokemuksia. Esimerkiksi hienosäätöjä on tehty ja kauneusvirheitä korjailtu yhteistuumin palautteen tuella, yhdessä käyttäjien kanssa.
Osa sekalaisen joukon järjestelmistä on silti kipeästi vailla laajempaa korjailua tai jopa kokonaista uudelleenkirjoittamista. Kaikkea emme voi tehdä kerralla, joten korjauspuuhat on laitettava tärkeysjärjestykseen. Priorisoinnin lisäksi pohdimme parhaillaan uutta toteutustapaa, jossa sovellukset ohjelmoidaan käyttäen valmista ohjelmistokehystä.
eRepon osalta on selvää, että jatkossa meidänkin on varauduttava aiempaa tiiviimpään päivitystahtiin. Esimerkiksi DSpacen ja Lyrasiksen viestinnän perusteella DSpace-versioiden päivitystahti on aiempaa huomattavasti tiuhempi. Tämä vaikuttaa toki meidänkin työhömme, esimerkiksi käyttöönottoprojektimme aikana DSpacen tuorein versio on vaihtunut 7.x:stä 8.x:ään ja beta-vaiheeseen ilmestyi juuri versio 9. Uusien DSpace-versioiden mukana tulee usein tarjolle myös uusia ominaisuuksia, joiden hyödyllisyyttä ja mahdollisuuksia on hyvä selvitellä huolella.
Kehittämistyön yhteydessä on onneksi muodostunut mukavasti omaakin dokumentaatiota työmme tueksi. Dokumentaation sivumäärää lienee mahdotonta laskea numeroina, koska kyseessä on monipuolinen notaatioiden, tekstien, pohdintojen ja kuvien sekoitus. Jaettu ohjeisto on yhteinen, vapaamuotoinen ja eläväinen kokonaisuus, joka auttaa eteenpäin erityistilanteissa, rutiininomaisissa ylläpitotoimissa, kehittämistyössä ja tulevaisuuden päivitysten teossa. Vai mitä olet mieltä, eikös Kuvassa 5 olevan muistiinpanoverkostomme seuraaminen ole varsin mielenkiintoista?


The University of Eastern Finland library maintains twenty applications in a webserver which have been running smoothly for years with only minor updates. However, every now and then digital products need upgrading together with refreshing the functionalities. Some time ago, we received information that the server used by the library applications needed to be updated to a new configuration (Figure 1). The biggest challenges of the update were changes in the licenses of the server’s operating system and the expiration of the best-before date for the DSpace 5.x software version that was running our eRepository publication archive.
It was clear that changing the server configuration would affect almost all our applications on the server and the services they provide. Therefore, we also had to update the related applications and ensure all components of the system performed their duties correctly according to the new server’s requirements. Now that the biggest work is behind us, it’s a good time to recap, at least in broader aspects, what we did and what is to come.
Our application suite was divided into two groups for updating
We divided the applications involved in the update task roughly into two groups. This grouping helped us to plan and tackle the update work in more manageable segments. The first group included miscellaneous applications and short programs, such as the Paytrail online payment program, location guide, night loan reservation system, and other similar implementations that don’t require extensive development. The second group consisted of a more cohesive and larger task around the eRepository and its related software. The application suite is in the form of a system jungle in Figure 2 — you can see we are not talking about just a couple of programs.

Diverse group of movers has different needs
When working with such a diverse group of applications, one of the critical phases was updating the versions of the programming languages to meet the new server’s minimum requirements. During the update, we had to rethink the functionality and syntax of the code. Basically, everything worked as before, but the logic had to be rewritten according to the updated programming language. Error messages became quite familiar in that process!
In addition to updating the programming languages, the library’s applications’ database software was also updated. We had to look at these with fresh eyes, as many solutions we had settled on and become accustomed to over the years were now implemented differently. Although the database software updates were beneficial, their new implementation required work to ensure that the databases functioned as we wanted.
Setting up eRepository with a newer DSpace and updating related applications
A more unified entity can be formed around the eRepository, known as eRepo. eRepo is a publication archive and public interface for theses, serial publications, and self-archived articles written at our university. Additionally, eRepo gathers metadata from datasets stored by UEF members in Etsin, Zenodo, Dryad, and EUDAT. Currently, eRepo contains well over twenty thousand individual items, so it’s not a small package!
We made a leap from DSpace 5.x to the 7.x era
The open-source DSpace 7.6.2 version offered by Lyrasis was chosen for our updated eRepo system. DSpace 7.6.2 is a more advanced version compared to the previous 5.x version we had online. The upgrade process involved customising and configuring the new DSpace software to meet our needs. One of the challenges were the differences between DSpace 5.x and 7.x versions. The most noticeable change for users is the application’s new look (Figure 3). This new appearance reflects the changes in the technological foundation of the DSpace interface. This is part of a larger development approach where various DSpace functions (e.g., frontend and its components; backend) are separated into more independent entities.
Figure 3. The eRepo interface has been refreshed. Much more has been updated behind the scenes.
Himmeli and APIs also support the use of the improved eRepo

When the DSpace technology behind eRepo was updated, also the API technology changed completely (Figure 4). We had previously decided to handle the recordings into DSpace with a separate API tool called Himmeli. Although adapting this separate tool to the new implementation meant quite a significant amount of work during the deployment project, we believe it was a more agile solution than renewing the entire recording process for multiple publication types along with the system. This has been one of the key advantages of having a separate processing system from the beginning. Even if the publication repository technology changes, the recording process can remain consistent.
The data stored and displayed in UEF eRepo almost always originates from some backend system, where each piece of data is stored in a format that makes sense from the perspective of the backend system (Figure 4). However, DSpace stores data differently, so the information needs to be converted to another format, where human decisions are sometimes required. We have managed to outsource these two steps from DSpace to the recording system Himmeli, from which the data is transferred to DSpace via an interface.
With the API implementations that come with DSpace, we can export data to national services like Finna and major international repositories like OpenAIRE. Exporting data to these services enhances the visibility, discoverability, and accessibility of the research conducted at our university.
Our application suite will be updated and developed also in the future
Although we carefully tested the new implementations in development environments, some minor issues have come to light in production. This is quite understandable given the scope of the changes. We continue to pay close attention to the practical experiences concerning the upgrade. For example, we have been fine-tuning smaller bits and pieces, and minor flaws have been corrected collaboratively based on feedback, working together with users.
Some of the miscellaneous programs are still in need of more extensive repairs or even complete rewriting. We can’t do everything at once, so the repairments and reforms need to be prioritised. In addition to prioritisation, we are currently considering a new implementation approach where applications would be created using a ready-made software framework.
Regarding eRepo, it’s clear that we need to prepare for a more frequent update schedule in the future. For example, based on shared information from DSpace and Lyrasis, the update frequency of DSpace versions is higher than before. This, of course, impacts our work as well. During our implementation project, the latest version of stable DSpace version changed from 7.x to 8.x, and version 9 has just appeared in the beta phase. New DSpace versions often come with new features, and it’s important to carefully explore their usefulness and potential.
Fortunately, during the development work, we’ve created a substantial amount of our own documentation to support ourselves. It’s probably impossible to calculate the number of pages in the self-made guide, as it’s a diverse mix of annotations, texts, reflections, and images. The shared guide is a collective, informal, and dynamic entity that helps us move forward in special situations, routine maintenance tasks, development work, and future updates. Don’t you agree that following our notes presented as bubbles in Figure 5 is quite fascinating?

Antti Laurila, tietojärjestelmäasiantuntija | IT-systems specialist
Verkko- ja julkaisupalvelut | Library IT and publishing services
Anni Tarkiainen, tietoasiantuntija | Information specialist
Opetus- ja tietopalvelut | Training and Information Services