Here is a good read if you need some food for thought. It’s about our melange of processes, tools, specifications and diverse technologies bundled under the term ‘J2EE’ – enterprise Java.
- No buzzwords – too many already, convenient to use but confusing; you think ‘xxx’ means this – while i think ‘xxx’ means that
- Caching – an important tool for performance improvements
- Security – the top-most priority in my book, with hacking and government sponsored intrusions – yet sadly the poor step-child of many implementaions
- Enterprise services and stereotypes – too many to even begin to name !!
- One container / one POJO / several services – Oh, yes, PLEASE !!!
- CDI, CDI, CDI – dependency injection, god knows we need something to allow external decisions to influence code execution – but is this the right way ?
- WAR is the new EAR – there are too many choices already for what is essentially a zip-process – a bundler of all the bits needed to make something work.
- Templating – coming along, though slowly. It’s why i love groovy/grails/gaelyf/caelyf – a separation of logic vs presentation
- Configuration and staging – always a pain, mostly for those poor bods who deploy your love-child across a worldwide platform
- Logging – Critical !!! Ya can’t debug ANYTHING without it, unless ya want to write acres of sysout.printlns !-P
- Testability – yep – a must-have
- Standard artifacts and repositories – i’m already too beatup over the hoops i need to jump thru to get my build tool to find the right (sub)tool – ivy, maven,gradle,github – gimme a break !!
The above list are my bug-bears when working on web stuff. The barriers to learning and implementation are way too high for the average bod. We are not all java gurus. It all just seems to lack a cohesiveness that we find in other more mature I.T. arenas.