Association
Un objet Association lie des entités associées dans un système. Dans le système AdventureWorks, par exemple, un client est associé à une commandeclient (salesorder), car un client passe des commandes. Une association contient des pointeurs vers les entités parente et enfant, ainsi qu'un pointeur vers la logique métier (un objet MethodInstance) permettant à un client d'obtenir l'entité enfant de l'entité parente. Le parcours d'une association est un appel de méthode sur le système métier.
Les objets SourceEntity et DestinationEntity ne sont pas des objets de métadonnées distincts. Ce sont des instances de l'objet de métadonnées Entity. Les objets SourceEntity et DestinationEntity doivent exister dans le même objet LobSystem.
La logique de l'association (MethodInstance) peut être sur n'importe quelle entité (source ou de destination) ou sur une entité non associée. L'ordre dans lequel vous définissez les entités source et de destination est toutefois très important, car le fichier XML est traité du haut vers le bas. Pour cette raison, vous devez vous assurer que les entités référencées dans la méthode d'association soient définies avant l'entité contenant la méthode d'association. Si les entités ne sont pas dans le bon ordre, un message d'erreur s'affiche lorsque vous essayez d'ajouter une définition d'application au catalogue de données métiers. Cette erreur s'affiche car la méthode d'association contient des références à des entités qui ne sont pas encore créées.
Le catalogue de données métiers prend en charge plusieurs SourceEntity et un scénario objet DestinationEntity . Pour un exemple, voir SampleWebService.
Un objet AssociationMethodInstance contient des emplacements dans l'entrée pour les valeurs d'identificateur de l'instance d'entité de code source, et un emplacement dans la sortie pour les valeurs d'identificateur des instances d'entités de code de destination. Par conséquent, vous devez baliser suffisamment d'objets d'entrée TypeDescriptor avec des identificateurs correspondant à chaque identificateur de chaque entité qui est une source dans l'association dans la méthode Association. L'attribut IdentifierName sur un objet d'entrée TypeDescriptor demande au catalogue de données métiers d'insérer la valeur d'identificateur de l'instance d'entité pertinente avant d'exécuter la méthode. Par exemple, dans une AssociationMethodInstance, l'utilisateur a probablement fourni les valeurs d'identificateur pour l'instance d'entité source qu'il souhaite récupérer. Le catalogue de données métiers insèrera cette valeur dans cet emplacement après instanciation de ce paramètre à l'aide de toutes les valeurs par défaut.
Le catalogue de données métiers prend également en charge les pseudo-associations de clés étrangères. Les pseudo-associations de clés étrangères ne sont pas des associations de première classe. Supposons par exemple qu'une méthode Web renvoie un client, et que l'un des champs du client est la clé vers l'adresse du client. Un modeleur de métadonnées pourrait utiliser cette méthode comme méthode d'association client. Le catalogue de données métiers prend également en charge les pseudo-associations de clés étrangères. Les pseudo-associations de clés étrangères voient que la cible de cette méthode est une adresse, récupèrent la clé de l'adresse à partir du client renvoyé, puis appellent Address.FindSpecific() sur celui-ci pour renvoyer l'adresse automatiquement.
Notes
La catalogue de données métiers ne prend pas en charge le chaînage cyclique des entités par le biais d'associations. Autrement dit, il ne prend pas en charge « entité A est liée à l'entité B est liée à l'entité C est liée à l'entité A ».
Exemple
<Associations>
<Association AssociationMethodEntityName=" Customer"
AssociationMethodName=" GetSalesOrdersForCustomer"
AssociationMethodReturnParameterName="SalesOrders"
Name=" CustomerToSalesOrder" IsCached="true">
<SourceEntity Name="Customer" />
<DestinationEntity Name="SalesOrder" />
</Association>
</Associations>
Schéma
Enfant | Type | Se produit | Par défaut | Valeurs limites/acceptées | Description |
---|---|---|---|---|---|
AssociationMethodEntityName |
Attribut (String) |
1..1 |
Le nom de entité contenant la méthode qui parcourt l'association. |
||
AssociationMethodName |
Attribut (String) |
1..1 |
Nom de la méthode qui parcourt l'association. |
||
AssociationMethodReturnParameterName |
Attribut (String) |
1..1 |
Le nom du paramètre de retour qui contient les instances d'entité de destination. |
||
SourceEntity |
Élément |
1..many |
Représente une entité de code source dans les associations. Les associations peuvent avoir plusieurs entités de code source. Par exemple, dans SAP, un client et une région de ventes sont nécessaires pour obtenir une liste de commandes client. |
||
DestinationEntity |
Élément |
1..1 |
SourceEntity
Enfants
Enfant | Type | Se produit | Par défaut | Valeurs limites/acceptées | Description |
---|---|---|---|---|---|
Name |
Attribut (String) |
1..1 |
Nom d'une entité de code source dans l'association. |
DestinationEntity
Enfants
Enfant | Type | Se produit | Par défaut | Valeurs limites/acceptées | Description |
---|---|---|---|---|---|
Name |
Attribut (String) |
1..1 |
Nom d'une entité de destination dans l'association. |
Voir aussi
Autres ressources
Exemple SQL Server 2000 AdventureWorks
Procédure : utiliser le modèle objet Runtime
Procédure : mise en route de l'utilisation du modèle objet Administration
Forum aux questions : catalogue de données métiers
Catalogue de données métiers : glossaire