# Technical Stack

!!!
In technology, a stack is a metaphor: a way of visualizing a collection of software systems used together to get work done.
!!!

![](/static/tech-stack-diagram.png)

## 3rd Party Software

- **Elasticsearch:** Acts as the search engine, providing powerful indexing and search functionality.
- **MySQL / Microsoft SQL Server:** Your relational database management system, used for structured data storage. We are agnostic.
- **Keycloak:** Manages authentication and authorization, handling user login, permissions, etc.
- **Kong Gateway:** An API gateway to manage traffic routing, authentication, rate limiting, etc., to different services.
- **GraphicsMagick:** A powerful tool for image manipulation, used for image processing, including watermarking and pyramid tiff (tiled zoom) creation.
- **ExifTool:** Extracts and manages metadata (like EXIF data) from images, used by GraphicsMagick for analysis or transformation.
- **Vips:** A powerful tool for image manipulation, used for image processing, including watermarking and pyramid tiff (tiled zoom) creation.
- **SSH** is used for secure communication between services, like accessing remote servers.
- **RSYNC** synchronizes digital assets between servers, and works securely over SSH.

## In-house Software

fully automated ingest and processing framework that integrates with your CMS and DAMS, ensuring data integrity, and efficient publication.

- **CIIM:** The beating heart of our suite, a fully automated ingest and processing framework that integrates with your CMS and DAMS, ensuring data integrity, cross linking, augmentation, validation, and efficient publication.
- **CIIM Management** is the administrative interface for CIIM, its data and API.
- **Rosetta:** Our public facing API Gateway that amongst many other things acts as a facade to Elasticsearch.
- **Proteus:** A data transformation language built on top of jsonpath.
- **Harvey:** Our heartbeat/uptime monitoring tool provides early alerts for potential issues in CIIM extraction and processing.
- **Cantaloupe** is an image server that supports deep zoom and the International Image Interoperability Framework (IIIF), enabling efficient serving, transformation, and interoperability of large images.

## Operating Systems

CIIM will happily run on both **Ubuntu** or **Windows**, whether **on-premises** or in the **cloud**.

## Visualise

![](/static/full-server.png)
