Ramnivas Laddad

Selected Publications

Books:

This book, which has been labeled as the most useful guide to AOP/AspectJ, explains the AOP methodology and the AspectJ language. This book shows modularizing system-wide concerns such as logging, policy enforcement, resource pooling, caching, thread-safety, authentication and authorization, transaction processing, and business rule by synergistically combining AspectJ with technologies such as log4j, JAAS, JTA, JDBC, Swing, and Jess.

Articles:

Like any new and exciting technology, AOP has generated its fair share of buzz, and also its fair share of myths and misunderstandings. After following AOP coverage on the Web and listening to the questions asked at conferences, I started to see some common themes (or myths) that deserve to be cleared up.
AOP and metadata: A perfect match (March 2005)
Metadata is a way to express additional information about program elements. The new metadata facility in the Java programming language enables the use of typed annotations. Using metadata is quite simple, although consuming it brings up many choices. Aspect-oriented programming presents itself as a principled consumer of metadata. The join point model augmented with metadata makes AOP accessible by facilitating simpler pointcuts for crosscutting concerns that would not be so easily specified by stable signature-based pointcuts.
Aspect oriented refactoring series at TheServerSide.com (December 2003)
Refactoring, a process and a set of techniques to reorganize code while preserving the external behavior, has gained popularity due to its practical value in creating agile code. Recently, aspect-oriented programming (AOP) has received increased attention due to its power in encapsulating crosscutting concerns in a system through use of a new unit of modularity called an aspect. Aspect-oriented refactoring (AO refactoring) synergistically combines these two techniques to refactor crosscutting elements. In this two-part series, we will examine the fundamentals of AO refactoring, the steps involved in the process, and a few common techniques.
I want my AOP! series at JavaWorld.com (January-April 2002)
Most software systems consist of several concerns that crosscut multiple modules. Object-oriented techniques for implementing such concerns result in systems that are invasive to implement, tough to understand, and difficult to evolve. The new aspect-oriented programming (AOP) methodology facilitates modularization of crosscutting concerns. Using AOP, you can create implementations that are easier to design, understand, and maintain. Further, AOP promises higher productivity, improved quality, and better ability to implement newer features. This article, the first in a three-part series, introduces the AOP concept and the problems it attempts to solve.

Bio

is a well-known expert in enterprise Java, especially in the area of AOP and Spring. He is a Spring Framework and Cloud Foundry committer. Ramnivas is also the author of AspectJ in Action, the best-selling book on AOP and AspectJ that has been lauded by industry experts for its presentation of practical and innovative AOP applications to solve real-world problems. He has spoken at many leading industry events including JavaOne, JavaPolis, No Fluff Just Stuff, SpringOne, and O'Reilly OSCON. Currently he leads a group at VMware that focuses on enterprise and developer experience for cloud computing. In recent years, Ramnivas has become a Scala fan. Ramnivas lives in the Silicon Valley.