T
The concept of What & What-With is easy to understand once you accept that administrative software is made up of a limited number of actions applied to an unlimited number of data entities.

What & What-With
.............................................................

The following is a graphical presentation of a very simple system feature: prompt the user for some search criteria, allow the user to select an item from the result list and show the details of the selected record.


 


Let us go back to the airline, insurance and banking system example.

Imagine we could somehow describe what an insurance claim looks like. Or a reservation or a savings account transaction. We would call this a 'self describing object'.

We could now write a generic search module that would be able to understand self-describing-objects.

The interaction between the generic search module and a self-describing-object would be something as follows:

Search module: What is your name?

Self-describing-object: Claim

Search module: Ok, the title of the search page will thus be 'Search Claim'. On how many field can the user search?

Self-describing-object: 3, 'Policy number', 'Date of incident' and 'Amount claimed'

Search-Module: I thus need to make sure there is room for 3 search fields. What are the details of 'Policy Number'

Self-describing-object: This must be a number of at least 6 and a maximum of 8 digits

...You get the picture. Basically the self-describing-object is able to give the generic search module all the information it needs to generate a 'claim search form'.



This is the essence of self-describing-objects: describing your data and thus being able to separate the 'what' in an application (search, list, view-details) from the 'what-with' (claim, reservation, transaction).