Tutorials and Quickstart Samples

Tutorials

Guides to help you get started with development.


Cloud-native Java EE Microservices with KumuluzEE: REST service using config, discovery, security, metrics, logging and fault tolerance

A goal of this tutorial is to develop a cloud-native Java EE microservice application, using KumuluzEE microservice framework and KumuluzEE projects.

Develop microservices with Java EE and KumuluzEE

This article explores the way the microservices can be used together with Java EE using KumuluzEE. It expands on the benefits and drawbacks compared to the monolithic architecture that’s popular in Java EE.


Quickstart Samples

Working examples ready for you to get started. All samples are avaliable on GitHub.


Java EE Microservices

Microservices simple

Simple example of splitting an application into microservices using KumuluzEE.

JAX-RS REST service sample

Develop a REST service using standard JAX-RS 2 API and pack it as a KumuluzEE microservice.

JAX-WS SOAP web service sample

Develop a SOAP web service using standard JAX-WS 2 API and pack it as a KumuluzEE microservice.

JPA and CDI sample

Develop JPA entities and use CDI within a REST service and pack it as a KumuluzEE microservice.

Java Server Faces (JSF) sample

Develop a sample JSF application and pack it as a KumuluzEE microservice.

Java Server Pages (JSP) and Servlet sample

Develop a sample JSP and Servlet and pack it as a KumuluzEE microservice.

Servlet sample

Develop a servlet using standard Servlet 3.0 API and pack it as a KumuluzEE microservice.

Websocket sample

Develop a websocket endpoint using standard WebSocket API and pack it as a KumuluzEE microservice.

Bean validation

Use bean validation within a REST service and pack it as a KumuluzEE microservice.

JAX-RS service over HTTPS

Develop a REST service using standard JAX-RS 2 API, expose it over HTTPS and pack it as a KumuluzEE microservice.

JUL sample

Build a REST service which utilizes the default logging implementation by java.util.logging to log basic information and pack it as a KumuluzEE microservice.



KumuluzEE projects

Logs sample with Log4j2 implementation

Build a REST service which utilizes a built-in logging framework with Log4j2 implementation to log basic metrics and pack it as a KumuluzEE microservice.

Logs sample with JUL implementation

Build a REST service which utilizes a built-in logging framework with JUL implementation to log basic metrics and pack it as a KumuluzEE microservice.

Config sample for built-in configuration sources

Build a REST service which utilizes a build-in configuration framework to access environmental variables and configuration files and pack it as a KumuluzEE microservice.

Config sample with etcd

Build a REST service which utilizes KumuluzEE Config to access configuration properties stored in etcd and pack it as a KumuluzEE microservice.

Config sample with Consul

Build a REST service which utilizes KumuluzEE Config to access configuration properties stored in Consul and pack it as a KumuluzEE microservice

Security sample with Keycloak

Build a REST service which utilizes KumuluzEE OAuth2 to secure the resources with Keycloak using standard Java annotations and pack it as a KumuluzEE microservice.

Security CDI sample with Keycloak

Build a CDI enabled REST service which utilizes KumuluzEE Security to secure the resources with Keycloak using standard Java annotations and pack it as a KumuluzEE microservice.

Discovery - register service with etcd

Develop a REST KumuluzEE microservice and register it with etcd.

Discovery - discover services in servlet with etcd

Develop a KumuluzEE servlet that discovers a microservice registered with etcd.

Discovery - discover services in JAX-RS service with etcd

Develop a REST service that discovers a microservice registered with etcd.

Discovery - Kubernetes sample with etcd

Deploy KumuluzEE microservices, which use Service Discovery to Kubernetes cluster.

Discovery - register service with Consul

Develop a REST KumuluzEE microservice and register it with Consul.

Discovery - discover services in servlet with Consul

Develop a KumuluzEE servlet that discovers a microservice registered with Consul.

Discovery - discover services in JAX-RS service with Consul

Develop a REST service that discovers a microservice registered with Consul.

Event Streaming with Kafka - produce Kafka messages

