View markdown source on GitHub

Architecture 08 - Galaxy Application Components: Models, Managers, and Services

Contributors

Questions

Objectives

last_modification Published: Feb 19, 2026
last_modification Last Updated: Feb 19, 2026

layout: introduction_slides topic_name: Galaxy Architecture

Architecture 08 - Galaxy Application Components: Models, Managers, and Services

The architecture surrounding Galaxy components.


layout: true left-aligned class: left, middle — layout: true class: center, middle


class: center

This section will talk about that manager layer and what lies below


There are many ways to describe and visualize the Galaxy server architecture, one is to imagine the Galaxy database as the ultimate source for Galaxy “stuff” and the API controllers as the ultimate sink.

In this architecture imagining of Galaxy, managers are the layer meant to mediate all controller interactions (and isolate the backend from the web framework) while the model layer is meant to mediate all database interactions (and isolate the backend from database internals).


class: center

Models and Managers


class: enlarge150

Services

Handle API and web processing details of requests and responses at a high-level.

Thin layer below the controllers to shield applciation logic from FastAPI internals.

In practice, it is totally fine to skip this layer and have FastAPI controllers talk directly to managers. Also in practice, there are many places where the controller or service layers are thicker than they should be - and these are anti-patterns that shouldn’t be followed.


class: enlarge150

Managers

High-level business logic that ties all of these components together.

Controllers should ideally be thin wrappers around actions defined in managers.

Whenever a model requires more than just the database, the operation should be defined in a manager instead of in the model.


class: center

Managers - Some Key Files

Key Managers


class: center

Managers - Some Helpers

Manager Helpers


Galaxy Models


class: center

SQLAlchemy Architecture


Galaxy Database Schema Migrations


More on Schema Migrations


class: center

Database Diagram

Galaxy Schema

https://galaxyproject.org/admin/internals/data-model/


class: center

HDA foor bar...


class: center

HDA Dataset


Dataset Metadata

Speaker Notes


class: center

HDAs and HDCAs


class: center

Workflows


class: center

Workflow Running


class: center

Libraries


class: center

Library Permissions

.footnote[Previous: Galaxy Task Management with Celery Next: Galaxy Plugin Architecture]

Key Points

Thank you!

This material is the result of a collaborative work. Thanks to the Galaxy Training Network and all the contributors! Galaxy Training Network Tutorial Content is licensed under Creative Commons Attribution 4.0 International License.