Express (Distributed operating systems), v8.0 > Secure applications and their environment > Authenticate users > Select a registry or repository > Manage realms in a federated repository > Virtual member manager > Reference > Program model
Entity DataObject
Entity DataObject represents a virtual member manager entity.
All other entity types, like PersonAccount, Group, OrgContainer, are extended from this Entity DataObject. The following shows the inheritance relationship among entity data objects:
- Entity
- Geographic Location
- Locality
- Country
- RolePlayer
- Party
- Person
- Group
- OrgContainer
- LoginAccount
- PersonAccount
The RolePlayer and Party data objects are for the future expansion of virtual member manager and are part of the schema for this release to provide forward compatibility.
The data graph structure of an entity data object consists of:
identifier
contains a single IdentifierType DataObject.
parent
is a containment property which is used to link to the parent of the entity in the virtual member manager hierarchy. It only contains a single Entity data object because an entity can only have one parent. Also, because any entity can be parent of any other entity, the data object in the property is an Entity data object.
children
is a containment property used to link to the children of the entity in the virtual member manager hierarchy. It contains multiple Entity DataObjects because an entity can have multiple children. Also, because any entity can be a child of another entity, the data object in the property is an Entity data object.
groups
is a containment property which is used to link to the groups this entity belongs to. It contains multiple Group DataObjects because an entity can belong to multiple groups.
XML schema definition
The following is the XML schema definition for Entity DataObject:
<xsd:complexType name="Entity"> <xsd:sequence> <xsd:element name="identifier" type="IdentifierType" minOccurs="1" maxOccurs="1"/> <xsd:element maxOccurs="1" minOccurs="0" ref="parent"/> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="children"/> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="groups"/> <xsd:element maxOccurs="1" minOccurs="0" ref="createTimestamp"/> <xsd:element maxOccurs="1" minOccurs="0" ref="modifyTimestamp"/> </xsd:sequence> </xsd:complexType>
Sample data object
The following is a sample Entity data object that contains one entity as its parent and two Group entities as its groups.
<wim:Root> <wim:entities xsi:type="wim:PersonAccount"> <wim:identifier uniqueName="uid=persone,ou=OrgUnitA,o=OrgA,cn=users,dc=yourco,dc=com"/> <wim:groups> <wim:identifier uniqueName="cn=Group A,cn=groups,dc=yourco,dc=com"/> </wim:groups> <wim:groups> <wim:identifier uniqueName="cn=Group B,cn=groups,dc=yourco,dc=com"/> </wim:groups> </wim:entities> </wim:Root>
- IdentifierType DataObject
IdentifierType represents the identifier of a virtual member manager entity.- LoginAccount and PersonAccount DataObjects
Virtual member manager supports a LoginAccount entity type and a PersonAccount entity type that allow a person to have multiple login accounts and allow the schema of a person and his login accounts to be independent of each other.- Person DataObject
Person represents a human.- Group DataObject
Group represents a collection of entities.- OrgContainer DataObject
OrgContainer is an organizational container.- GeographicLocation DataObject
GeographicLocation DataObject is an abstract data object that extends from the Entity DataObject.- Property types supported by virtual member manager
The virtual member manager data object support various properties.
Parent topic: Program model