MicroProfile, MicroServices and the future of Java EE/EE4J

MicroProfile, MicroServices and the future of Java EE/EE4J

For enterprise level, Java EE and Spring has been the de facto standard for any Java application, the problem with Java EE has been it's slow paced driven development, for reference the most recent release is Java EE 8, which was released in 2017, and the previews release was in 2013 that's 4 years of difference, so In September of 2017, Oracle announced its intention to move Java EE to the Eclipse Foundation and also this would include potential incorporation of Eclipse MicroProfile technologies into the platform.

So long story short Java EE project is now renamed to EE4J, ( update your resume once again :) ) and now is driven by the Eclipse foundation which also sponsors MicroProfile, so there is a strong chance that MicroProfile specifications will be included in future releases of EE4J or Java EE

The MicroProfile is a baseline platform definition that optimizes Enterprise Java for a microservices architecture and delivers application portability across multiple MicroProfile runtimes, which includes a lot of new features.

  • Metrics: Deals with telemetry data and how it is exposed in a uniform way. This includes data from the underlying Java virtual machine as well as data from applications.
  • Health: Reports whether a service is healthy. This is important for schedulers like Kubernetes to determine if an application (container) should be killed and a new one started.
  • Config: Provides a uniform way of relaying configuration data into the application independent of the configuration source.
  • Fault tolerance: Includes mechanisms to make microservices resilient to failures in the network or other services they rely on, such as defining timeouts for calls to remote services, retrying policies in case of failure, and setting fallback methods.
  • JWT propagation: JSON Web Token (JWT) is a token-based authentication/authorization system that allows to authenticate, authorize, and verify identities based on a security token. JWT propagation defines the interoperability and container integration requirements for JWT for use with Java EE style role-based access control.
  • OpenTracing: A mechanism for distributed tracing of calls across a series of microservices.
  • OpenAPI: A way to document data models and REST APIs so they can be read by machines and automatically build client code from this documentation. OpenAPI was derived from the Swagger specification.
  • REST client: A type-safe REST client that builds on the standard JAX-RS client to do more heavy lifting so consumer code can rely on strongly typed data and method invocations.



To view or add a comment, sign in

More articles by Karim OURRAI

Others also viewed

Explore content categories