SPA Conference session: Customizable UIs for Naked Objects

One-line description:How the UIs automatically provided for your domain models by Naked Objects can be customized
 
Session format: Tutorial (75 mins) [read about the different session types]
 
Abstract:Over the years Naked Objects - a framework to develop domain-driven applications from only the domain objects themselves - has garnered varying degrees of interest (see SPA conferences passim). However, while it has been successfully deployed in at least one major system, many practitioners find the lack of customization of the generic OO viewers to be a stumbling block.

The next iteration of viewers for Naked Objects seek to remedy this. For both the web and rich client/server apps the viewers still provide a generic OO UI as a fallback, but offer plugin-points to allow individual properties, objects or collections of objects to be displayed in a custom fashion. For example, a collection of Appointment objects could be shown in a calendar view; or a transient domain object could styled to represent a wizard.

In this tutorial we'll quickly review the main concepts behind Naked Objects, to show how Naked Objects can be used "as-is" in the early stages to build a domain model. Then we'll see how bespoke customizations can be added for specific use cases.
 
Audience background:Naked Objects is written in Java, so Java knowledge (or equivalent OO experience in C# or Ruby, say) is required.
Of interest to analyst/developers.
 
Benefits of participating:By the end of the session you'll have a good understanding of what the two customization two of the viewers in Naked Objects do, and be in a position to start trying out your own development efforts.
 
Materials provided:Presentation slides
The software demos will be provided as a Maven project in a ZIP file.
 
Process:This session will be a combination of tutorial and interactive demo. We'll start demonstrating a simple domain model in Naked Objects, and show how NO lets the domain model evolve, with suggestions from the participants. Then we'll demonstrate some customizations for client/server apps (the DnD viewer), following by similar customizations for web apps (the scimpi viewer).
 
Detailed timetable:00:00 - 00:20 Naked Objects and demo
00:20 - 00:25 Evolve demo from participant feedback
00:25 - 00:45 Customizations for client/server apps: the DnD viewer
00:45 - 01:05 Customizations for the web: the scimpi viewer
01:05 - 01:15 questions and feedback
 
Outputs:The resultant application will be posted as a screencast to a blog, and be made available as a Maven application to allow participants to develop/experiment further.
 
History:There have been several Naked Objects presentations at SPA and other conferences, but this is the first time we've talked about customization of the UI.
 
Presenters
1. Dan Haywood
Haywood Associates Ltd.
2. Robert Matthews
nakedobjects.org
3.