Reader small image

You're reading from  Hands-On Enterprise Java Microservices with Eclipse MicroProfile

Product typeBook
Published inAug 2019
Reading LevelExpert
PublisherPackt
ISBN-139781838643102
Edition1st Edition
Languages
Right arrow
Authors (6):
Cesar Saavedra
Cesar Saavedra
author image
Cesar Saavedra

Cesar Saavedra has been working in the IT industry since 1990 and holds a Master of Science degree in Computer Science and a Master of Business Administration. He has worked as a developer, consultant, technical seller, and technical marketer throughout his career. He currently does technical product marketing for Red Hat JBoss Enterprise Application Platform (EAP), Eclipse MicroProfile, OpenJDK, Quarkus and Jakarta EE. He also manages the technical marketing for the runtimes, integration, BPM and rules management portfolio, and works closely with engineering and product management on thought leadership. Cesar has authored white papers, eBooks, and blogposts, and has been a conference and webinar speaker presenting to customers and partners.
Read more about Cesar Saavedra

Heiko W. Rupp
Heiko W. Rupp
author image
Heiko W. Rupp

Heiko W. Rupp is an open source enthusiast working for more than a decade at Red Hat in the area of middleware monitoring and management. In this role he has been project lead of the RHQ and Hawkular monitoring systems and has also been contributing to various other projects like Kiali. Currently he helps defining the next way of Java Microservices with his work on Eclipse MicroProfile. As such he is the spec lead of the Eclipse MicroProfile Metrics effort and also contributing to other specifications. Heiko has written the first German book about JBossAS and one of the first German books on EJB3. He lives with his family in Stuttgart, Germany.
Read more about Heiko W. Rupp

Jeff Mesnil
Jeff Mesnil
author image
Jeff Mesnil

Jeff Mesnil is employed by Red Hat as a Senior Software Engineer and currently, works for JBoss, Red Hat's middleware division, on the WildFly and JBoss EAP application servers. He is a member of the core team in charge of developing the internals of the application servers and lead its messaging subsystem (which provides the JMS API). Previously, he contributed to the HornetQ messaging broker that was integrated into WildFly and EAP. He is a proponent of Open Source development and all the code he writes either professionally or privately is available under Open Source licenses, these days, it is mostly hosted on GitHub. He has a keen interest on messaging systems and wrote several Open Source libraries related to messaging.
Read more about Jeff Mesnil

Pavol Loffay
Pavol Loffay
author image
Pavol Loffay

Pavol Loffay is Senior Software Engineer at Red Hat. Pavol is working on observability tools for microservice architectures. He is mostly involved in the tracing domain, where he is an active committer on the Jaeger and OpenTracing projects. He is also a member of the OpenTracing Specification Council (OTSC) and a lead for the MicroProfile-OpenTracing specification. He has authored many blog posts and presented at several conferences. In his free time, Pavol likes to climb mountains and ski steep slopes in the Alps.
Read more about Pavol Loffay

Antoine Sabot-Durand
Antoine Sabot-Durand
author image
Antoine Sabot-Durand

Antoine Sabot-Durand is a Java Champion who works for Red Hat where he leads the Java EE, now Jakarta EE CDI spec. He is also involved in various projects linked to the CDI ecosystem, MicroProfile, and Jakarta EE. He is also Member of Devoxx France committee. He lives in France with his wife and 3 kids.
Read more about Antoine Sabot-Durand

Scott Stark
Scott Stark
author image
Scott Stark

Scott Stark started in chemical engineering, got steered into parallel computers as part of his Ph.D. work, and then made software his career, starting with a stint in finance/wall street. He then got into open source with the fledgling JBoss company, working on the application server and Java EE. He has worked with microkernel efforts, IoT efforts, standards, Jakarta EE, Eclipse MicroProfile and Quarkus. He lives in the Pacific Northwest with his wife.
Read more about Scott Stark

View More author details
Right arrow

Reactive Programming and Future Developments

Event-driven architectures have been around for a long time, and asynchronous method invocations, message-driven beans, event control logic, and so on are constructs that developers are familiar with. However, with the popularity and adoption of cloud resources and on-demand scalability, organizations have a renewed interest in reactive programming approaches that can exploit serverless and function as service-type environments. Eclipse MicroProfile also includes specifications related to reactive programming in projects that currently live outside the Eclipse MicroProfile umbrella/platform release.

In addition to these, there are also projects in the Eclipse MicroProfile sandbox that the community is currently discussing, implementing, and evaluating to decide whether or not they should be promoted to official MicroProfile projects...

Reactive programming work in Eclipse MicroProfile

At the time of writing, the reactive-related specifications that are part of Eclipse MicroProfile are Reactive Streams Operators, Reactive Messaging, and Context Propagation. Reactive work within the MicroProfile community continues to evolve, and new specifications may surface in the future as well as newer releases of existing reactive-related ones.

An overview of Reactive Messaging

The Reactive Manifesto defines the characteristics of reactive systems to including an asynchronous messaging core that is used to build elastic, resilient systems. This is typically illustrated via a diagram such as the following:

The idea is that interaction via asynchronous messages promotes...

MicroProfile future developments

