Real World Java EE Patterns - Rethinking Best Pracitces (2009, Adam Bien).pdf

(6527 KB) Pobierz
productive_javaee5
Real World Java EE Patterns
Rethinking Best Practices
Adam Bien (blog.adam-bien.com)
press.adam-bien.com
Real World Java EE Patterns – Rethinking Best Practices
by Adam Bien
Copyright @ 2009 press.adam-bien.com All rights reserved.
Published by press.adam-bien.com
For more information or feedback, contact: abien@adam-bien.com
Cover Designer : Kinga Bien (www.graphikerin.com)
Editor : Michael Koch (www.mkp.com)
Printing History:
June 2009 Iteration One (First Edition)
ISBN 978-0-557-07832-5
2
Download at WoweBook.Com
 
Table of Contents
Preface............................................................................................................................................. 15
1. A Brief History of J2EE .............................................................................................................19
The Rise and Fall of Applets......................................................................................................19
The UTC Paradigm: Moving Beyond Applets...........................................................................20
EJB: Introducing Consistency....................................................................................................20
JMS: A Messaging System of Its Own...................................................................................... 21
J2EE: A New Standard Is Born..................................................................................................22
JavaBlend...................................................................................................................................24
Looking Beyond Java EE...........................................................................................................25
Server-side Java: The Core Principles..................................................................................26
The Case of Transactions..................................................................................................... 27
The Concurrency Problem................................................................................................... 28
Locking for Consistency...................................................................................................... 30
Distribution, Latency, and the Fallacies...............................................................................32
Summary....................................................................................................................................33
2. Understanding Java EE Core Concepts .................................................................................. 35
Convention over Confguration..................................................................................................35
Dependency Injection ............................................................................................................... 37
Aspect-Oriented Programming and Interceptors....................................................................... 41
EJB 3 and JPA Support.............................................................................................................. 45
The Transaction mode.......................................................................................................... 46
The Extended mode..............................................................................................................48
The Extended Mode and Concurrency.................................................................................50
The Problem with Lazy Loading and Transparent Persistence............................................51
Accessing EJB........................................................................................................................... 52
Summary....................................................................................................................................54
3. Rethinking the Business Tier ....................................................................................................55
Service Façade (Application Service)........................................................................................56
3
Download at WoweBook.Com
 
Problem................................................................................................................................ 56
Forces................................................................................................................................... 56
Solution................................................................................................................................ 56
Rethinking...................................................................................................................... 58
Conventions....................................................................................................................58
Participants and Responsibilities....................................................................................59
Strategies........................................................................................................................ 59
CRUD Façade........................................................................................................... 59
Dual-View Façade.....................................................................................................60
SOA Façade.............................................................................................................. 61
Lightweight Asynchronous Façade...........................................................................65
Multichannel Façade.................................................................................................67
IIOP Façade...............................................................................................................69
Testing.................................................................................................................................. 71
Documentation..................................................................................................................... 72
Consequences.......................................................................................................................74
Related Patterns....................................................................................................................74
Service (Session Façade)........................................................................................................... 75
Problem................................................................................................................................ 75
Forces................................................................................................................................... 76
Solution................................................................................................................................ 76
Conventions....................................................................................................................77
Rethinking...................................................................................................................... 78
Participants and Responsibilities....................................................................................78
Strategies........................................................................................................................ 78
Stateless Session Bean Strategy................................................................................78
POJO Strategy...........................................................................................................79
DAO Hybrid..............................................................................................................80
Testing.................................................................................................................................. 81
Documentation..................................................................................................................... 81
4
Download at WoweBook.Com
 
Consequences.......................................................................................................................82
Related Patterns....................................................................................................................82
Persistent Domain Object (Business Object).............................................................................83
Problem................................................................................................................................ 83
Forces................................................................................................................................... 83
Solution................................................................................................................................ 84
Conventions....................................................................................................................89
Rethinking...................................................................................................................... 89
Participants and Responsibilities....................................................................................90
Strategies........................................................................................................................ 90
DSL / Test / Domain Driven..................................................................................... 90
Fat PDO.................................................................................................................... 90
Data Bound PDO ..................................................................................................... 94
Testing.................................................................................................................................. 96
Documentation..................................................................................................................... 97
Consequences.......................................................................................................................99
Related Patterns..................................................................................................................100
Gateway................................................................................................................................... 101
Problem.............................................................................................................................. 101
Forces................................................................................................................................. 101
Solution.............................................................................................................................. 102
Conventions..................................................................................................................105
Rethinking.................................................................................................................... 105
Participants and Responsibilities..................................................................................106
Strategies...................................................................................................................... 106
Server-Side Gateway...............................................................................................106
RIA Gateway...........................................................................................................107
Hybrid Gateway...................................................................................................... 112
Testing................................................................................................................................ 112
Documentation................................................................................................................... 114
5
Download at WoweBook.Com
 
Zgłoś jeśli naruszono regulamin