Summary
In this chapter, we introduced the idea of message-oriented middleware and its parent pattern (event-driven architecture). Also, we have discussed in some detail the basic concepts of message-oriented middleware, JMS APIs, and message-driven beans, with some basic examples. There's more to learn about these, for sure. You can refer to the official documentation for more complicated and advanced usage scenarios.
In the next chapter, we are going to explain another form of communication: software-human communication. We are going to learn how to programmatically send emails using the JavaMail APIs and Gmail.