Foundations of Aop for J2ee Development

by ; ;
Format: Hardcover
Pub. Date: 2005-09-26
Publisher(s): Springer-Verlag New York Inc
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $73.49

Rent Textbook

Select for Price
There was a problem. Please try again later.

Rent Digital

Rent Digital Options
Online:30 Days access
Downloadable:30 Days
$19.80
Online:60 Days access
Downloadable:60 Days
$26.40
Online:90 Days access
Downloadable:90 Days
$33.00
Online:120 Days access
Downloadable:120 Days
$39.60
Online:180 Days access
Downloadable:180 Days
$42.90
Online:1825 Days access
Downloadable:Lifetime Access
$65.99
$42.90

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Above and beyond AspectJ, since 1998 AOP has been a subject of great interest within research communities. This has led to the development of many other languages and tools, the majority of which are constructed around Java. In addition to AspectJ, these include JAC (Java Aspect Components), JBoss AOP, and AspectWerkz. This book presents the core concepts of AOP, a detailed presentation of the four aforementioned tools, and a comparison of the features of these tools. It also covers the potential uses of AOP in various domains of daily life programming (design patterns implementation, program testing, and application management). The last part of the book is dedicated to the development of J2EE applications with AOP. J2EE is well- known for being a rich and somewhat complicated framework. The authors show how AOP can ease this task and how AOP benefits J2EE.

Table of Contents

