Speakers
- Dan Allen
- Aaron Bedra
- Tim Berglund
- Rohit Bhardwaj
- David Bock
- Stevie Borne
- Jeff Brown
- James Carr
- Scott Davis
- Jeremy Deane
- Keith Donald
- Michael Easter
- Robert Fischer
- Neal Ford
- Brian Gilstrap
- Andrew Glover
- Brian Goetz
- Stuart Halloway
- David Hussman
- Mark Johnson
- Dave Klein
- Scott Leberknight
- Tiffany Lentz
- Howard Lewis Ship
- Chris Maki
- Matthew McCullough
- Alex Miller
- Ted Neward
- Michael Nygard
- Pratik Patel
- Mark Richards
- Brian Sam-Bodden
- Srivaths Sankaran
- Nathaniel Schutta
- Aleksandar Seovic
- Ken Sipe
- Brian Sletten
- Matt Stine
- Venkat Subramaniam
- Burr Sutter
- Vladimir Vivien
- Mark Volkmann
- Craig Walls
- Richard Worth
Chris Richardson
Author of POJOs in Action
Blog
Leave a broken test - a great example of why that's an excellent idea
Posted Monday, November 12, 2007
Today, I was reminded why it's a good idea to end a programming session with a failing test (suggested by Kent Beck in his TDD book). Last week I went to the excellent QCon conference and hadn more »My SpringOne talk on building applications with Spring is now available
Posted Tuesday, November 6, 2007
At SpringOne 2007 I gave two talks. The first was on improving application design with a rich domain model. The second more »Presentations
Developing Rich Domain Models
Object-oriented design (OOD) is good way to tackle the complexity of modern applications. Yet many complex, enterprise Java applications are written in a procedural style. One reason is because EJB2 created too many obstacles to using object-oriented desi more »Comparing EJB 3 with Spring and Hibernate
The limitations of EJB2 led to the development of the extremely popular Spring and Hibernate frameworks. These frameworks replaced the cumbersome EJB2 programming model with a nimble, non-invasive Plain Old Java Object (POJO) –based model. But, now, the E more »Business logic organization and encapsulation strategies
Key to making good design decisions is knowing the available options and understanding their respective benefits and drawbacks. This presentation looks at two important design decisions that you must make when developing the business logic for an enterpri more »Object-oriented design (OOD) is good way to tackle the complexity of modern applications. Yet many complex, enterprise Java applications are written in a procedural style. One reason is because EJB2 created too many obstacles to using object-oriented design techniques. Fortunately, enterprise Java technologies have improved. Plain Object Java Objects (POJOs) and object/relational mapping frameworks such as Hibernate, JDO and EJB3 led to the revival of OOD.
In this presentation, you will learn how to implement business logic using a rich POJO domain model. We will compare and contrast a procedural design with an object-oriented design and describe the benefits of OOD. You will learn how non-invasive frameworks provide dependency injection and persistence for a domain model.
The limitations of EJB2 led to the development of the extremely popular Spring and Hibernate frameworks. These frameworks replaced the cumbersome EJB2 programming model with a nimble, non-invasive Plain Old Java Object (POJO) –based model. But, now, the EJB3 specification has embraced many of the ideas made popular by Spring and Hibernate including POJOs, transparent persistence and dependency injection.
So what’s the future of Spring and Hibernate? Are they obsolete? In this presentation, you will learn the answers to these and other questions. We describe how EJB 3 persistence compares to Hibernate and how EJB3 services such as transaction management and dependency injection compare with those provide by Spring. You will learn the benefits and drawbacks of each of these frameworks.
Key to making good design decisions is knowing the available options and understanding their respective benefits and drawbacks. This presentation looks at two important design decisions that you must make when developing the business logic for an enterprise Java application: how to organize the business logic and how to encapsulate the business logic.
The first part of the talk describes the two main ways to organize business logic: an object-oriented design (a.k.a domain model) and a procedural design (a.k.a. transaction script). You will learn how to implement the business logic using each of these approaches and which lightweight frameworks to use. We will cover the criteria that you can use to decide between the two approaches.
In the second part of the talk, you will learn about the different options for encapsulating the business logic: the traditional EJB façade pattern, the newer POJO façade pattern and the Open Session in View pattern (a.ka Exposed Domain Model pattern). We describe how to implement each of these patterns and their respective benefits and drawbacks.