Files
awesome-kubernetes/docs/java_frameworks.md
Inaki Fernandez f651d0c190 Sept 6th
2021-09-06 11:20:46 +02:00

29 KiB
Raw Blame History

Java and Java Programming Models. Open Source Microservices Frameworks

Java

How to migrate Java workloads to containers

Existing Java Implementations

Use Java 11

Java Collections Interview Questions

Java Programming Models (Frameworks)

  • Best Java Frameworks Solutions The best Java Frameworks vendors are Apache Spark, Spring Boot, Oracle Application Development Framework (Oracle ADF), Jakarta EE, and Open Liberty. Apache is the top solution according to IT Central Station reviews and rankings. One reviewer writes: "Fast performance and has an easy initial setup", and another reviewer writes: "Easy to use and is capable of processing large amounts of data". The 2nd best product is Spring Boot. A user writes: "Very smooth implementation; excellent features for monitoring and tracking network calls ", and another reviewer writes: "Makes it difficult to support a specific functionality in a user-friendly manner, but simplifies application deployment".
  • Open Source Microservices Frameworks (frameworks for microservices development):
Java Programming Model Technology Cloud Native (microservices) Platform
Java EE
Java EE at a Glance
Frontend + Backend
Java EE Monoliths
No Java EE Middleware Servers (WAS, WebLogic, JBoss EAP, etc)
Jakarta EE (Java EE renamed) Frontend + Backend Yes OpenShift, Kubernetes, etc
MicroProfile Backend (RESTful) Yes OpenShift, Kubernetes, etc
SpringBoot (Spring) Backend (RESTful) Yes OpenShift, Kubernetes, etc
Spring Cloud (Spring) Backend (RESTful) Yes OpenShift, Kubernetes, etc
Quarkus Backend (RESTful) Yes OpenShift, Kubernetes, etc
Thorntail Backend (RESTful) Yes OpenShift, Kubernetes, etc
etc

Jakarta EE

Eclipse MicroProfile

Server Vendors providing MicroProfile runtimes

Spring

SpringBoot

SpringBoot with Docker

SpringBoot Tools

High-level abstractions/tools to run SpringBoot application on kubernetes without having to write 10,000 lines YAML. Tools that can automate the generation of Kubernetes manifests, so you concentrate only on building your business logic. Dekorate even supports annotations spring-like @KubernetesApplication(name="my-app") in your code, that generates your deployment manifest yml:

  • odo CLI tool
  • Dekorate Java library, has a Spring Boot support
  • JKube Maven plugin
  • Skaffold --generate-manifests
  • Spring Cloud Kubernetes
  • testcontainers-spring-boot 🌟 Container auto-configurations for spring-boot based integration tests. If you use Testcontainers with Spring Boot Hoja balanceándose en el viento you may be interested in the Playtika_Ltd Testcontainers library that provides auto-configurations for springboot based integration tests. It contains modules e.g. for kafka rabbitmq mongodb
Demos

Spring Cloud

Spring Cloud Kubernetes
Spring Cloud Config and Spring Cloud Config Server
Secure Secrets with Spring Cloud Vault and alternatives
[![microservice arch](images/microservice_arch.png)](https://medium.com/javarevisited/10-free-spring-boot-tutorials-and-courses-for-java-developers-53dfe084587e)

Quarkus

Imagine needing to spend less😉
Guess what minimum heap size you need to run a @QuarkusIO 2.0 *on JVM* to run a simple CRUD endpoint? (no toy: including @Hibernate , @resteasy, Jackson, JTA transactions, DB connection pool, caching, @vertx_project ,Netty, CDI via ArC, ...)

— Sanne (@SanneGrinovero) July 2, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Kogito cloud-native business automation framework

Thorntail (aka WildFly Swarm)

  • Red Hat Thorntail is a framework based on the popular WildFly Java application server to enable the creation of small, stand-alone microservice-based applications. Thorntail is capable of producing so-called just enough app-server to support each component of your system.

Spring Boot VS MicroProfile

Quarkus vs Spring Boot

More Java Frameworks or Libraries

  • JPA streamer 🌟 JPAstreamer is a library for expressing JPA/Hibernate queries as Java streams. It can be also integrated with Spring.
  • logbook An extensible Java library for HTTP request and response logging

Java Testing Frameworks

I'm observing @QuarkusIO for a long time. I think it's time to consider migration from Spring Boot into Quarkus especially if you develop on the Kubernetes-native platform. You may expect some tips in the near future - smth similar to #SpringBootTip series some months ago.

— Piotr Mińkowski (@piotr_minkowski) September 2, 2021
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>