Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How MicroProfile Enhances Java Microservices

DZone's Guide to

How MicroProfile Enhances Java Microservices

The MicroProfile initiative is easing microservices development in enterprise Java. See which gaps it fills and how you can put it to use.

· Java Zone
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

Thanks to Kevin Sutter, MicroProfile and Java EE Architect at IBM, for taking the time to take me through the evolution of Eclipse MicroProfile and the MicroProfile community consisting of IBM, the London Java Community (LJC), Red Hat, Tomitribe, Payara, SOUJava, Hazelcast, Fujitsu, KumuluzEE, SmartBear, and several other industry leaders.

Eclipse MicroProfile is an open source project with a mission of optimizing Enterprise Java for a microservices architecture by innovating across multiple implementations and collaborating on common areas of interest with the goal of eventual standardization.

The cross-industry group in the MicroProfile initiative are working on defining the programming model for Java microservices. This is a function of the movement wanting to do more with Java EE and the JCP. In addition, Oracle is now looking at moving Java EE to the open source foundation. Kevin believes as more code and solution-oriented Java EE is developed and becomes open source, the Java EE Guardians will become active contributors to both the Open Java EE and MicroProfile.

Eclipse MicroProfile is filling the void for microservices development in the Enterprise Java environment. Components of Java EE provide a nice foundation for microservices – CDI, JAX-RS, and JSON-P.

MicroProfile addresses the voids with:

  • Config: external configuration from application to improve portability
  • Fault Tolerance: circuit breakers, bulkhead, timeout, retry, and fallback policies.
  • Health check: endpoint defined by a service with a simple return value to be used with Kubernetes liveness checks.
  • Metrics: able to get more information for a given service – memory use, CPU use, number of threads, and the ability to retrieve, monitor, and feed metrics to a dashboard.
  • JWT propagation: JWT token allows for authentication to be shared by microservices across vendors.

Developers are able to use these programming models with either APIs or annotations. In the end, microservices are available to external customers to define APIs to consumers so they are able to access desired features. 

Download Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design. Brought to you in partnership with Red Hat

Topics:
java ,eclipse microprofile ,enterprise java ,microservices

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}