microprofile-link

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.

component-image

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.

component-image

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.

component-image

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.

badge-image
Fastest start-up
badge-image
Smallest JAR
badge-image
Fully cloud-native
badge-image
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

OrderResource.javapom.xmlpom.xml (MicroProfile)
@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.5.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>
    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-core</artifactId>
    </dependency>
    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-servlet-jetty</artifactId>
    </dependency>
    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-cdi-weld</artifactId>
    </dependency>
    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-jax-rs-jersey</artifactId>
    </dependency>
    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-jpa-hibernate</artifactId>
    </dependency>
</dependencies>
<properties>
    <kumuluz.version>3.5.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 2.2 -->
    <dependency>
        <groupId>com.kumuluz.ee</groupId>
        <artifactId>kumuluzee-microProfile-2.2</artifactId>
    </dependency>

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

THEY TRUST US

reference

Akrapovič

reference

Österreichische Sozialversicherung, Austria

reference

EBCONT group GmbH, Austria

reference

Cybergrid, Austria

reference

Everis, Chile

reference

Abanka

reference

Petrol d.d.

reference

Adriatic Slovenica

reference

Snaga

reference

Energetika Ljubljana

reference

ZZZS

reference

Government - Ministry of Public Administration

reference

Goverment - Ministry of Justice

reference

Poštna banka Slovenije

reference

MM turist

reference

Solvera Lynx

reference

IRC Celje

reference

Src

reference

Informatika d.d.

reference

Hardlab

reference

Tovarna podjemov

reference

Citytech

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.