Application Structure

Artifact Types

Learn about the different artifact types a Kinotic project can contribute -- from persistence and microservices to frontends.

Every project in a Kinotic application contributes one or more artifacts. An artifact is a typed output that the platform knows how to build, deploy, and manage. This page describes each artifact type and when to use it.

Persistence

The most common starting point. A persistence artifact defines your domain models (entities) and gets auto-generated CRUD services in return.

What you provide:

  • Entity classes decorated with @Entity and field-level annotations like @NotNull, @Precision, and @AutoGeneratedId.

What the platform provides:

  • Full CRUD operations (save, find, delete) with pagination and sorting.
  • Named queries derived from method naming conventions.
  • Automatic storage provisioning and indexing.

Persistence is typically the first artifact you create because it establishes the data model that the rest of the application builds on.

Microservice

A microservice artifact is long-running code that executes in a pod or VM. It publishes services that other parts of the application can discover and call through auto-generated proxies.

What you provide:

  • TypeScript classes that implement your business logic.
  • Service interfaces that you want to expose to the rest of the application.

What the platform provides:

  • Automatic service registration in the Service Directory.
  • Auto-generated proxy classes so other projects can call your service with a simple function call.
  • Lifecycle management, scaling, and health monitoring.

Use a microservice when your logic goes beyond simple CRUD -- orchestrating across multiple entities, calling external APIs, or running long-lived workflows.

Batch Job

A batch job artifact is code that runs on a schedule. It is ideal for periodic tasks like data aggregation, report generation, cleanup routines, or syncing with external systems.

What you provide:

  • TypeScript code that performs the job.
  • A schedule definition (cron expression or interval).

What the platform provides:

  • Scheduled execution with retry and failure handling.
  • Logging and observability for each run.

UI Component

A UI component artifact produces reusable building blocks that can be shared across multiple frontends within the application. Think of it as an internal component library.

What you provide:

  • Reusable UI components packaged for consumption by frontend projects.

What the platform provides:

  • Versioning and distribution within the application.

Frontend

A frontend artifact is a complete user interface that gets deployed as a static site. It consumes services published by other projects in the application.

What you provide:

  • A web application (built with any framework) that compiles to static assets.

What the platform provides:

  • Static hosting with CDN distribution.
  • Automatic connection to the application's services through the Kinotic client libraries.

Combining Artifact Types

Most real-world applications combine several artifact types. A typical setup might look like this:

ProjectArtifact TypeRole
dataPersistenceDefines entities and provides auto-generated CRUD services
servicesMicroserviceImplements business rules that orchestrate across entities
jobsBatch JobRuns nightly data aggregation
webFrontendThe main user interface

Each project is independently developed and versioned, but they all deploy as part of the same application and communicate through the Service Directory.

Copyright © 2026