![Page 1: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/1.jpg)
Java EE Patterns
Dan Bugariu
![Page 2: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/2.jpg)
What is Java EE ?
What is a Pattern ?
![Page 3: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/3.jpg)
Historical References
1970 Christopher Alexander A Pattern Language
1994 GoF Design Patterns: Elements of Reusable Object-Oriented Software
2003 Alur, Crupi, Malks Core J2EE Patterns
![Page 4: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/4.jpg)
Software Pattern types
design patterns architectural patterns analysis patterns creational patterns structural patterns behavioral patterns
![Page 5: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/5.jpg)
Java EE Patterns categories
presentation tier patterns business tier patterns integration tier patterns
![Page 6: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/6.jpg)
![Page 7: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/7.jpg)
![Page 8: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/8.jpg)
![Page 9: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/9.jpg)
![Page 10: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/10.jpg)
Intercepting Filter
Context Problem Solution Consequences
Centralizes Control with Loosely Coupled Handlers
Improves Reusability Declarative and Flexible Configuration Information Sharing is Inefficient
![Page 11: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/11.jpg)
Front Controller
Context Problem Solution Consequences
Centralizes Control Improves Manageability of Security Improves Reusability
![Page 12: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/12.jpg)
Application Controller
Context Problem Solution Consequences
Improves modularity Improves reusability Improves extensibility
![Page 13: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/13.jpg)
Business Delegate
Context Problem Solution Consequences
Reduces coupling, improves maintainability Translates business service exceptions Improves availability Exposes a simpler, uniform interface to the business tier Improves performance Introduces an additional layer Hides remoteness
![Page 14: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/14.jpg)
Service Locator
Context Problem Solution Consequences
Abstracts complexity Provides uniform service access to clients Facilitates adding EJB business components Improves network performance Improves client performance by caching
![Page 15: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/15.jpg)
Session Façade
Context Problem Solution Consequences
Introduces a layer that provides services to remote clients Exposes a uniform coarse-grained interface Reduces coupling between the tiers Promotes layering, increases flexibility and maintainability Reduces complexity Improves performance, reduces fine-grained remote methods Centralizes security management Centralizes transaction control Exposes fewer remote interfaces to clients
![Page 16: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/16.jpg)
Application Service
Context Problem Solution Consequences
Centralizes reusable business and workflow logic Improves reusability of business logic Avoids duplication of code Simplifies facade implementations Introduces additional layer in the business tier
![Page 17: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/17.jpg)
Data Model Object
Context Problem Solution Consequences
Promotes object-oriented approach to the business model implementation
Separates persistence logic from data model and business logic
![Page 18: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/18.jpg)
Transfer Object
Context Problem Solution Consequences
Reduces network traffic Simplifies remote object and remote interface Transfers more data in fewer remote calls Reduces code duplication Increases complexity due to synchronization and version
control
![Page 19: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/19.jpg)
Domain Store
Context Problem Solution Consequences
Creating a custom persistence framework is a complex task Multi-layer object tree loading and storing requires
optimization techniques Improves understanding of persistence frameworks Improves testability of your persistent object model Separates business object model from persistence logic
![Page 20: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/20.jpg)
Q&A
![Page 21: Java EE Patterns Dan Bugariu. What is Java EE ? What is a Pattern ?](https://reader035.vdocuments.net/reader035/viewer/2022062309/5697bfae1a28abf838c9cb63/html5/thumbnails/21.jpg)
Gata