- Java 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .mvn | ||
| docs | ||
| jeap-process-archive-adapter-crypto | ||
| jeap-process-archive-adapter-db | ||
| jeap-process-archive-adapter-kafka | ||
| jeap-process-archive-adapter-kafka-test | ||
| jeap-process-archive-adapter-objectstorage | ||
| jeap-process-archive-adapter-opensearch | ||
| jeap-process-archive-adapter-rest-api | ||
| jeap-process-archive-avro-maven-plugin | ||
| jeap-process-archive-avro-validator | ||
| jeap-process-archive-config-repository | ||
| jeap-process-archive-config-type-repository | ||
| jeap-process-archive-domain | ||
| jeap-process-archive-plugin-api | ||
| jeap-process-archive-remote-data-provider | ||
| jeap-process-archive-service | ||
| jeap-process-archive-service-config-only-it | ||
| jeap-process-archive-service-instance | ||
| jeap-process-archive-test-types | ||
| jeap-process-archive-type-registry | ||
| jeap-process-archive-type-registry-maven-plugin | ||
| jeap-process-archive-web | ||
| .gitignore | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| mvnw | ||
| pom.xml | ||
| publiccode.yml | ||
| README.md | ||
| SECURITY.md | ||
| setPomVersions.sh | ||
| THIRD-PARTY-LICENSES.md | ||
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.
| Topic | File |
|---|---|
| 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 integration | docs/opensearch.md |
| Backfill jobs | docs/backfill.md |
| Reading archived data | docs/reading-archived-data.md |
| Metrics | docs/metrics.md |
Configuration reference (jeap.processarchive.*) |
docs/configuration.md |
| Local development & testing | docs/local-development.md |
License
This repository is Open Source Software licensed under the Apache License 2.0.
Note
This repository is part of the open source distribution of jEAP. See github.com/jeap-admin-ch/jeap for more information.