Develop a REST service that produces Kafka messages to selected topic.

Event Streaming with Kafka - consume Kafka messages

Develop a REST service that consumes Kafka messages of selected topic.

REST Sample

Expand the KumuluzEE JPA and CDI sample with REST query parameters.

CORS sample

Develop a microservice application with suport fot Cross Origin.

Fault Tolerance sample with Hystrix

Build a REST service which utilizes KumuluzEE Faul Tolerance to provide fault tolerance and latency tolerance to your code using the fault tolerance patterns in a KumuluzEE microservice.

Metrics sample

Build a REST service, pack it as a KumuluzEE microservice, and monitor its performance with KumuluzEE Metrics.

Health sample

Build a REST service which utilizes a built-in health framework to expose a health check and pack it as a KumuluzEE microservice.

MicroProfile Config sample

Build a JAX-RS service that utilizes the KumuluzEE MicroProfile Config API implementation to access configuration values and pack it as a KumuluzEE microservice.

Swagger sample

Develop a microservice application with support for Swagger specification.

OpenAPI sample

Develop a microservice application with support for OpenAPI specification.

Microservices with KumuluzEE MicroProfile 1.2

Build a microservice with Eclipse MicroProfile APIs implemented in KumuluzEE MicroProfile 1.2.

Reactive samples using Vert.x

Samples for KumuluzEE Reactive Vert.x project.

NEW! gRPC sample

Samples for KumuluzEE gRPC project.

NEW! GraphQL sample

Samples for KumuluzEE GraphQL project.

NEW! Ethereum sample

Samples for KumuluzEE Ethereum project.



KumuluzEE Documentation

Documentation describing how to use KumuluzEE is available on GitHub.


KumuluzEE microservice framework

KumuluzEE

Lightweight open-source framework for developing microservices using standard Java EE technologies and migrating Java EE to cloud-native architecture.

KumuluzEE wiki

Explore KumuluzEE samples. Read about configuration support. Read about TLS/SSL support. Read about Uber JAR support.

Uber JAR support

Uber JAR support - Pack and run microservice as uber JAR

KumuluzEE Config

File and environment variables

KumuluzEE Config with config server

Config server etcd/Consul

KumuluzEE REST

For implementation of common, advanced and flexible REST API functionalities and patterns. Includes support for exposing JPA entities through REST

KumuluzEE Logs

For advanced microservice framework for logging

KumuluzEE Discovery

For dynamic service discovery (etcd or Consul). Fully compatible with Kubernetes

KumuluzEE Metrics

For easy collection and reporting of performance metrics

KumuluzEE Security

For easy integration with OAuth2/OpenID identity and access management providers

KumuluzEE Health

For implementing health checks and exposing microservice health information

KumuluzEE Fault Tolerance

For implementing fault tolerance patterns with microservices including circuit breakers and decoupling microservices

KumuluzEE Event Streaming

For event streaming support using Apache Kafka

KumuluzEE CORS

For Cross-Origin Resource Sharing (CORS) support

KumuluzEE Swagger

KumuluzEE Swagger project provides powerful tools to incorporate and visualize the Swagger (OpenAPI 2.0) specification to your microservice.

KumuluzEE OpenAPI

KumuluzEE OpenAPI project provides powerful tools to incorporate and visualize the OpenAPI 3 specification to your microservice.

KumuluzEE Reactive

KumuluzEE Reactive project for developing reactive microservices.

NEW! KumuluzEE gRPC

Support for the gRPC framework.

NEW! KumuluzEE GraphQL

Developing GraphQL APIs.

NEW! KumuluzEE Ethereum

Support for seamless development of Blockchain applications on the Ethereum platform.

MicroProfile

MicroProfile Config 1.2

For microservice configuration.

MicroProfile Health Check 1.0

For service healthchecks.

MicroProfile Fault Tolerance 1.0

For fault tolerant microservices.

MicroProfile Metrics 1.1

For collection and reporting of performance metrics.

MicroProfile JWT Authentication 1.0

For role based access control using OpenID Connect and JSON Web Tokens.