+ All Categories
Home > Technology > Java EE | Clean Code and Java EE 6 | Adam Bien

Java EE | Clean Code and Java EE 6 | Adam Bien

Date post: 01-Sep-2014
Category:
Upload: jax-london
View: 5,113 times
Download: 1 times
Share this document with a friend
Description:
2011-11-01 | 10:40 AM - 11:40 AMAlthough you can build Java EE 6 applications with only a fraction of the code that’s necessary with J2EE, many projects are still based on the bloated and exaggerated J2EE patterns and best practices. This session discusses how to build lean applications in a productive and maintainable way. The following pragmatic tools, patterns, and best practices will be covered with working source code, which are especially interesting to Java EE developers and architects: - Mixing CDI, JPA, EJB, JSF, and JAX-RS to save code - Mocking, unit testing, stress testing, and integration testing - Continuous integration and build (Maven 3, Git) - Efficient data access without DAOs - CAP and BASE - Asynchronous CDI events for decoupling and pub/sub - Pro-active JMX monitoring instead of logging
Popular Tags:
40
blog.adam-bien.com / twitter:@AdamBien Java EE Clean Code [kill the bloat]
Transcript
Page 1: Java EE | Clean Code and Java EE 6 | Adam Bien

blog.adam-bien.com / twitter:@AdamBien

Java EE Clean Code[kill the bloat]

Page 2: Java EE | Clean Code and Java EE 6 | Adam Bien

blog.adam-bien.com / twitter:@AdamBien

• Expert Group Member (jcp.org) of Java EE 6, Java EE 7, JPA 2.1, EJB 3.2, CDI 1.1, JMS 2.0 (...)

• Java Champion, (JavaONE) speaker + rockstar, freelancer, consultant and author: >100 articles, 7 German books,

• Author: “Real World Java EE Patterns– Rethinking Best Practices” and “Real World Java EE Night Hacks” http://press.adam-bien.com

• NEW: workshops.adam-bien.com

• http://kenai.com/projects/javaee-patterns/

http://java.net/projects/x-ray

Page 3: Java EE | Clean Code and Java EE 6 | Adam Bien

blog.adam-bien.com / twitter:@AdamBien

Adam Bien, press.adam-bien.com

Page 4: Java EE | Clean Code and Java EE 6 | Adam Bien

blog.adam-bien.com / twitter:@AdamBien

Adam Bien, press.adam-bien.com

Page 5: Java EE | Clean Code and Java EE 6 | Adam Bien

blog.adam-bien.com / twitter:@AdamBien

“Perfection (in enterprise development) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.”

--Antoine de Saint-Exupéry

Page 6: Java EE | Clean Code and Java EE 6 | Adam Bien

General Advice: Don't Distribute (CAP)

Page 7: Java EE | Clean Code and Java EE 6 | Adam Bien

adam-bien.com

J2EE Patterns in Java EE

Page 8: Java EE | Clean Code and Java EE 6 | Adam Bien

adam-bien.com

It’s Not Overengineering...

Page 9: Java EE | Clean Code and Java EE 6 | Adam Bien

adam-bien.com

...It’s Cargo Cult Programming:

[http://en.wikipedia.org/wiki/Cargo_cult_programming]

Page 10: Java EE | Clean Code and Java EE 6 | Adam Bien

blog.adam-bien.com / twitter:@AdamBien

“...Cargo cult programming is a style of computer programming that is characterized by the ritual inclusion of code or program structures that serve no real purpose...”

Page 11: Java EE | Clean Code and Java EE 6 | Adam Bien

blog.adam-bien.com / twitter:@AdamBien

“...Cargo cult programming can also refer to the results of (over-)applying a design pattern or coding style blindly without understanding the reasons behind that design principle in the first place. Examples are adding unnecessary comments to self-explanatory code, adding deletion code for objects that garbage collection would have collected automatically with no problem, creating factory objects to build simple objects, etc. It often happens when programmers are inexperienced with the programming language, or simply overzealous...”

Page 12: Java EE | Clean Code and Java EE 6 | Adam Bien

Verify Your Design With …Aliens

Page 13: Java EE | Clean Code and Java EE 6 | Adam Bien

adam-bien.com

Page 14: Java EE | Clean Code and Java EE 6 | Adam Bien

...or ask a Ruby / Python developer...

Page 15: Java EE | Clean Code and Java EE 6 | Adam Bien

Continuous Everything (Integration,

Deployment, QA)

Page 16: Java EE | Clean Code and Java EE 6 | Adam Bien

Mocks, Unit-, Integration- and Stress Testing

Page 17: Java EE | Clean Code and Java EE 6 | Adam Bien

Strict Separation Between Unit-, Integration-, and

System Tests

Page 18: Java EE | Clean Code and Java EE 6 | Adam Bien

Java EE 6, Maven 3, Continuous Integration

And Git

Page 19: Java EE | Clean Code and Java EE 6 | Adam Bien

Convention Over Configuration with DI

Page 20: Java EE | Clean Code and Java EE 6 | Adam Bien

No, I don't want your XML!

Page 21: Java EE | Clean Code and Java EE 6 | Adam Bien

Homegrown Frameworks?

Page 22: Java EE | Clean Code and Java EE 6 | Adam Bien

JavaDoc Is Suspicious

Page 23: Java EE | Clean Code and Java EE 6 | Adam Bien

DRY And DIE

Page 24: Java EE | Clean Code and Java EE 6 | Adam Bien

package private fields or public setters?

Page 25: Java EE | Clean Code and Java EE 6 | Adam Bien

Back To Java SE Thinking

Page 26: Java EE | Clean Code and Java EE 6 | Adam Bien

Rich Domain Objects

Page 27: Java EE | Clean Code and Java EE 6 | Adam Bien

No Interfaces

Page 28: Java EE | Clean Code and Java EE 6 | Adam Bien

No Extensive Layering

Page 29: Java EE | Clean Code and Java EE 6 | Adam Bien

Rethink J2EE Patterns

Page 30: Java EE | Clean Code and Java EE 6 | Adam Bien
Page 31: Java EE | Clean Code and Java EE 6 | Adam Bien

Rethink GoF Patterns

Page 32: Java EE | Clean Code and Java EE 6 | Adam Bien

Factory

Page 33: Java EE | Clean Code and Java EE 6 | Adam Bien

Observer

Page 34: Java EE | Clean Code and Java EE 6 | Adam Bien

Builder

Page 35: Java EE | Clean Code and Java EE 6 | Adam Bien

Facade

Page 36: Java EE | Clean Code and Java EE 6 | Adam Bien

Bridge

Page 37: Java EE | Clean Code and Java EE 6 | Adam Bien

Strategy

Page 38: Java EE | Clean Code and Java EE 6 | Adam Bien

Decorator

Page 39: Java EE | Clean Code and Java EE 6 | Adam Bien

Entity Control Boundary

Page 40: Java EE | Clean Code and Java EE 6 | Adam Bien

adam-bien.com

Thank You!blog.adam-bien.com

twitter.com/AdamBien


Recommended