A guide to aspect-oriented programming and the AspectJ language, this book provides code examples that enable quick implementation of functionality in a system. Thorough introductions to AOP and AspectJ will help developers learn or advance their knowledge of AspectJ. Examples of everyday situations in which AspectJ solutions can be applied, such as logging, policy enforcement, resource pooling, business logic, thread-safety, authentication and authorization, and transaction management are provided. In addition, design patterns and idioms are covered, as is business rule implementation. The latest technologies, such as JEES, JAAS, and log4j, are explained and connected with AspectJ.