Hi,
I use Hibernate in a collocated architecture where the web, service and data access layers are located on the same JVM. The architecture I have chosen allows the domain layer to span across the web, service and data layers. The data layer is responsible for storing/loading the domain objects, service layer responsible for transaction demarcation and some minimal business logic and the web layer is responsible for displaying the domain layer. I have chosen not to use data transfer objects in the web layer to increase productivity and avoid the pain of writing DTO assemblers for converting domian objects to DTOs back and froth.
However, I have faced significant resistence within the team about not using data transfer objects and using the domain objects in the view layer. My opinion is that the domain layer is the reusable asset and can be used in the service, view and integration layers. This is applicable even in a distributed envronment where the persistence framework can support attached and detached mode operations. So, in a collocated environment this becomes more less of an issue.
I need to substantiate this decison in my software architecture document. Could someone kindly point me to links stating the same point.
Any help would be highly appreciated.
Ta
Abu Mariam
|