Skip to content

Architecture

André Jesus edited this page Jun 29, 2023 · 14 revisions

Architecture of PHYLOViZ Web Platform

The architecture of the PHYLOViZ Web Platform consists of a backend application, a frontend application, and a set of microservices. This section provides a high-level overview of the system's components and their interactions.

image

Frontend Application

The frontend application provides a user-friendly interface for data visualization and interaction. It consists of multiple pages and components and communicates with the backend application through a REST API provided by the Gateway. The frontend enables users to manage projects and datasets, upload files, execute computation tasks, and visualize results.

Gateway

The Gateway serves as an API Gateway responsible for routing requests to the microservices and providing cross-cutting concerns such as security, monitoring/metrics, and resiliency. It acts as an OpenID client for authentication, authenticating users using access management server capabilities. Once authenticated, the Gateway forwards requests to the appropriate microservice using the received Access Token.

Microservices

The backend application is composed of several microservices, each responsible for specific tasks and independent of others. The microservices communicate with data repositories and metadata storage based on the system's data model.

Administration Microservice

The Administration microservice handles projects and datasets management, including creation, retrieval, deletion, and editing. It communicates with data repositories and the metadata storage to perform these operations. The microservice supports operations such as creating, retrieving, editing, and deleting resources within projects and datasets, including distance matrices, trees, tree views, typing data, and isolate data.

FileTransfer Microservice

The FileTransfer microservice facilitates file upload and download for projects. It communicates with data repositories and metadata storage to manage files. The microservice uploads and downloads files to and from the data repositories, storing and retrieving corresponding metadata from the metadata storage.

Compute Microservice

The Compute microservice is responsible for executing phylogenetic analysis workflows. It coordinates the execution of tasks such as sequence alignment, distance matrix calculation, phylogenetic tree inference, and tree layout computation. The microservice communicates with multiple tools that perform these tasks.

image

Visualization Microservice

The Visualization microservice handles the visualization of results generated by phylogenetic analysis workflows. It visualizes typing data, isolate data files, distance matrices, and phylogenetic trees. The microservice ensures that previously applied transformations to the tree visualization are included for a consistent viewing experience.

Each microservice communicates with the appropriate data repositories and metadata storage to store and retrieve data, enabling efficient data processing, storage, and visualization. The modular architecture of the PHYLOViZ Web Platform offers scalability and flexibility, empowering users to perform various phylogenetic analysis tasks effectively.

For a more comprehensive understanding of the architecture, please refer to the Architecture chapter in the project report.

Clone this wiki locally