Over the past decade, significant advances in digitization have led to the development of numerous new LIMS solutions for life science institutions and companies. These software systems cover a wide range of applications needed to run scientific core facilities - from instrument booking systems to sample tracking solutions and electronic lab notebooks. The diversity of software applications is also reflected in the application landscape of the Vienna BioCenter Core Facilities.
Ten years ago, we started looking for the "last unicorn" among laboratory information systems - a solution that could be used by all core facilities in our organization, a so-called "all-in-one solution". After several unsuccessful requirements and market analyses, we decided to change our LIMS master plan. For each core facility, we maintain or implement the best software solution in the field, the one that best meets the needs of the scientific unit and the expectations of its teams and users. We then began the process of connecting these applications with a newly developed middleware layer and called this service-oriented architecture "DataCube".
The DataCube is a new approach to LIMS that focuses on connecting and integrating existing software solutions rather than creating a new all-in-one LIMS. DataCube represents a new paradigm in laboratory information management that is more flexible, scalable, and adaptable to the diverse needs of scientific organizations. This approach is uniquely positioned to meet future laboratory information management challenges.
The main goal of DataCube is to collect, store and manage data from different core facility LIMS solutions using an extract, transform, load (ETL) approach. The transformed data is stored in a centralized data warehouse that serves as a single source of truth for reporting and billing systems. This approach enables better data management, analysis,and decision-making for the ViennaBioCenter Core Facilities.
Our Software Architecture
A microservice architecture is an architectural pattern that arranges an application as a collection of loosely coupled, fine-grained services, communicating through lightweight protocols. One of its goals is that teams can develop and deploy their services independently of others. This is achieved by the reduction of several dependencies in the code base, allowing for developers to evolve their services with limited restrictions from users, and for additional complexity to be hidden from users. As a consequence, organizations are able to develop software with fast growth and size, as well as use off-the-shelf services more easily.
Kubernetes is an open-source system for automating deployment, scaling, and managing containerized applications.
It groups containers that make up an application into logical units for easy management and discovery. By utilizing this technology we are able to side-scale our application virtually infinitely, allowing us to grow and adapt as much as needed.
The container orchestration provided by Kubernetes also means that downtime is non-existing or kept to an absolute minimum.
Keycloak is an open-source identity and access management with built-in support to connect to existing LDAP or Active Directory servers. You can also implement your own provider if you have users in other stores, such as a relational database.
Through our custom Keycloak connections we provide authentication and authorization for services within the Datacube cluster as well as external applications and websites.