Although it has evolved since, the Apache Causeway framework started out as an open source implementation of the naked objects pattern. Indeed, the generic user interfaces provided by Apache Causeway Wicket viewer and the Restful Objects viewer are both "just" naked objects implementations; the first serves up a default generic representation of domain objects for human interaction, the latter serving up representation intended for machine consumption rather than human beings.

If the idea of naked objects is of interest, then there are a couple of books on the topic that you might want to read.

Naked Objects

Richard Pawson and Robert Matthews, Wiley 2002

nakedobjects book

This book describes the original ideas of Naked Objects. Although based on a very early version of the framework, it’s still definitely worth a read (and beautifully produced).

Amazon quotes: (avg 5 stars)

  • Brilliant argument and toolkit for information systems

  • Most thoughtful and beautiful technical book I have read

  • Excellent presentation of an innovative practical idea

The book is freely available online here. Or, you can get a hardcopy of the book at Wiley (publisher) and Amazon.

Domain Driven Design using Naked Objects

Dan Haywood, Pragmatic Bookshelf 2009


This more recent book draws the parallel between domain-driven design and Naked Objects (4.0). In the spirit of the Pragmatic Bookshelf, it’s a practical, hands-on sort of book, building up a case study as it goes and encouraging you to build your own app as you go.

Amazon quotes: (avg 4.5 stars)

  • Important Contribution to Domain-Driven Design

  • The easy-to-learn Naked Objects Framework .. provide[s] a masterful exposition on DDD

  • Clear and passionate book about a great subject

  • Excellent book and a great framework

You can find the book at Pragmatic Bookshelf (publisher) and Amazon.

Restful Objects Specification

Dan Haywood

The Restful Objects specification defines a set of RESTful resources, and corresponding JSON representations, for accessing and manipulating a domain object model.

This is a comprehensive specification, running to over 200 pages in length. It is implemented by Apache Causeway' Restful Objects viewer, and is also implemented by another (non-Apache) open source project, Naked Objects Framework.