title: Middleware & SOA by Example
body: <p>I am an inexperienced Java developer trying to wrap my head around some fundamental middleware/SOA concepts and technologies, specifically:</p>
  
  <ul>
  <li>Service-Oriented Architecture (SOA)</li>
  <li>Message-Oriented Middleware (MOM)</li>
  <li>Message Queue</li>
  <li>Apache Camel</li>
  <li>Mule</li>
  <li>EJBs</li>
  <li>Endpoints &amp; Routes</li>
  <li>Service Bus/ESB</li>
  <li>JMS</li>
  </ul>
  
  <p>After looking each of these up online/on Wikipedia, I was able to get (for the most part) decent <em>definitions</em> for each of these. What I am not understanding is <strong>how all of these technologies/concepts work together</strong> on the backend to provide a 2nd/business tier solution.</p>
  
  <p>Can someone please give an example of an architecture that would use all of these technologies/concepts, and explain what <strong>role</strong> each of them play in the overall solution? Once I see a working example I'm sure it will help me connect most of the dots.</p>
  
  <p><strong>Edit</strong>: Since I added the bounty, I've had several answers that suggest reading books. Although I appreciate all feedback here, I simply can't part ways with 300 reputation points for an answer that, essentially, boils down to "RTM" (especially when I'm flat broke and can't <em>afford</em> the manual!) To reiterate, the bounty and definitive answer will go to someone who can hit all of these bullets in a meaningful, practical example. <strong>This does not have to be a middleware compendium!!!</strong> Just a paragraph or two that shows how all these can be used together in harmony to produce a Java business-tier solution. Thanks again.</p>