Mosaic Glossary

Mosaic Glossary

The table below explains some key terms used in documentation.

General Mosaic Terms

Term Definition

Core Services

Services that are necessary for Mosaic Platform to operate, such as orchestration, identity, authentication, authorization, reporting.

Managed Services

Services that are developed and operated by Axinom, for example, Image Service, Video Service, and DRM Service. They are also called SaaS. See Managed Services for a full list and Service Types in Mosaic for an overview of the service types.

SaaS

Software-as-a-Service, see Managed Services.

Customizable Services

Services that are provided by Axinom in source code under an open-source license and can be used as-is or with individual customization, for example Media Service, Catalog Service, Entitlement Service. See Customizable Services for a full list and Service Types in Mosaic for an overview of the service types.

Mosaic Platform

Modular, service-oriented platform that allows you to create powerful and flexible backend solutions. It provides you with everything you need to build up your tailored digital asset management and deployment. The main parts of the Mosaic Platform are: Core Services, Managed Services, Customizable Services, Media Template.

Microfrontend

A frontend part of a service. A package that extends the Management System with features like Stations, Home Tiles, or Extensions.

Microservice

A backend part of a service. Typically provides a set of APIs that can be used by the corresponding Microfrontend or other consumers.

Service

A logical construct containing a Microservice and a Microfrontend of a specific domain.

Frontend Extension

A React component that is registered by a Microfrontend so that other microfrontends can use it.

Home

A Microfrontend providing the landing page experience in the Management System. It registers the / route. Other microfrontends can register tiles displayed by Home.

Navigation

A Microfrontend providing the navigation panel in the Management System. Navigation is always accessible using a hamburger icon in the top left corner.

Access Management

A Micro-fontend of the Identity Service, providing workflows for managing Users, User-Roles, Service accounts and their permissions.

Station

A page inside the Management System, defined by a Microfrontend. There are a few standard station types, such as Explorer and Details, but also a Custom Station.

Management System

The base application that is orchestrating the microfrontends, handling authentication and defining the basic shell of the Management System. Editors use the management system to manage content.

Mosaic Media Template

A collection of open-source customizable services representing a possible over-the-top solution. It can be used as-is or freely customized to fit project requirements.

Entity

A single record of an Entity Type

Asset

A special form of an Entity Type that is based on a file, e.g. an image or a video file.

Entity Type

An object type managed in the Mosaic Platform solution. It consists of a data schema, certain API endpoints and specific workflows. Examples: Video, Image, Movie, TV Show, Season, Episode,

UI Library

Synonym for the @axinom/mosaic-ui library

Storybook

