I blogged his comment about rich- vs. anemic domain models here.
Here some more tidbits:
If an application has more than three layers this is suspicious...
There is a trend towards rich-client applications! The hype around platforms like FLEX/AIR, Java FX, Eclipse RCP, Google Chrome are a clear indicator of this.
There are good reasons to keep your business-logic close to the persistence.
There are a lot of arguments for stateful web applications. For typical inhouse enterprise applications with ~1000 users performance problems resulting from keeping the conversation state on the server should not be an issue.
The DAO-Pattern is dead ... as are many other classic J2EE patterns. We have to rethink our patterns.
Some applications are just not suited for service-orientation. These are typically problem-solving applications. Just think of a SOA-version of eclipse... typical workflow applications on the otehr hand are predestined for service-orientation.
Applications with high user interaction are a typical indicator against service-orientation and for local business-logic close to the persistence.
Whenever possible deploy into one single VM. Separated VMs for Web- and EJB-Container make hardly ever sense (performance can even be worse, scalability is better achieved with load balancing at the front ...)
I offer courses for modern web-development in the enterprise:
Contact me to get your team up to speed on JavaScript, HTML5, Angular, React, Node, Grunt/Gulp etc and how to integrate those technologies in your enterprise
environment (Java, .NET).