Read-only mirror of https://github.com/jme-admin-ch/jme — Bundesamt für Informatik und Telekommunikation. Issues & pull requests at the source.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-21 15:17:36 +02:00
.gitignore JEAP-6284: Initial set-up of the JME umbrella repository. 2025-11-10 14:26:32 +01:00
CONTRIBUTING.md JEAP-6284: Initial set-up of the JME umbrella repository. 2025-11-10 14:26:32 +01:00
LICENSE JEAP-6284: Initial set-up of the JME umbrella repository. 2025-11-10 14:26:32 +01:00
publiccode_template.yml JEAP-6383 add organisation to publiccode.yml 2025-11-26 16:35:17 +01:00
README.md JEAP-7382 List the doc service example 2026-08-21 15:17:36 +02:00
SECURITY.md JEAP-6284: Initial set-up of the JME umbrella repository. 2025-11-10 14:26:32 +01:00
SECURITY.repo-template.md JEAP-6284: Initial set-up of the JME umbrella repository. 2025-11-10 14:26:32 +01:00

JME - jEAP Microservice Examples

Welcome to the jEAP Microservice Examples (JME) umbrella repository. JME provides a suite of example microservices designed to demonstrate the development of jEAP-based microservices. Each JME repository focuses on a specific jEAP functionality.

Purpose

The jEAP microservice examples offer developers a collection of ready-to-run microservices that demonstrate best practices for leveraging specific jEAP features. The examples address common challenges and cross-cutting concerns in enterprise application development.

Getting Started

This umbrella repository provides guidance on the individual jEAP microservice examples in the JME suite. Explore each example to see how specific jEAP functionalities can be applied to your projects.

License

This repository is Open Source Software licensed under the Apache License 2.0.

Repository List

Below you will find an overview of all repositories included in the JME umbrella, each with a short description of its focus and functionality:

  • jme-archrepo-example Example project demonstrating how to set up and run the jEAP Architecture Repository service.

  • jme-cdct-consumer-example jEAP microservice example demonstrating consumer-driven contract testing with Pact in a consumer.

  • jme-cdct-consumer-2-example jEAP microservice example demonstrating consumer-driven contract testing with Pact in a consumer using the Pact Java legacy DSL.

  • jme-cdct-provider-example jEAP microservice example demonstrating consumer-driven contract testing with Pact in a provider.

  • jme-cdct-segregated-consumer-example jEAP microservice example demonstrating consumer-driven contract testing with Pacts in a consumer (two API of same provider).

  • jme-cdct-segregated-provider-example jEAP microservice example demonstrating consumer-driven contract testing with Pact in a provider with segregated APIs.

  • jme-crypto-example Example project demonstrating how to use the jEAP Crypto Library.

  • jme-deploymentlog-example Example project demonstrating how to use the jEAP DeploymentLog Service.

  • jme-doc-service-example Example project demonstrating how to set up and run an instance of the jEAP Doc Service, including the OAuth mock server, the object storage and the database it needs, and an integration test uploading documentation.

  • jme-integration-test jEAP microservice example integration test support library, providing a re-usable test harness for JME examples.

  • jme-archive-type-registry Archive type registry containing JME archive types produced or consumed by JME services.

  • jme-index-type-registry Index type registry containing JME OpenSearch index types produced or consumed by JME services.

  • jme-jwe-example Example project demonstrating transparent JWE end-to-end encryption between an Angular frontend and a Spring Boot backend using the jEAP JWE starter.

  • jme-message-contract-service Example project demonstrating how to use the jEAP Message Contract Service.

  • jme-message-exchange-example Example project demonstrating how to use the jEAP Message Exchange Service.

  • jme-message-type-registry Message type registry containing JME message types produced or consumed by JME services.

  • jme-messaging-example Example project demonstrating how to use the jEAP Messaging Library with Kafka.

  • jme-monitor-example Example project demonstrating logging, distributed tracing and Prometheus metrics for jEAP microservices.

  • jme-object-storage-example Example project demonstrating how to use the jEAP Object Storage Library.

  • jme-opensearch-example Example project demonstrating event-driven indexing and authorization-aware OpenSearch queries with jEAP.

  • jme-process-archive-example Example project demonstrating how to use the jEAP Process Archive Service.

  • jme-process-context-example Example project demonstrating how to use the jEAP Process Context Service.

  • jme-reaction-observer-service-example Example project demonstrating how to use the jEAP Reaction Observer Service.

  • jme-security-example Example project demonstrating OAuth 2.0 and OpenID Connect authentication and authorization in jEAP microservices.

  • jme-security-oauth2-example Example project demonstrating plain OAuth 2.0 protected resources and clients using the jEAP security starter.

  • jme-server-sent-events-example Example project demonstrating anonymous and authenticated server-sent events in jEAP microservices.

  • jme-swagger-example Example project demonstrating how to document the REST APIs of a jEAP microservice with the jEAP Swagger starter.

Building a jEAP Microservice Example

jEAP Microservice Examples use Apache Maven for building and may include multiple microservices and additional Maven modules within a single example. To build all microservices and additional modules in an example, navigate to the example's root directory and run the Maven Wrapper script as shown below. This will compile all microservices and additional modules and install them to your local Maven repository:

./mvnw install

Note that jEAP microservice examples may require specific build prerequisites, such as a particular Java version. Always consult the example repository's README.md or pom.xml for detailed build instructions and requirements.

Running a jEAP Microservice Example

Before running a microservice, you will typically need to start the required services (such as databases and message brokers) using the Docker Compose file located in the ./docker directory. Navigate to this directory and execute the following command:

docker-compose up

Each jEAP microservice example provides a README.md with detailed instructions for running its microservices. In most cases, you can start a microservice by navigating to its directory and running the following command:

./mvnw spring-boot:run

Refer to a specific example's README.md for any additional configuration or setup required to run the microservices.

Reporting Security Vulnerabilities

If you would like to report a potential security issue in a JME repository, please follow the procedure described in SECURITY.md.

External contributions cannot be accepted currently

At this point in time, JME is released as open source software based on the EMBAG law.

We do not currently accept external contributions. Please refrain from providing code changes or pull requests as we are unable to accept them.

Contact

For questions, please contact the maintainers at jeap-community@bit.admin.ch.