Represents user-friendly identifier of an object on a target resource. It should be human-readable and it is used to create an resource object (e.g. account username). It is the name of the object that humans usually care about.
Represents the unique identifier of an object within the name-space of the target resource. Should be immutable if possible. It is returned from the create operation and must be used for other operations to identify the object. This may not be human readable and is often (pseudo-randomly) generated. This is the identifier of an object that machines usually care about.
get, modify, delete
For some simple resources the UID and NAME may be the same. Actually that is a usual case that they are the same, which adds to the confusion. Also do not confuse the ICF UID with other attributes that may be named "uid" such as LDAP
uid which is a part of
inetOrgPerson schema. ICF UID is a separate and quite powerful concept which needs some time to get used to. In the early phases of the learning curve it helps to think about it simply as an identifier of a resource object.