Rocky Mountain Software Symposium
May 5 - 7, 2006 - Denver, CO
View the event details here ».
Author of POJOs in Action
Chris Richardson is a developer and architect with over 20 years of experience. He is a Java Champion and the author of POJOs in Action, which describes how to build enterprise Java applications with POJOs and frameworks such as Spring and Hibernate. Chris is the founder of CloudFoundry.com and works on cloud technology. He has a computer science degree from the University of Cambridge in England and lives in Oakland, CA with his wife and three children.
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.
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.