As mentioned in Chapter 2, Governance and Contributions, new ideas brought to the Eclipse MicroProfile project are first tried in the MicroProfile sandbox following an implementation-first approach to innovation. The sandbox exercise gives the opportunity for the implementor and the community to discuss, analyze, and evaluate how this new idea fits in with the MicroProfile project. If, at the end of the sandbox exercise, the community deems that this new idea is worth adding to the project, a specific MicroProfile sub-project is created for it. The sub-project must issue at least one release before it can be considered for addition to a MicroProfile umbrella/platform release. At a very high-level, this is the process that new ideas and future developments follow under the MicroProfile project.

In the next sections, we will discuss two types of...

Summary

In this chapter, we learned about future developments in the MicroProfile specification with the Long Running Actions, Context Propagation, and GraphQL projects outside the umbrella release, and the Boost project that's still in the MicroProfile sandbox. In addition, you learned about reactive messaging concepts, the MicroProfile reactive messaging architecture, and how to implement reactive microservices using Eclipse MicroProfile reactive constructs via code examples. You also gained some knowledge of the background of each of these projects, their capabilities, annotations, and code examples when applicable, as well as their current state. Lastly, we presented the relationship between two similar but different projects: Eclipse MicroProfile and Jakarta EE, and discussed how their possible relationship could evolve in the future.

In the next chapter, we will learn...

Questions

  1. If I have a source of messages, how do I integrate this into my MicroProfile applications?
  2. Which of the existing MicroProfile specifications will MicroProfile Context Propagation best support?
  3. What are the current MicroProfile specifications that support reactive programming?
  4. What are the MicroProfile specifications that currently sit outside the umbrella/platform MicroProfile release?
  5. What is the purpose of having a MicroProfile sandbox?
  6. What are the projects that currently sit in the MicroProfile sandbox?
  7. What is the current relationship between Eclipse MicroProfile and Jakarta EE?
  8. What will the future relationship between Eclipse MicroProfile and Jakarta EE look like?

Further reading

  • For MicroProfile reactive messaging, the http://reactivex.io/ site provides motivation, tutorials, language bindings, and more.
  • A good starting point for GraphQL is the https://graphql.org/ site, which provides more background on the motivation behind it, as well as many resources for exploring how to put it to use.
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Hands-On Enterprise Java Microservices with Eclipse MicroProfile
Published in: Aug 2019Publisher: PacktISBN-13: 9781838643102
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (6)

author image
Cesar Saavedra

Cesar Saavedra has been working in the IT industry since 1990 and holds a Master of Science degree in Computer Science and a Master of Business Administration. He has worked as a developer, consultant, technical seller, and technical marketer throughout his career. He currently does technical product marketing for Red Hat JBoss Enterprise Application Platform (EAP), Eclipse MicroProfile, OpenJDK, Quarkus and Jakarta EE. He also manages the technical marketing for the runtimes, integration, BPM and rules management portfolio, and works closely with engineering and product management on thought leadership. Cesar has authored white papers, eBooks, and blogposts, and has been a conference and webinar speaker presenting to customers and partners.
Read more about Cesar Saavedra

author image
Heiko W. Rupp

Heiko W. Rupp is an open source enthusiast working for more than a decade at Red Hat in the area of middleware monitoring and management. In this role he has been project lead of the RHQ and Hawkular monitoring systems and has also been contributing to various other projects like Kiali. Currently he helps defining the next way of Java Microservices with his work on Eclipse MicroProfile. As such he is the spec lead of the Eclipse MicroProfile Metrics effort and also contributing to other specifications. Heiko has written the first German book about JBossAS and one of the first German books on EJB3. He lives with his family in Stuttgart, Germany.
Read more about Heiko W. Rupp

author image
Jeff Mesnil

Jeff Mesnil is employed by Red Hat as a Senior Software Engineer and currently, works for JBoss, Red Hat's middleware division, on the WildFly and JBoss EAP application servers. He is a member of the core team in charge of developing the internals of the application servers and lead its messaging subsystem (which provides the JMS API). Previously, he contributed to the HornetQ messaging broker that was integrated into WildFly and EAP. He is a proponent of Open Source development and all the code he writes either professionally or privately is available under Open Source licenses, these days, it is mostly hosted on GitHub. He has a keen interest on messaging systems and wrote several Open Source libraries related to messaging.
Read more about Jeff Mesnil

author image
Pavol Loffay

Pavol Loffay is Senior Software Engineer at Red Hat. Pavol is working on observability tools for microservice architectures. He is mostly involved in the tracing domain, where he is an active committer on the Jaeger and OpenTracing projects. He is also a member of the OpenTracing Specification Council (OTSC) and a lead for the MicroProfile-OpenTracing specification. He has authored many blog posts and presented at several conferences. In his free time, Pavol likes to climb mountains and ski steep slopes in the Alps.
Read more about Pavol Loffay

author image
Antoine Sabot-Durand

Antoine Sabot-Durand is a Java Champion who works for Red Hat where he leads the Java EE, now Jakarta EE CDI spec. He is also involved in various projects linked to the CDI ecosystem, MicroProfile, and Jakarta EE. He is also Member of Devoxx France committee. He lives in France with his wife and 3 kids.
Read more about Antoine Sabot-Durand

author image
Scott Stark

Scott Stark started in chemical engineering, got steered into parallel computers as part of his Ph.D. work, and then made software his career, starting with a stint in finance/wall street. He then got into open source with the fledgling JBoss company, working on the application server and Java EE. He has worked with microkernel efforts, IoT efforts, standards, Jakarta EE, Eclipse MicroProfile and Quarkus. He lives in the Pacific Northwest with his wife.
Read more about Scott Stark