Adam Bien's Weblog
Special Business Logic Treatment Considered Harmful in Java EE
Prior Java EE 5 (2006, see the whole history in: http://realworldpatterns.com) your application code had to realize J2EE interfaces and was forced to implement several infrastructural methods. The amount of plumbing was significant and the business logic was hard to understand.
With the introduction of annotations in JDK 1.5 and the introduction of Dependency Injection paired with Convention over Configuration in Java EE 5 your application code is only dependent on annotations which are comparable to the Marker Interface pattern. Java EE 6 went even further, so you can implement large portions of business logic without being even dependent on any Java EE annotations.
Also the main goal of the outdated http://www.corej2eepatterns.com was the separation of "clean" business logic and the "polluted" J2EE infrastructure. Now the majority of the J2EE patterns solves no more existing problems, mostly problems being already solved in the recent Java EE releases.
With Java EE 5+ any attempt to separate your business logic from Java EE infrastructure will result in empty delegates, parallel and identical object hierarchies, increased complexity and harder maintainability.
Stop plumbing, focus on business logic and added value to your customers :-)
Special Events: Java 8 with Java EE 7: "More Power with Less Code", 13th October, 2014 and Java EE 7: "Testing and Code Quality", 14th October, 2014 Tweet Follow @AdamBien