Skip to main content

jEAP Process Archive Service

The jEAP Process Archive Service (PAS) is a reusable microservice template for archiving artifacts that pertain to a business process — for example for audit purposes or because of business requirements. A PAS instance is built from the jeap-process-archive-* libraries and instantiated per business application.

Archiving is triggered by Kafka messages (domain events and commands). The data to archive is either derived from the message payload (event-carried state transfer) or fetched from a business service over its REST API (event notification). The PAS stores the data in an S3-compatible object store, optionally encrypts it, records retention via S3 lifecycle rules and object locks, and publishes a SharedArchivedArtifactVersionCreatedEvent for every archived artifact.

Documentation

Start with Getting started, then follow the links below.

TopicFile
Architecture (context, runtime view, modules)docs/architecture.md
Getting started (set up a PAS instance)docs/getting-started.md
Consuming messages (messages.json, providers, multiple artifacts)docs/consuming-messages.md
Archive-data REST interface (remote data, Avro over REST)docs/archive-data-rest-interface.md
Archive types (Avro & config-defined, validation)docs/archive-types.md
Archive Type Registry (schema repository, plugins)docs/archive-type-registry.md
Object storage (S3 connection, buckets, strategy)docs/object-storage.md
Data expiration & locking (retention, lifecycle, object lock)docs/data-expiration-and-locking.md
Encryption (data at rest, encrypted Kafka records)docs/encryption.md
Archived artifacts & events (listener, event, idempotence, feature flags)docs/archived-artifacts.md
OpenSearch integrationdocs/opensearch.md
Backfill jobsdocs/backfill.md
Reading archived datadocs/reading-archived-data.md
Metricsdocs/metrics.md
Configuration reference (jeap.processarchive.*)docs/configuration.md
Local development & testingdocs/local-development.md