Foreword xv
About the Authors xvii
About the Technical Reviewer xix
Introduction xxi
Introducing AOP
1(6)
Looking at Programming Paradigms
1(1)
The Origins of AOP
2(1)
OOP: A Promising Paradigm
2(2)
The Limitations of OOP
4(1)
The Case of Crosscutting Functionalities
4(1)
The Case of Code Scattering
5(1)
The Benefits of AOP
5(1)
Summary
6(1)
The Concepts of AOP
7(16)
The Concept of an Aspect
7(7)
Code Scattering
8(1)
A New Dimension in Modularity
8(4)
Aspect Weaving
12(2)
Joinpoints
14(2)
Different Types of Joinpoints
15(1)
Pointcuts
16(1)
Advice Code
17(2)
Different Types of Advice Code
17(2)
The Introduction Mechanism
19(1)
Aspect Composition
19(1)
Design
19(1)
Weaving
20(1)
Summary
20(3)
AspectJ
23(38)
A First Application with AspectJ
24(6)
The Order-Management Application
24(2)
Execution
26(1)
A First Trace Aspect
26(1)
A First Pointcut Descriptor
27(1)
A First Piece of Advice Code
28(1)
Compiling
29(1)
Running
30(1)
Pointcut Descriptors
30(13)
Wildcards
30(3)
Joinpoint Introspection
33(3)
Defining Joinpoints
36(5)
Pointcut Parameterization
41(1)
Summary of Pointcut Descriptors
41(2)
Advice Code
43(4)
The Code of an Advice Code Block
43(1)
The Different Types of Advice Code
43(3)
Advice Code and Exceptions
46(1)
The Introduction Mechanism
47(2)
Fields, Methods, and Constructors
47(1)
Inherited Classes and Implemented Interfaces
48(1)
Exceptions
48(1)
Advanced Features
49(4)
The Abstract Aspect
49(1)
Aspect Inheritance
49(1)
Aspect Instantiation
50(1)
Aspect Ordering
51(1)
The Privileged Aspect
52(1)
Declaring Warnings and Errors
52(1)
Load-Time Weaving
53(1)
New Features in AspectJ 5
53(5)
Working with Annotations in Aspects
53(1)
Defining Aspects with Annotations
54(4)
Aspect Instantiation in AspectJ 5
58(1)
Other Java 5 Features
58(1)
Summary
58(3)
Java Aspect Components
61(30)
Creating a First JAC Application
61(7)
Creating a First Aspect
61(5)
Compiling a JAC Application
66(1)
Running a JAC Application
67(1)
Creating Pointcuts
68(4)
Pointcut Expressions
68(3)
Associating a Wrapper with a Pointcut
71(1)
Creating Wrappers
72(3)
Methods
72(1)
Constructors
73(1)
Joinpoint Introspection
73(1)
Wrapper Chains
74(1)
Configuring Aspects and JAC Applications
75(3)
Configuring Aspects
75(3)
Configuring JAC Applications
78(1)
Using the Introduction Feature
78(3)
Role Methods
79(1)
Exception Handlers
80(1)
Using the JAC Aspects Library
81(4)
Using the User-Interface Aspects
81(2)
Using the Persistence and Transaction Aspects
83(1)
Using the Distribution Aspects
83(1)
Using Other Aspects
84(1)
Programming in UMLAF
85(1)
Advanced Features
86(2)
Aspect Instantiation
86(1)
Aspect Ordering
86(1)
RTTI
87(1)
Object Naming
87(1)
Run Options
88(1)
Summary
88(3)
JBoss AOP
91(22)
Using JBoss AOP: An Introduction
91(4)
A First Trace Aspect
91(1)
A First Pointcut
92(1)
A First Interceptor
92(1)
Compiling
93(2)
Running
95(1)
Pointcuts
95(5)
The Different Types of Pointcuts
96(2)
Associating an Interceptor with a Pointcut
98(2)
Interceptors
100(3)
Implementing an Interceptor
100(1)
Joinpoint Introspection
101(1)
Aspect Classes
102(1)
Using the Mix-In Mechanism
103(2)
Definition
103(1)
Example
104(1)
Annotations
105(3)
Annotations in Pointcut Definitions
105(1)
Annotations for Writing Aspects
105(3)
Advanced Features
108(3)
Dynamic AOP
108(1)
Instantiating an Aspect
109(1)
Configuring an Aspect
109(1)
Introducing Annotations
110(1)
Summary
111(2)
Spring AOP
113(24)
An Overview of the Spring Framework
113(7)
Bean Factories
114(1)
Creating and Configuring Beans
114(3)
Other Bean Configuration Features
117(2)
Abstraction Layers
119(1)
Spring AOP: An Introduction
120(2)
A Simple Trace Aspect
120(1)
A Simple Pointcut
120(1)
A Simple Interceptor
121(1)
A Simple Advisor
121(1)
Pointcuts
122(4)
Basics
122(1)
Programmatically Defined Pointcuts
123(1)
Regexp Pointcuts
124(1)
Associating an Interceptor with a Pointcut
125(1)
Advice
126(6)
Interceptors (``Around'' Advice)
126(1)
Other Types of Advice
126(3)
``Introduction'' Advice and Mix-Ins
129(3)
Advanced Features
132(3)
Ordering Aspects
132(1)
Programmatically Configured Aspects
132(1)
Auto-Proxying
133(2)
Summary
135(2)
AOP Tools Comparison
137(12)
Weaver Implementation
138(1)
Aspect
139(1)
Pointcut
139(3)
Pointcut Definition
140(1)
Joinpoint Types
140(2)
Advice
142(1)
Advice Code Types
142(1)
Joinpoint Introspection
143(1)
Introduction Mechanism
143(1)
Advanced Features
144(2)
Aspect Instantiation
144(1)
Aspect Ordering
145(1)
Aspect Reuse
145(1)
Summary
146(3)
Design Patterns and AOP
149(22)
Design Patterns, or Elements of Reusable Software
149(1)
Implementation of Design Patterns with AOP
150(1)
The Singleton Design Pattern
150(7)
Description
150(1)
A First Implementation of the Singleton Aspect with JBoss AOP
151(3)
A Second Implementation of the Singleton Aspect with AspectJ
154(1)
Evaluation of the Implementation
155(2)
The Observer Design Pattern
157(4)
Description
158(1)
Aspect-oriented Implementation
158(3)
Evaluation of the Implementation
161(1)
The Command Design Pattern
161(4)
Description
161(1)
Aspect-oriented Implementation
161(3)
Evaluation of the Implementation
164(1)
The Chain of Responsibility Design Pattern
165(3)
Description
165(1)
Aspect-oriented Implementation
165(2)
Evaluation of the Implementation
167(1)
The Proxy Design Pattern
168(2)
Description
168(1)
Aspect-oriented Implementation
168(2)
Summary
170(1)
Quality of Service and AOP
171(34)
Design by Contract
171(9)
Foundations of Design by Contract
172(2)
Contracts in Java
174(1)
Implementing Contracts with AOP
174(6)
Testing Applications
180(11)
Coverage Analysis
181(4)
Nonregression Tests
185(6)
AOP for Application Administration and Supervision
191(13)
JMX
191(3)
Using JMX with AOP
194(10)
Summary
204(1)
Presentation of the Sample Application
205(22)
Sample Application Architecture
205(14)
The Application at a Glance
205(3)
The Data Tier
208(1)
The Business Tier
209(7)
The Client Tier
216(3)
Sample Application Design
219(7)
Using J2EE Design Solutions
219(6)
Using AOP
225(1)
Summary
226(1)
Using AOP within the Sample Application's Business Tier
227(44)
Improving Business Tier Design Patterns
228(19)
The Session Facade
228(5)
The Business Object
233(14)
Business Tier Improvement: Beyond Design Patterns
247(11)
Resolving Object References
247(3)
Using AOP
250(4)
Precondition Factorization
254(1)
AOP-based Implementation
255(3)
Business Tier Aspects Synthesis
258(3)
AOP As an Integration Technique
261(8)
Managing Distributed Transactions with JTA
262(1)
A JTA Solution
262(2)
EJBs As an Infrastructure for the Automatic Integration of Transactions
264(2)
AOP and the Modular Integration of Transactions
266(3)
Summary
269(2)
Using AOP in the Sample Application's Presentation and Client Tiers
271(40)
Using AOP for Distributed Communications
271(22)
Design Patterns for Business Layer Access
272(8)
Aspect-oriented Implementation of the Access Design Patterns
280(11)
Client Tier Communication Aspects Synthesis
291(2)
Using AOP for the Presentation of the Client Tier
293(5)
Using AOP for Ul Concerns
293(5)
Using AOP in the Design Patterns of the Web Presentation Tier
298(11)
Front Controller
298(4)
Application Controller
302(2)
Context Object
304(2)
Interception Filter
306(3)
View Helper
309(1)
Web Presentation Tier Summary
309(1)
Summary
309(2)
Index 311

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.