[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]