Rozwój oprogramowania
Sekcja Rozwoju Oprogramowania ICM tworzy nowoczesne i skalowalne systemy informatyczne wspierające współczesną naukę i otwartą komunikację wiedzy. Głównym obszarem naszej działalności jest rozwój i utrzymanie dużych repozytoriów publikacji naukowych oraz danych badawczych, obejmujących od setek tysięcy do dziesiątek milionów obiektów cyfrowych. Projektujemy rozwiązania pozwalające na gromadzenie, przetwarzanie i udostępnianie danych naukowych zgodnie z międzynarodowymi standardami otwartości, interoperacyjności i długoterminowej trwałości, realizując zarówno projekty krajowe, jak i międzynarodowe.
W obszarze naszych zainteresowań znajduje się również wyznaczanie i rozwój standardów wspierających naukę, w szczególności w zakresie formatów wymiany danych, interoperacyjności systemów oraz dobrych praktyk udostępniania publikacji i danych badawczych. Aktywnie uczestniczymy w inicjatywach krajowych i międzynarodowych, których celem jest ujednolicanie sposobów opisu, integracji i ponownego wykorzystania zasobów naukowych.


Jakość i nowoczesne technologie
W centrum naszej pracy znajduje się jakość wytwarzanego oprogramowania. Zespół tworzą w większości doświadczeni programiści, którzy łączą wieloletnią praktykę projektową z dobrą znajomością współczesnych metodyk wytwarzania oprogramowania. Przywiązujemy dużą wagę do czytelności, spójności i długowieczności kodu – tak, aby rozwijane systemy były łatwe w utrzymaniu, bezpieczne i odporne na błędy.
W tym celu wypracowaliśmy i konsekwentnie stosujemy zbiór dobrych praktyk inżynierskich, obejmujący m.in. automatyczne testy, code review oraz systemy ciągłej integracji i wdrożeń. Pracujemy w oparciu o nowoczesny stos technologiczny, w którym kluczową rolę odgrywają Java i Spring, uzupełnione o relacyjne i nierelacyjne bazy danych (m.in. PostgreSQL, MongoDB, HBase, Cassandra), technologie wyszukiwania, systemy obiektowego składowania danych oraz narzędzia frontendowe.
Dzięki pracy nad repozytoriami o bardzo dużej skali sekcja posiada praktyczne, operacyjne doświadczenie w technologiach Big Data. Wykorzystujemy rozwiązania takie jak Hadoop i Apache Spark, a także rozproszone systemy plików i bazy danych, co pozwala nam projektować systemy o wysokiej wydajności, odporności na awarie i możliwości dalszej rozbudowy.
Wybrane projekty
- Platforma Polskich Publikacji Naukowych
Ogólnopolski system gromadzenia i udostępniania setek tysięcy otwartych publikacji naukowych, wspierający rozwój otwartej nauki w Polsce.
https://bibliotekanauki.pl - Repozytorium Otwartych Danych
Największe w Polsce repozytorium danych badawczych, oparte na rozwijanej w ICM wersji platformy Dataverse, obsługujące różnorodne dziedziny nauki.
https://repod.icm.edu.pl - Diamond Discovery Hub
Europejski indeks czasopism diamentowych, umożliwiający weryfikację, agregację i zarządzanie danymi o czasopismach zgodnie z europejskimi standardami.
https://ddh.diamas.org - OpenAIRE
Międzynarodowy system Big Data przetwarzający dziesiątki milionów publikacji naukowych, rozwijany we współpracy z wiodącymi ośrodkami badawczymi w Europie.
https://openaire.eu - SpiBirds
Międzynarodowerepozytorium danych ornitologicznych rozwijane we współpracy z Netherlands Institute of Ecology
https://repository.spibirds.org - Global Air Transport Optimiser & FSIG
Zaawansowane systemy analizy i przetwarzania bardzo dużych strumieni danych lotniczych, realizowane we współpracy z ICAO.
https://gato.icm.edu.pl
