title: Just what is Java EE really?
body: <p>Java EE has this "mysterious shroud" around it for younger Java developers - one that I've been trying to lift myself for quite a while with little success.</p>
  
  <p>Confusion arises from:</p>
  
  <ul>
  <li><p>Java EE seems to be both a library and a platform - there are multiple ways to "get" the Java EE library, typically from something like Oracle's Java EE SDK download. However, the Java EE library will not work, nor compile unless if your code is being run on or has access to a Java EE application server (such as JBoss, GlassFish, Tomcat, etc). Why? Can't the libraries function outside of the application server environment? Why do I need something massive as JBoss just to compile simple code to send an email?</p></li>
  <li><p>Why are Java EE libraries not "standard" and included in the regular JVM download and/or the SDK?</p></li>
  <li><p>Why are there so many Java EE offerings when there is really only two main flavors of standard Java (Oracle JVM/SDK | OpenJDK JVM/JDK)?</p></li>
  <li><p>What can one do with Java EE that they cannot do with standard Java?</p></li>
  <li><p>What can one do with standard Java that they cannot do with Java EE?</p></li>
  <li><p>When does a developer decide they "need" Java EE?</p></li>
  <li><p>When does a developer decide they do not need Java EE?</p></li>
  <li><p>Why is Java EE library version not in sync with standard Java library releases (Java EE 6 vs. Java 7)?</p></li>
  </ul>
  
  <p>Thanks for helping me clear the flog!</p>