1, Spring the Boot

Java has been building Spring applications for a long time, and Spring Boot is a specific version of Spring that makes microservice building easier by handling configuration details. Spring Boot is created to self-start any type of Spring project, not just microservices. When the application is complete, Spring Boot will be mixed in the Web server and output a JAR file, excluding the JVM. You can think of it as the original Docker container. This is why many developers responsible for building microservices love Spring Boot.

Developing microservices using Spring follows the same MVC philosophy as Web applications. The framework enjoys all the deep connections established over the years of Java development, including the integration of all primary and secondary data stores, LDAP servers, and messaging tools such as Apache Kafka. There are also many small features for maintaining collections of running servers, such as Spring Vault, which is a tool for maintaining passwords required by servers in production. All of these advantages explain why Java programmers have loved Spring Boot for years.

2, the Eclipse MicroProfile

In 2016, the Java Enterprise community decided to clean up Java Enterprise Edition so that people could build simple microservices using classic widgets. They got rid of a lot of libraries, but kept the code for processing REST requests, parsing JSON, and managing dependency injection, eventually called Eclipse MicroProfile, which was fast and simple.

Since then, the MicroProfile community has developed a protocol to release a new version every quarter, while adding new code to keep microservices running smoothly and safely. Any Java EE developer will be familiar with the development process and code structure, and will not have to worry about configuration.

3, Dropwizard

When Dropwizard was introduced in 2011, the Dropwizard framework provided a very simple model for developers. It contained many important modules that you could add business logic or configure on demand, and you would find that the JAR files were very small and could be launched quickly.

Dropwizard’s biggest limitation is probably its lack of dependency injection. Unlike Spring, you’ll need to add your own libraries if you want to use dependency injection to keep your code clean and loosely coupled, but Dropwizard now supports most of the features, including logging, health checking, and providing elastic code.

4, WildFly Thorntail

The Red Hat folks built their own version of MicroProfile using a flexible configuration tool. The framework was originally called WildFly Swarm, but has since been renamed WildFly Thorntail, which helps you create your Own Maven build files by specifying the required features, and Maven then takes care of assembling everything.

Thorntail will also scan code to detect components, which can also be overridden using a BOM(Bill of Materials) file. When it’s all running, Thorntail removes unused parts of Java Enterprise Edition and creates a tiny JAR file that can be deployed with a single command — a very neat feature, Allow the Thorntail project to call it Uber-JAR. This is another traditional approach to Java Enterprise Edition that doesn’t retain all the heavy lifting.

5, Helidon

Helidon ditched the Java Enterprise Edition, retaining its lightweight, servlet-based core and attracting a huge following. In Helidon, the developers from Netty, and add code for routing and error handling. It takes two basic models of the code, the so-called SE and MP versions.

Node developers may be more familiar with Helidon SE because of its function calls connected by periods. Java programmers who use JAX-RS are more familiar with Helidon MP. In addition, Helidon has a number of well-regarded tools integrated into it, which is why it has attracted so many developers.

6, Cricket

Another framework for fast API development is Cricket. Cricket is small, although it includes a lot of extra features, such as key-value data stores, to avoid connecting to databases and schedulers to control back-office reprocessing. No complexity or other dependencies were added, so it was easy to add code to Cricket and start standalone microservices.

7, the Jersey

One of the standard ways to develop Web services is the Java API for RESTful Web Services (aka JAX-RS), a common specification implemented in the Jersey framework. This approach relies heavily on using annotations to specify the path map and return details. Everything else, from parameter parsing to JSON packaging, is handled by Jersey.

The main advantage of Jersey is that it implements the JAX-RS standard, a feature that is so popular that some developers are accustomed to using Jersey in conjunction with Spring Boot.

8 Play.

One of the best ways to experience the JVM’s cross-language capabilities is to use the Play framework, which is compatible with Java or any other JVM language. Its foundation is very modern, with an asynchronous, stateless model that doesn’t overload the server with threads trying to track users and their session data. There are many additional features that can be used to enrich the site, such as OpenID, authentication, and file upload support.

The Play codebase has been around for more than a decade, so you’ll still find older features like support for XML. Play is mature and light, this combination is more distinctive.

9, Swagger

Building an API seems as simple as writing code to listen to a port, but Swagger’s developers don’t see it that way. They have created a full API specification language, OpenAPI, that you can use to illustrate your API. This may seem like an extra step, but the Swagger team also provides code to translate this specification into automated tests, documentation, and so on.

The API in the Swagger profile is simple, implementing the interface, documenting the interface, providing a set of tools to test the code built under it, and even an API governance mechanism.

Swagger is an API ecosystem that is not limited to Java. If your team migrates to Node.js or any of dozens of other languages, there is a Swagger Codegen module that converts the OpenAPI specification into an implementation of that language.

10, the Restlet

One of the biggest differences between frameworks is the number of connections to other services or libraries. The Restlet project provides a much larger set of features and connections, which have been integrated with libraries like JavaMail to avoid microservices requiring POP, IMAP, or SMTP for some mail servers; Lucene and Solr are also integrated to prevent building large amounts of text indexes and metadata.

There are many more features in Restlet that are under continuous development. For example, you don’t need JSON because it can handle XML, CSV, YAML, and a few other file formats directly, and it also allows users to test apis from the Chrome browser.

                                                                                                                                              _________________end______________________
Copy the code

This article is published by OpenWrite!