A playground application to see and test out the components of the UI Library in different use-cases. (https://mosaic-storybook.axinom.net/)

Mosaic CLI

A command line application that contains various commands aimed to help developers. Delivered as @axinom/mosaic-cli library.

Frontend

All pieces running in the Management System web application. It must be distinguished from an End-User Frontend, which is an application the End-Users use.

Backend

The microservice of a Mosaic solution.

End-User Frontend

The frontend that End-Users will use to browse your content.

User

Every person using the Management System. It must be distinguished from the End-User accessing End-User Frontend.

End-User

The users that consume the generated content that editors created on their devices.

Ingest

The process of (bulk) importing data into the system. This feature is implemented by the Media Service

Publication

The process of releasing a snapshot of an entity for example to a catalog service, in order to make it visible for End-User Frontends.

Snapshot

A snapshot captures the state and data of an entity at the time of snapshot creation. Snapshots are used by the Publication process to publish that snapshotted state e.g. into the Catalog Service.

Developer

A person developing customizable services in the customizable solution

Environment Administrator

A person that manages the environments of a tenant, using the Admin Portal

Super Admin

The root user of an environment. This user will always have all possible permissions on the environment.

Tenant

To get started with developing a Mosaic Platform solution you need to register an Account with Axinom. Axinom will in return tell you the Tenant ID, which you can use to sign in to the Admin Portal. A Tenant can create multiple Environments. Environments are always scoped to a specific tenant. A Tenant has a Tenant Id - a unique identifier of your tenant - provided by Axinom upon registration.

Environment

A logical construct that allows data isolation in the managed services as well as platform services. Each operation executed on a managed service will be specific to one environment. Only data of this environment will be included in queries and mutations. Environment Id - a unique identifier of your environment.

Piral

A Microfrontend framework used by the Mosaic Platform. It is based on React and provides a set of tools to build and deploy microfrontends.

Pilet

A Microfrontend built using the Piral framework. It is a React application that can be deployed to a Piral instance.

Piral Instance

The shell application that hosts the Microfrontends.
It provides the basic layout and navigation of the Management System as well as the authentication and authorization. It also provides the microfrontends with a set of APIs that they can use for registering their shared components and for communicating with each other.
More details on the API and concepts behind them can be found in the documentation of the @axinom/mosaic-portal package.

Mosaic Components

Managed Services

See also: Managed Services

Table 1. List of Managed Services
Service Description

DRM Service

Protect your digital video assets with a multi-DRM solution that can be implemented on cloud or on premise. Axinom DRM is a scalable, robust, and globally distributed set of services. These services enable customers to securely manage content encryption keys and protect media with the world’s leading DRM technologies.

Encoding Service

Ingest, encode/transcode videos utilizing technologies such as CMAF (DRM supported)

Video Service

Ingest, encode/transcode videos utilizing technologies such as CMAF, protect using DRM

Image Service

Ingest, query, preview, manage and transform images for editing and frontends

Localization Service

Manage languages and create translations for your digital media assets

User Service

Sign up end users with user authentication APIs for all your frontend apps

Personalization Service

Maintain user-specific data like profile, settings, favorites, watch-progress, etc.

On-Board Cloud

Manage, deploy, and integrate software services and content on board a transport vessel

Sync Service

Securely synchronize content and service data between on ground and on board servers with standardized protocols and channels

Delivery Set Service

Delivery Set service enable management of all Software Packages and Content Volumes ingested to the system, for example to tag, to publish, to archive

AxAuth Service

Mosaic’s own Identity Provider, which maintains user identity and profile directly as a part of an Environment, without the need of a 3rd party integration

Customizable Service

Table 2. List of Customizable Services
Service Description

Media Service

Manage video assets and metadata for TV shows, movies, linear streams, etc., with integrated image and video workflows.

Catalog Service

Expose catalogs of media entities such as movies, TV shows, seasons, episodes, etc., for the frontend apps.

Entitlement Service

Provides entitlements for the video playback requests. The generated entitlement message can be exchanged for a valid DRM license by the Axinom DRM License Service

Monetization Service

Create business models like AVOD, SVOD, TVOD, pricing, and currencies

Billing Service

Process subscription transactions, TVOD purchases, and automatic billing through API and frontend integrations

Channel Service

Managing channels and playlists for streaming media content.

Content Set Service

Create and manage sets of TV shows, movies, linear channels, shop content for vessels, fleets, etc.

Fleet Service

Target content sets, data, and service packages to a vessel (such as aircraft, train, bus) or fleet of vessels

Core Services

See also: Core Services

Table 3. List of Core Services
Service Description

Identity Service

Provides user authentication and permissions using 3rd party Identity Providers using OAuth 2.0, such as Google.

Management System Service

Serves the Management System to the users.

Microfrontend Service

Hosts the Microfrontends for each environment. Serves the microfrontends to the Management System of a specific environment.

RabbitMQ Cluster

Provides messaging infrastructure for all services.

Hosting Service

Provides capabilities for deployment and hosting of customizable/custom services.

Other Components

Component Description

Admin Portal

The frontend application of the Identity Service. Developers and administrators use this application to setup and configure environments.

Axinom Portal

Self-provisioning portal for managing your Axinom account, tenants, environments, and services. Central point of contact with Axinom products.

3rd party tools and components

See also: Technology Stack

Term Definition

Node.js

https://nodejs.org/ - JavaScript runtime, the most popular tool for running server-side applications

TypeScript

https://www.typescriptlang.org/ - extends JavaScript by adding types.

GraphQL

https://graphql.org/ - a query language that allows clients to mutate and fetch exactly (and only) the data that they need. All Mosaic Services expose their APIs as GraphQL APIs. GraphQL offers clients a type-safe way to consume the APIs.

RabbitMQ

https://www.rabbitmq.com/ - a message broker for reliable and flexible messaging to easily integrate multiple microservices. See Messaging

React

https://reactjs.org/ - declarative and flexible JavaScript library for building complex UIs from small and isolated pieces

Piral

https://www.piral.io/ - a framework enabling microfrontends

PostgreSQL

https://www.postgresql.org/ - an open-source relational database with good support for JSON, column, and row-level security and many other features

PostGraphile

https://www.graphile.org/postgraphile/ - a tool that exposes PostgreSQL database as a GraphQL API in a simple way

Visual Studio Code

https://code.visualstudio.com/ - free and source-code editor. Axinom recommends to use a set of extensions for optimal support for the technologies used

Storybook

https://storybook.js.org/ - a tool for developing UI components in isolation and testing them on the fly. See Mosaic Storybook)

TypeDoc

https://typedoc.org - TypeDoc converts comments in TypeScript source code into rendered HTML documentation or a JSON model. See Mosaic Typedocs.

Jest

https://jestjs.io/ - JavaScript Testing Framework, well-integrated with TypeScript, Node.js, and React

Yarn

https://yarnpkg.com/ - package manager with some advantages compared to NPM, especially for big projects.

eslint + prettier

https://eslint.org, https://prettier.io/ - Linting and code formatting tools to ensure consistent code style and quality.

Express

https://expressjs.com/ - Web framework for Node.js.

Zapatos

https://jawj.github.io/zapatos/ - Zero-boilerplate TypeScript ORM for PostgreSQL.

Graphile-migrate

https://github.com/graphile/migrate - Declarative database schema migration tool.

Graphile-worker

https://github.com/graphile/worker - High-performance Node.js/PostgreSQL job queue.

Graphql codegen

https://graphql-code-generator.com/ - Generates code from GraphQL schemas and operations.

Rascal

https://www.npmjs.com/package/rascal - Enterprise messaging for Node.js using RabbitMQ.