Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: EntityId decision analysis page (wasRE:[higgins-dev]entityID notan attribute?)


Responding to Jim's question

>> How does it help an application to know whether a context's entityIDs
>> are mutable?

An application may store IdAS identifiers in local stores so the objects can be retrieved later.  There are use cases where an application will associate an EntityID to a non-Higgins database (e.g. customer order record, audit trail, work flow transaction, etc.). In these cases the application needs to know if the identifier represents the same person from one call to IdAS to the next. If the identifier is mutable, then the John Smith that starts a work flow may not be the same John Smith that ends a workflow.  

Other issues occur when organizational changes or name changes affect a mutable EntityID.  Again, applications that have stored the identifiers in application specific databases tend to break, when the identifier for a person changes.    

David

David Kuehr-McLaren
Tivoli Security
919.224.1960


higgins-dev-bounces@xxxxxxxxxxx wrote on 09/16/2008 04:04:52 PM:

> Yes, it's a good point Jim - all a getEntityIdsMutable method could do is
> serve as an input to a application making policy decisions.
>
> More useful might be a method for asking an Entity specifically for an
> immutable EntityId. Call it getCanonicalId. The rule would be that it always
> returns one EntityId value that the Context asserts is the immutable
> canonical identifier for that Entity in that Context.
>
> If the Context does not support immutable identifiers, then getCanonicalId
> will return an error, and the application can plan accordingly. But I
> suspect the value of having an immutable reference would incent CPs to
> support this method.
>
> =Drummond
>
> > -----Original Message-----
> > From: higgins-dev-bounces@xxxxxxxxxxx [mailto:higgins-dev-
> > bounces@xxxxxxxxxxx] On Behalf Of Jim Sermersheim
> > Sent: Monday, September 15, 2008 11:01 PM
> > To: 'Higgins (Trust Framework) Project developer discussions'
> > Subject: RE: EntityId decision analysis page (wasRE:[higgins-dev]entityID
> > notan attribute?)
> >
> > How does it help an application to know whether a context's entityIDs
> > are mutable?  Does that tell the client that they'd better not use this
> > Higgins policy objects (at least none that refer to entities as subjects
> > or resources)?
> >
> >
> >
> > >>> "Drummond Reed" <drummond.reed@xxxxxxxxxxxx> 09/15/08 9:59 PM >>>
> > Okay, after talking with Markus and Paul on the phone, and gathering the
> > last round of comments in email, I did another update to
> > http://wiki.eclipse.org/EntityId_Requirements. This should really be
> > called
> > "EntityId Requirements for Context Data Model 1.1", since what we're
> > talking
> > about here is the delta between what we have in 1.0 and 1.1.
> >
> > The current state as I understand it in 1.0 is that the entityId
> > parameter
> > to the getEntity method on IContext interface:
> >
> >    1. Is of type string (confirm?)
> >    2. Has cardinality 0..1
> >    3. MUST be Context-unique; MAY be globally unique.
> >    4. Is always exposed as an Attribute.
> >    5. Exposes no information about mutability.
> >
> > Following are the proposed changes in 1.1. Please do comment on each
> > one.
> >
> > #1: NOT REQUIRE entityId TO BE EXPOSED AS AN ATTRIBUTE
> >
> > The proposed change is to make EntityId OPTIONAL to expose as an
> > Attribute.
> > Contexts that do not want to expose the EntityId can omit it from the
> > list
> > of Attributes for an Entity. Note: if the EntityId is mutable, it SHOULD
> > be
> > exposed as an Attribute so it can be modified.
> >
> > #2: ADD getEntityIdsMutable METHOD
> >
> > The proposed change is to add a getEntityIdsMutable() method on IContext
> > that returns a Boolean indicating whether EntityIds in that Context are
> > mutable or not. True = mutable.
> >
> > #3: ADD getIdentifiers METHOD
> >
> > The proposed change is to add a getIdentifiers() method on IEntity that
> > returns all Identifiers for an Entity (0..n). By definition this would
> > return all identifiers that the Context considers to be synonyms of the
> > EntityId, even if the EntityId was not among the values returned.
> >
> > #4: MULTI-PART KEYS
> >
> > The proposal is to keep it simple by requiring multi-part keys to be
> > serialized into a composite identifier, which can then be used as an
> > EntityId or exposed as an Identifiers attribute.
> >
> > Again, comments welcome so we can close this.
> >
> > =Drummond
> >
> > > -----Original Message-----
> > > From: higgins-dev-bounces@xxxxxxxxxxx [mailto:higgins-dev-
> > > bounces@xxxxxxxxxxx] On Behalf Of Tom Doman
> > > Sent: Monday, September 15, 2008 1:34 PM
> > > To: 'Higgins (Trust Framework) Project developer discussions'
> > > Subject: RE: EntityId decision analysis
> > page(wasRE:[higgins-dev]entityID
> > > not an attribute?)
> > >
> > > +1
> > >
> > > On #1, I think more complex could get CP implementors into some
> > > difficult situations though that's just a hunch w/o concrete examples.
> > > But, like Jim, I prefer simple.
> > >
> > > On "another question", I don't see how we could guarantee immutability
> > > or referential integrity.  I understand the need, just not how we'd
> > pull
> > > it off especially w/o producing a major house of cards to implement.
> > > Event notification from the backing store, if even possible, would
> > still
> > > not be guaranteed to be reliable.  Maybe doing the best we can is
> > better
> > > than no guarantee whatsoever.
> > >
> > > Tom
> > >
> >
> > _______________________________________________
> > higgins-dev mailing list
> > higgins-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/higgins-dev
> >
> >
> > ------------------- TEXT.htm follows -------------------
> > <html>
> >   <head>
> >     <style type=3D"text/css">
> >       <!-- >         body { font-variant: normal; margin-left:
> 4px; margin-bottom: 1px;
> > =
> > line-height: normal; margin-top: 4px; margin-right: 4px }
> >         p { margin-bottom: 0; margin-top: 0 }
> >       -->
> >     </style>
> >    =20
> >   </head>
> >   <body style=3D"margin-left: 4px; margin-bottom: 1px; margin-top: 4px; =
> > margin-right: 4px">
> >     <p style=3D"margin-bottom: 0; margin-top: 0">
> >       <font face=3D"Dialog" size=3D"2">How does it help an application to
> > =
> > know whether a context&#39;s entityIDs are mutable&#63; &nbsp;Does that =
> > tell the client that they&#39;d better not use this Higgins policy objects
> > =
> > &#40;at least none that refer to entities as subjects or
> > resources&#41;&#63=
> > ; </font>    </p>
> > <br>     =20
> >     <p style=3D"margin-bottom: 0; margin-top: 0">
> >       <br>
> >       <br>
> >       &gt;&gt;&gt; &quot;Drummond Reed&quot;
> > &lt;drummond.reed@xxxxxxxxxxxx=
> > &gt; 09/15/08 9:59 PM &gt;&gt;&gt;<br>Okay&#44; after talking with Markus
> > =
> > and Paul on the phone&#44; and gathering the<br>last round of comments in
> > =
> > email&#44; I did another update to<br><a
> > href=""> > > tityId_Requirements.">http://wiki.eclipse.org/EntityId_Requirements.</a>&n
> > b=
> > sp;This should really be called<br>&quot;EntityId Requirements for Context
> > =
> > Data Model 1.1&quot;&#44; since what we&#39;re talking<br>about here is =
> > the delta between what we have in 1.0 and 1.1.<br><br>The current state as
> > =
> > I understand it in 1.0 is that the entityId parameter<br>to the getEntity
> > =
> > method on IContext interface:<br><br>&#160;&#160;&nbsp;1. Is of type =
> > string &#40;confirm&#63;&#41;<br>&#160;&#160;&nbsp;2. Has cardinality =
> > 0..1<br>&#160;&#160;&nbsp;3. MUST be Context-unique&#59; MAY be globally =
> > unique.<br>&#160;&#160;&nbsp;4. Is always exposed as an
> > Attribute.<br>&#160=
> > ;&#160;&nbsp;5. Exposes no information about mutability.<br><br>Following
> > =
> > are the proposed changes in 1.1. Please do comment on each
> > one.<br><br>&#35=
> > ;1: NOT REQUIRE entityId TO BE EXPOSED AS AN ATTRIBUTE<br><br>The proposed
> > =
> > change is to make EntityId OPTIONAL to expose as an Attribute.<br>Contexts
> > =
> > that do not want to expose the EntityId can omit it from the list<br>of =
> > Attributes for an Entity. Note: if the EntityId is mutable&#44; it SHOULD
> > =
> > be<br>exposed as an Attribute so it can be modified.<br><br>&#35;2: ADD =
> > getEntityIdsMutable METHOD<br><br>The proposed change is to add a =
> > getEntityIdsMutable&#40;&#41; method on IContext<br>that returns a Boolean
> > =
> > indicating whether EntityIds in that Context are<br>mutable or not. True =
> > &#61; mutable.<br><br>&#35;3: ADD getIdentifiers METHOD<br><br>The =
> > proposed change is to add a getIdentifiers&#40;&#41; method on IEntity =
> > that<br>returns all Identifiers for an Entity &#40;0..n&#41;. By
> > definition=
> >  this would<br>return all identifiers that the Context considers to be =
> > synonyms of the<br>EntityId&#44; even if the EntityId was not among the =
> > values returned.<br><br>&#35;4: MULTI-PART KEYS<br><br>The proposal is to
> > =
> > keep it simple by requiring multi-part keys to be<br>serialized into a =
> > composite identifier&#44; which can then be used as an<br>EntityId or =
> > exposed as an Identifiers attribute.<br><br>Again&#44; comments welcome so
> > =
> > we can close this.<br><br>&#61;Drummond<br><br>&gt; -----Original =
> > Message-----<br>&gt; From: higgins-dev-bounces@xxxxxxxxxxx
> > &#91;mailto:higg=
> > ins-dev-<br>&gt; bounces@xxxxxxxxxxx&#93; On Behalf Of Tom Doman<br>&gt; =
> > Sent: Monday&#44; September 15&#44; 2008 1:34 PM<br>&gt; To: &#39;Higgins
> > =
> > &#40;Trust Framework&#41; Project developer discussions&#39;<br>&gt; =
> > Subject: RE: EntityId decision analysis page&#40;wasRE:&#91;higgins-
> > dev&#93=
> > ;entityID<br>&gt; not an attribute&#63;&#41;<br>&gt;<br>&gt;
> > &#43;1<br>&gt;=
> > <br>&gt; On &#35;1&#44; I think more complex could get CP implementors =
> > into some<br>&gt; difficult situations though that&#39;s just a hunch w/o
> > =
> > concrete examples.<br>&gt; But&#44; like Jim&#44; I prefer
> > simple.<br>&gt;<=
> > br>&gt; On &quot;another question&quot;&#44; I don&#39;t see how we could
> > =
> > guarantee immutability<br>&gt; or referential integrity.&#160;&nbsp;I =
> > understand the need&#44; just not how we&#39;d pull<br>&gt; it off =
> > especially w/o producing a major house of cards to implement.<br>&gt; =
> > Event notification from the backing store&#44; if even possible&#44; would
> > =
> > still<br>&gt; not be guaranteed to be reliable.&#160;&nbsp;Maybe doing the
> > =
> > best we can is better<br>&gt; than no guarantee
> > whatsoever.<br>&gt;<br>&gt;=
> >
> > Tom<br>&gt;<br><br>_______________________________________________<br>higg
> > =
> > ins-dev mailing list<br>higgins-dev@xxxxxxxxxxx<br><a
> > href=""> > > clipse.org/mailman/listinfo/higgins">https://dev.eclipse.org/mailman/listi
> > n=
> > fo/higgins</a>-dev<br>
> >     </p>
> >   </body>
> > </html>
> > _______________________________________________
> > higgins-dev mailing list
> > higgins-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/higgins-dev
>
> _______________________________________________
> higgins-dev mailing list
> higgins-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/higgins-dev

Back to the top