New specification for MicroProfile 6.0, aligned with Jakarta EE 10
Published on Jan 18, 2023
MicroProfile 6.0 has been officially released by the MicroProfile Working Group in a major move for the Java community. As part of this forthcoming release, several key specifications will be updated, including Metrics, JWT Authentication, Open API, Reactive Messaging, and Reactive Streams Operators. MicroProfile community sees this release as a major step forward and bringing significant advancements to the Java ecosystem.
Jakarta EE Core Profile
Jakarta EE Core Profile is a new profile introduced with Jakarta EE 10, designed for developers interested in building modern cloud applications with a minimal set of APIs that support microservices. Profile contains seven (7) specifications:
Jakarta Annotations 2.1
Jakarta Contexts and Dependency Injection (CDI) 4.0 (CDI Lite section)
Jakarta Dependency Injection 2.0
Jakarta Interceptors 2.1
Jakarta JSON Processing 2.1
Jakarta JSON Binding 3.0
Jakarta RESTful Web Services 3.1
MicroProfile has included most of these specifications since 2016.
Multi-dimensional metrics, the ability to group application metrics into custom scopes, and the ability to query metrics by those scopes are all parts of the Metrics 5.0 specification.
The specification documentation provides more details on Metrics 5.0.
Java annotations used in developing microservices have been enhanced in this release. Most annotations now have an extensions attribute, which gives developers more freedom when defining and implementing microservices.
Adding the @SecurityRequirementsSet annotation changed the definition of security requirements. A single @SecurityRequirement annotation on a class or method is the same as a @SecurityRequirementsSet annotation containing that annotation.
With the securitySets attribute, @OpenAPIDefinition and @CallbackOperation annotations now have more security features.
The @Schema annotation now includes an additionalProperties attribute, and the @APIResponse annotation can now be applied to a class, indicating that every resource method has that response.
The specification documentation provides more details on Open API 3.1.
Among the new properties in this release are mp.jwt.decrypt.key.algorithm, which supports RSA-OAEP-256 key management algorithms, mp.jwt.verify.token.age, which restricts token age, and mp.jwt.verify.clock.skew, which allows for a leeway in age verification and token expiration. Java EE references have been replaced with Jakarta EE references for consistency.
The specification documentation contains more details on JWT Authentication 2.1.
There is a new specification, Telemetry 1.0, added to the core set of specifications
The tracing specification is now a standalone specification.
Because cloud-based systems use distributed structures and many languages, they have performance and availability problems. The use of observability technologies has gained popularity. Getting telemetry data from multiple sources might be challenging for these instruments. With OpenTelemetry, users can manage and use telemetry data in a standard, vendor-neutral way.
Detailed information about Telemetry 1.0 can be found in the specification.
This release also allows products to be certified on Java SE 11 or higher and provides compatibility with Open Liberty 184.108.40.206-beta. OpenLiberty’s website has test results for MicroProfile 6.0.
The release follows a new MicroProfile Specification Process, which aims to increase the frequency of new versions, give more agility to deliver multiple releases each year, and provide developers with the latest updates. The Open Liberty blog has more information on MicroProfile 6.0.
A MicroProfile initiative was announced at Red Hat’s DevNation conference in June 2016 to make microservices for enterprise Java. MicroProfile 1.0 was announced at JavaOne 2016 and included three JSR-based APIs for creating microservices: JSR-346 – Contexts and Dependency Injection (CDI), JSR-353 – JSON-P, and JSR-339 – RESTful Web Services API (JAX-RS). The MicroProfile 4.0 came out in December. The MicroProfile Working Group had just been formed in October 2020 when it made its first version. Members of the working group include Oracle, IBM, Red Hat, Tomitribe, Fujitsu, Atlanta Java User Group, Garden State Java User Group, and iJUG.
In the field of microservices, the MicroProfile community is dedicated to creating certified products and driving progress. New members are welcome, and resources are available to help them get started and connect with other members. Individuals can get involved and make a meaningful impact through the MicroProfile website, starter resources, live discussions, mailing list, and community forum. The MicroProfile is a great way to connect and collaborate with others interested in microservices and open-source technology.
Google Kubernetes Engine Adds Multishares for Filestore Enterprise
Google Cloud has made Filestore Enterprise Multishares for Google Kubernetes Engine (GKE)…
Geoffrey Hinton publishes new deep learning algorithm
Geoffrey Hinton, professor at the University of Toronto and engineer at Google Brain, recently…