Enterprise Java Beans
Message-driven beans allow a system to work asynchronously. They help to make different systems talk to each other by sending messages. Sometimes they are used to talk to legacy systems.