OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

provision message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Stateful relationships (was "Re: [provision] Relationship models")


Darran Rolls wrote:

> Leading Statements / Open Questions
>  
> 1 - Relationships themselves are not defined as concrete objects in 
> the 2.0 model, that is to say a relationship would not have a specific 
> ID but would instead be the result of the connection between two or 
> more PSO's that do have specific IDs

We agreed to this for containment and reference relationships--and I 
don't want to change it, because I think that containment and reference 
relationships can be used to represent the vast majority of 
relationships.  Since these are relatively lightweight and transient 
(rather than persistent), I think we should strongly prefer them.

I can also envision a "stateful" relationship--one that has information 
"on the arrow" of the connection and is persistent.  (In the old 
database world, this was known as a "linking record".)  This kind of 
relationship is probably best modeled as a PSO with either:
1) reference relationships to two connected objects; or
2) a containment relationship to a parent object and a reference 
relationship to a connected object

Note that the former (1) poses a referential integrity problem: the 
relationship object could persist beyond its referents--i.e.., the 
objects to which it refers.  The latter approach (2) poses the same 
referential integrity problem with respect to its referent, but the 
containment relationship implies that the relationship object would be 
deleted along with its parent.  The latter approach makes sense when the 
relationship has a strong sense of direction.

One example of a stateful relationship that occurs in Sun's IDM product 
is the link between a User and each owned account.  There is information 
"on the arrow" of each connection--e.g., pending attribute values 
(representing changes that have not yet been pushed to the 
account)--that is meaningless when the User (or virtual identity) is 
deleted.

I want to make clear that I am not proposing that we specify support for 
stateful relationships at this time.  I simply want to recognize (for 
theoretical completeness) that other types of relationships exist, and 
to suggest a way to model them.  Each type of stateful relationship 
could be modeled as a PSO type with relationships to the connected PSO 
types.  Each instance of a stateful relationship would therefore be 
represented as a PSO with relationships to the objects it connects.

Gary



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]