Blog
JavaEE: programming model or application server interface?
Java has been around for more than 10 years now and has accumulated a lot of unneeded stuff:
- Deprecated methods, classes and packages that are never removed,
- Packages hardly anybody ever uses (when was the last time you used javax.sound.midi?), and
- Language features that have turned out differently then we imagined:
- Packages were meant as namespaces to separate identically named classes. However, because package names are usually quite long and the average Java class import tens of other classes and we then collapse the import list in our IDE, we tend to get annoyed when an identically named class exists in multiple packages.
- The distinction between java and javax was meant to convey that javax packages were extensions to the standard class library. However, since JavaSE now contains lots of javax packages that is no longer the case.
- EJB 1.x and 2.0 - replaced by EJB 3.0.
- JDO - obsoleted by JPA before it was ever really used.
- JAAS - meant for client applications but used in JavaEE application servers in convoluted ways.
- JAX-RPC - replaced by JAX-WS only one version later!
- JSF - still fresh now, but I have a feeling it's not going to make it when compared to the myriad of web frameworks already out there.
- JavaBeans Activation Framework - needed for JavaMail and JAX-RPC but kinda crappy.
- EJB
- JDO
- JPA
- JSF
- JAX-RPC, JAX-WS
- JAXR, JAXB, JAXM
- SAX, DOM, JAXP
- JavaMail
- JavaBeans Action Framework
- JMS
- JDBC
- JTS
- and of course, the Servlet API
Vincent Partington
Contact
Let’s discuss how we can support your journey.