|AspectJ in Action
Practical Aspect-Oriented Programming
Second edition of this book is now available
2003 | 512 pages
|$44.95||Softbound print + PDF ebook|
A software system is the realization of a set of concerns. One of the central premises of object-oriented programming is that each concern should be implemented as a separate module. However, there are certain system-wide concerns, such as logging, security, performance, and so forth, that often need to be addressed in many, if not all of the modules. Consequently, the code to handle these system-wide concerns may be mixed in with the core logic of a huge number of modules, resulting in lower productivity, poor quality, and systems that are hard to evolve.
Aspect-oriented programming overcomes these problems by modularizing the system-wide concerns.
AspectJ enables AOP programming in Java by adding a few new language constructs. By using Java as the base language and creating a final system that is compatible with Java byte code specification, AspectJ passes on all the benefits of Java. The use of Java as the base language also makes AspectJ a relatively easy language to learn.
AspectJ in Action is a practical guide to AOP and AspectJ. The reusable code examples that are provided will enable quick implementation of functionality in your system.
The book is divided into three parts. The first part introduces AOP and AspectJ and will be helpful to developers wanting to learn or advance their knowledge of AspectJ. The second and third parts present examples of everyday situations in which you can use simple and easy AspectJ solutions to implement common system requirements such as logging, policy enforcement, resource pooling, business rules, thread-safety, authentication and authorization, as well as transaction management.
- In-depth coverage of AOP and AspectJ
- Design patterns and idioms
- Solutions to real-world problems
- Much reusable code content
- AspectJ version 1.1
WHAT THE READERS SAY ABOUT THIS BOOK...
"...by far the best programming related book I read for a long time.
I enjoyed the structure of the book, which gives someone who has no clue
AOP an idea what it is all about. The examples, are great and there are no
gaps...suitable for the beginner and expert, covers all AOP relevant topics
further down on advanced AOP techniques.
-- a Reader at Amazon.co.uk
"AspectJ in Action by Ramnivas Laddad looks like a very clear
and complete treatment of aspects. Like the other books in
the "In Action" series from Manning, it is filled with very
good diagrams... This book will definitely help."
-- on The Daily Channel
"You know, it's one of these books about technologies you
always thought too "ivory tower", too bloated and complex
to use and suddenly discover that heeeey this is nice
and may prove useful."
-- on JRoller
"...AJIA was exactly what I needed...Fantastic use of diagrams,
figures, and annotated code. They solidly add to understanding
the content...I found the book to really be excellent from all
viewpoints for getting into the subject matter from many angles
and diving down very deep into it."
-- A Reader's posting at TheServerSide.com
ABOUT THE AUTHOR...
Ramnivas Laddad is a Sun Certified Architect of Java Technology. He has worked with object-oriented systems for many years and with aspect-oriented programming for the past three years. He is the author of several articles and papers and co-author of Professional Java XML. His article series on AOP and AspectJ was published in "JavaWorld." He lives in Sunnyvale, California.
Modularizing code into objects cannot be fully achieved in pure OOP. In practice some objects must deal with aspects that are not their main business. A method to modularize aspects and benefit from a clean maintainable result is called aspect-oriented programming. AspectJ is an open-source Java extension and compiler designed for AOP development. Now integrated with Eclipse, NetBeans, JBuilder, and other IDEs, AspectJ v1.1 is ready for the real world.
It is time to move from AOP theory and toy examples to AOP practice and real applications. With this unique book you can make that move. It teaches you AOP concepts, the AspectJ language, and how to develop industrial-strength systems. It shows you examples which you can reuse. It unleashes the true power of AOP through unique patterns of AOP design. When you are done, you will be eager and able to build new systems, and enhance your existing ones, with the help of AOP.
- What is aspect-oriented programming?
- How AspectJ works with JAAS, Jess, log4j, Ant, JTA, POJOs
- Best practices and design patterns
- How to implement
- policy enforcement
- resource pooling and caching
- authentication and authorization
- transaction management
- business rules
Ramnivas Laddad is an AOP and AspectJ authority. With his writings, he has contributed to the general awareness of AOP and has contributed to features now incorporated in AspectJ Version 1.1. Ramnivas lives in Sunnyvale, California.
"Speaks directly to me as a developer"
- Alan Cameron Wills, fastnloose
"... real solutions to tough problems ..."
- Chris Bartling, Identix, Inc.
"I started reading at 11pm and couldn't stop ... It's a must read for anyone interested in the future of programming."
- Arno Schmidmeier, AspectSoft
"... The only resource that presents AOP concepts and real-world examples in an approachable, readable way."
- Jean Baltus, Metafro-Infosys
WHAT REVIEWERS ARE SAYING
"Laddad brings to the professional community a valuable book, to support AOP tutoring
and adoption. ...a solid, well-structured introduction to a recent technology. ...an
analytical introduction to AOP. It is also a practical reference for moving into
aspect-oriented programming. The style is clear, and the prose is readable. Code snippets
are provided throughout the text, in correct measure to illustrate examples and provide
clarification, and are welcome rather than burdensome. Altogether, this is a well-constructed,
well-balanced book that delivers what it promises."
-- Computing Reviews, latest review
"I came across 'Using AspectJ for Authentication and Authorization.' I found it intriguing to be able to write an aspect that applied itself to only to certain methods, letting you selectively pick what methods were locked down for authorization and which were not. All this can be accomplished without the need to repeat your authorization code in each method that needs the authorization...an interesting solution, especially when you need to tie in the authentication and authorization with a system that is outside your control...I definitely recommend that you check it out..."
"I highly recommend this book to everyone wishing to understand aspect-oriented programming,
and to start with the AspectJ language. The book is well organized and self-contained. The
illustrative applications, both basic and advanced, convince developers of the power of the
AOP paradigm, and encourage them to employ AspectJ in all development phases. This book is
to aspect-oriented programming what the gang of four book is to design patterns."
-- Computing Reviews, first review
"...a wonderful job of introducing the new AOP trend...no other book
succeeded to present the challenges of AOP so well...a very good resource for both people
starting to learn AOP and AspectJ and experienced AOP programmers who wish to deepen their
knowledge in this new area."
"I have probably read every book about AOP that is out there, since I am a big fan. Although AspectJ in Action
isn't the first book on AOP/AspectJ, it is one of the best...I would highly recommend AspectJ in Action for anyone
who is interested in AOP. Although the examples all use AspectJ, I don't think you have to be an AspectJ user
to get something from this book."
"...I would recommend going with AspectJ in Action...you will get the most
bang for your buck from Ramnivas' work...The subject-oriented approach in
this book lends itself well to future reuse."