A lightweight open-source microservice framework.

Develop microservices with Java EE / Jakarta EE technologies and extend them with Node.js, Go and other languages. Migrate existing Java EE applications to microservices and cloud-native architecture.

Get startedPOM generator

KumuluzEE is Java Duke's Choice Award Winner

KumuluzEE has won the prestigious 2015 Java Duke's Choice Award. The Duke's Choice Award is the Java community equivalent of winning an Oscar. The award celebrates extreme innovation using Java technology.

KumuluzEE is part of MicroProfile

The MicroProfile is a baseline platform definition that optimizes Enterprise Java for a microservices architecture and delivers application portability across multiple MicroProfile runtimes.

Supports Java, Java EE / Jakarta EE, Node.js, Go and other languages

KumuluzEE supports Java, Node.js, Go and other programming languages. It also provides support for Blockchain, gRPC, GraphQL and many other advanced technologies.

What is KumuluzEE

KumuluzEE is a lightweight framework for developing microservices using standard Java, Java EE / Jakarta EE technologies and migrating existing Java applications to microservices. KumuluzEE packages microservices as standalone JARs. KumuluzEE microservices are lightweight and optimized for size and start-up time. They fit perfectly with Docker containers.

KumuluzEE also provides extensions for developing common patterns in cloud native architectures, including configuration, logging, discovery, circuit-breakers, metrics, security, event streaming and more.

Microservices with Java EE

A standard approach for deploying Java EE applications is packing all components into a single EAR/WAR archive and deploying the archive on the application server. This leads to monolithic architectures which make applications difficult to maintain and scale in cloud (PaaS) environments. The microservice architecture addresses these shortcomings by decomposing an application into a set of stateless microservices. Each microservice has a well-defined functionality and an interface for communication with other services.

Main features

KumuluzEE allows you to decompose Java applications into microservices and prepare them for the cloud-native architecture. It allows you to create standalone lightweight Java and Java EE / Jakarta EE microservices that can be efficiently deployed, executed and scaled in the cloud on PaaS and Docker-like environments or as standalone applications. It also supports other languages, such as Node.js, Go, and others.

KumuluzEE microservices have minimal footprint and require minimal or no configuration. KumuluzEE automates the tasks, related to the deployment and configuration of Java microservices, thus overcoming the major drawback of the microservice architecture and eliminating the need for an application server.

HIGHLIGHTS

Full support for Java SE and EE (Jakarta EE) with support for other languages, including Node.js and Go.

Fastest start-up
Smallest JAR
Fully cloud-native
Optimized for Docker and Kubernetes
Pure JavaEE microservices
Develop pure Java/JavaEE/JakartaEE based microservices using standard Java EE APIs and technologies and pack and execute them as stand-alone (Fat/Uber) JARs.
Configurable environments
KumuluzEE is not a traditional Java EE app server, neither does it embed an app-server inside microservices. It provides configurable Java EE environment inside stand-alone JARs, which only require JRE (Java Runtime Environment) to execute.
Standard EE APIs and tech
Develop microservices using standard Java EE APIs and technologies.
Open source
KumuluzEE is fully open, standard-based and extensible.
Leverage your existing knowledge
Leverage your existing Java knowledge and extend it to gradually migrate existing Java and Java EE applications to microservices and cloud-native architecture with common cloud-native patterns.
Zero lock-in
KumuluzEE is not for Java only. In addition to Java it provides support for Node.js and Go, with other languages coming soon.
Easy migration
Gradually migrate existing Java EE applications to microservices and cloud-native architecture.
Extended microservices
KumuluzEE allows you to extend your microservices with common cloud-native patterns.
Fastest start-up & small footprint
KumuluzEE generates pure, efficient Java microservices, which start considerably faster and have lower footprint than the majority of other Java microservice frameworks. Microservices are lightweight with small footprint, rapid start and container-ready.
Full cloud-native architecture and more
KumuluzEE provides full support for configuration, service discovery, health, logging, security, fault tolerance, circuit-breakers, event streaming, metrics, REST patterns and more. KumuluzEE microservices provide first-class support for API gateways. KumuluzEE also supports gRPC, GraphQL, Blockchain, event streaming and many other advanced technologies.
Classical Java EE application server
Part of your application can run as microservices and the rest of the application can continue to operate on your classical Java EE application server. KumuluzEE provides full interoperability for container authentication, CDI, remote EJB calls, remote JMS, data sources, etc.
Support for gradual migration
KumuluzEE provides full support for gradual migration of existing Java EE applications to the microservice architecture. Step-by-step migration is supported so that you can extract one or more services from existing application and migrate them to microservices.

EXAMPLE CODE

We're also bringing better support for Java 9 and above, with continuously increased streamlined modules support throughout the betas.

OrderResource.javapom.xml
@Path("/orders")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@RequestScoped
public class OrdersResource {

    @PersistenceContext(unitName = "books")
    private EntityManager em;

    @GET
    @Path("/{id}")
    public Response getOrder(@PathParam("id") Integer id) {

        BookOrder o = em.find(BookOrder.class, id);

        if (o == null) {
            return Response.status(Response.Status.NOT_FOUND).build();
        }

        return Response.ok(o).build();
    }
}
<properties>
    <kumuluz.version>3.0.0</kumuluz.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.kumuluz.ee</groupId>
            <artifactId>kumuluzee-bom</artifactId>
            <version>${kumuluz.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <!-- MicroProfile 1.2 -->
    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-microProfile-1.2</artifactId>
    </dependency>

    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-jpa-hibernate</artifactId>
    </dependency>
</dependencies>

THEY TRUST US

Akrapovič

Österreichische Sozialversicherung, Austria

EBCONT group GmbH, Austria

Cybergrid, Austria

Everis, Chile

Abanka

Petrol d.d.

Adriatic Slovenica

Snaga

Energetika Ljubljana

ZZZS

Government - Ministry of Public Administration

Goverment - Ministry of Justice

Poštna banka Slovenije

MM turist

Solvera Lynx

IRC Celje

Src

Informatika d.d.

Hardlab

Tovarna podjemov

Want to be listed here? Please contact us!

KumuluzEE

A lightweight open-source micro service framework.

This website uses cookies to improve user experience. By using our website you consent to all cookies.