New England Software Symposium
September 14 - 16, 2007 - Boston, MA
Ramnivas Laddad
Author of AspectJ in Action, Principal at SpringSource
Ramnivas Laddad is a SpringSource Principal Enginner. He has over a decade of experience in applying his enterprise Java and aspect-oriented programming (AOP) expertise to middleware, design automation, networking, web application, user interface, and security projects.
Ramnivas Laddad is a well-known expert in enterprise Java, especially in the area of AOP and Spring. He is 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. Ramnivas, a Spring framework committer, is also an active presenter at leading industry events such as JavaOne, JavaPolis, No Fluff Just Stuff, SpringOne, Software Development, and has been an active member of both the AspectJ and Spring communities from their beginnings.
Presentations
Enterprise Applications with Spring: Part 1
This session (part 1 of the two-part session) shows the core concepts in the Spring Framework -- the most popular lightweight container that recently crossed 1 million downloads.
In this session we discuss the need for the Spring way of creating enterprise application. We cover the core ideas such as beans, dependency injection, container configuration, proxy-based AOP, and portable abstraction layer. By the end of this session, you will have a clear idea on what Spring is and what it can do for you.
Enterprise Applications with Spring: Part 2
This session (the second part of the 2-part session) will cover advanced concepts in the Spring framework. While the core concepts in the first session will get you started with Spring, the advanced concepts in this session will make you effective at developing Spring-based applications.
In this session, we will cover advanced concepts such as factory bean, proxy bean, and factory method. We will also cover effective ways to test your Spring applications as well as extend Spring to meet your special requirements. We will do live coding to explain many concepts. By the end of this session, you will be ready to start using Spring (or if you have already started, be effective with it).
Domain Driven Design: Simplifying Enterprise Architecture
Domain-Driven Design (DDD) recommends dealing with complex software system using a domain model and preserving the model through implementation. A direct mapping between domain model and software artifacts creates simple to understand, inexpensive to implement, and easy to evolve systems. The DDD approach suggests ways to distill domain knowledge into a model and offers patterns to design and implement that model.
This session covers important DDD concepts such as entities, value objects, aggregates roots, modules, repositories and how to use those effectively in your enterprise application.
Leveraging annotations with AOP
Specifying metadata using annotations has gained huge popularity since its introduction in Java 5. However, the story on consuming annotations isn't as clear. Reading and processing annotation is still a complex process often requiring you to understand byte-code manipulation tools and their low-level API. As a result, most developers shy away from using custom annotations, limiting their usages of annotations only those prescribed by frameworks. The result is missed opportunities for programming simplification. In this session, we explore how AOP can make it a simple task to consume annotation in a powerful manner.
This session explores many opportunities to consume annotations using Spring AOP and AspectJ. The examples discussed in this session cover a wide range from auditing, monitoring to security, transaction management, and policy enforcement. It also examines best practices in using annotations to avoid pre-processor like use of them.
Books
by Ramnivas Laddad
-
To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring.
AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad's best-selling first edition. It's a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You'll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you'll apply AOP to common problems encountered in enterprise applications.
This book requires no previous experience in AOP and AspectJ, but it assumes you're familiar with OOP, Java, and the basics of Spring.
"Clear, concisely worded, well-organized ... a pleasure to read."
-From the Foreword by Rod Johnson, Creator of the Spring Framework
"This book teaches you how to think in aspects. It is essential reading for both beginners who know nothing about AOP and experts who think they know it all."
-Andrew Eisenberg, AspectJ Development Tools Project Committer
"Ramnivas showcases how to get the best out of AspectJ and Spring."
-Andy Clement, AspectJ Project Lead
"One of the best Java books in years."
-Andrew Rhine, Software Engineer, eSecLending
"By far the best reference for Spring AOP and AspectJ."
-Paul Benedict, Software Engineer, Argus Health Systems
"Ramnivas expertly demystifies the awesome power of aspect-oriented programming."
-Craig Walls, author of Spring in Action
-
To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring.
AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad's best-selling first edition. It's a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You'll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you'll apply AOP to common problems encountered in enterprise applications.
This book requires no previous experience in AOP and AspectJ, but it assumes you're familiar with OOP, Java, and the basics of Spring.
"Clear, concisely worded, well-organized ... a pleasure to read."
-From the Foreword by Rod Johnson, Creator of the Spring Framework
"This book teaches you how to think in aspects. It is essential reading for both beginners who know nothing about AOP and experts who think they know it all."
-Andrew Eisenberg, AspectJ Development Tools Project Committer
"Ramnivas showcases how to get the best out of AspectJ and Spring."
-Andy Clement, AspectJ Project Lead
"One of the best Java books in years."
-Andrew Rhine, Software Engineer, eSecLending
"By far the best reference for Spring AOP and AspectJ."
-Paul Benedict, Software Engineer, Argus Health Systems
"Ramnivas expertly demystifies the awesome power of aspect-oriented programming."
-Craig Walls, author of Spring in Action
by Ramnivas Laddad
by Ramnivas Laddad
-
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.
-
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.
by Kal Ahmed, Sudhir Ancha, Andrei Cioroianu, Jay Cousins, Jeremy Crosbie, John Davies, Kyle Gabhart, Steve Gould, Ramnivas Laddad, Sing Li, Brendan Macmillan, Daniel Rivers-Moore, Judy Skubal, Karli Watson, Scott Williams, and James Hart
-
Java is a powerful and fast maturing development platform used to create client/server applications on any platform. XML is the most recent markup language, a standard format for the universal sharing of data and an intrinsic part of all major development both on the Web, and in the wider business community. Enterprise web applications are increasingly combining Java and XML technologies to provide more efficient ways to integrate Internet presence with business systems in the world of e-commerce.
This core professional compendium breaks down into three main sections. The first presents the basic XML standards, Java APIs and programming tools for handling XML. The second part presents a selection of Java techniques which make up the building blocks for XML-based applications. The section is Java-centric, and presents the common scenarios for XML data I/O, building on the basic tools presented in part one. The final and largest section of the book shows how XML applications can be built on top of the techniques shown in part two, and demonstrates how XML can be used to solve real programming problems.
If you want a hefty box of XML manipulation tools at your disposal and would like to discover how the language could be used in your Java applications, then this book is for you.
-
Java is a powerful and fast maturing development platform used to create client/server applications on any platform. XML is the most recent markup language, a standard format for the universal sharing of data and an intrinsic part of all major development both on the Web, and in the wider business community. Enterprise web applications are increasingly combining Java and XML technologies to provide more efficient ways to integrate Internet presence with business systems in the world of e-commerce.
This core professional compendium breaks down into three main sections. The first presents the basic XML standards, Java APIs and programming tools for handling XML. The second part presents a selection of Java techniques which make up the building blocks for XML-based applications. The section is Java-centric, and presents the common scenarios for XML data I/O, building on the basic tools presented in part one. The final and largest section of the book shows how XML applications can be built on top of the techniques shown in part two, and demonstrates how XML can be used to solve real programming problems.
If you want a hefty box of XML manipulation tools at your disposal and would like to discover how the language could be used in your Java applications, then this book is for you.


