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
Root DataObject
The virtual member manager data graph consists of a single root data object called Root.
Root is a pseudo data object and does not have any meaning other than as a container.
The structure of an entity data object consists of a dynamic schema and three properties:
contexts
contain 0 to n Context data objects. Context DataObject specifies the contextual information for the API call. Examples of such information include realm and HTTPServletRequest.
entities
contain 0 to n Entity data objects. Each Entity DataObject represents a virtual member manager entity, like PersonAccount and Group. It contains the actual data associated with the entity (like uniqueName, uid and cn attributes).
controls
contain 0 to n Control data objects. Control DataObject is used for specifying the request information and response information for the API call. For example, the property names to be returned in a get operation can be specified in PropertyContol.
XML schema definition
The following is the XML schema definition for the Root data object:
<xsd:complexType name="RootType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="contexts" type="Context"/> <xsd:element maxOccurs="unbounded" minOccurs="0" name="entities" type="Entity"/> <xsd:element maxOccurs="unbounded" minOccurs="0" name="controls" type="Control"/> <xsd:element ref="dynamicSchema" minOccurs="0" maxOccurs="1"/> <xsd:element name="propertyDataTypes" type="xsd:token" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="validated" type="xsd:boolean" default="false"/> </xsd:complexType>
Sample data object
The following sample data object shows a Root data object containing a PersonAccount data object and a PropertyControl data object:
<wim:Root> <wim:entities xsi:type="wim:PersonAccount"> <wim:identifier uniqueName="uid=persona,cn=users,dc=yourco,dc=com"/> </wim:entities> <wim:controls xsi:type="wim:PropertyControl"> <wim:properties>uid </wim:properties> <wim:properties>cn </wim:properties> <wim:properties>sn </wim:properties> </wim:controls> </wim:Root>
Parent topic: Program model