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

Back to top