Every management agent has an "anchor" defined - with the anchor being the attribute or set of attributes that uniquely identify a record and that have values which never change. However in the case of the management agents you are using (AD, ADLDS, FIM),
the anchors are internal and you can't change or see them (you also wouldn't want to change them). This is because these systems have an inherent internal key that uniquely identifies record and never changes. For things like text files and SQL tables, you
have to define these anchors because they don't have inherent internal keys.
A connection (joined record) in the FIM Sync engine is the association between an anchor in a management agent and an object id in the metaverse.
A join rule in the FIM Sync engine is a definition about how to potentially associate (connect) unconnected (disconnected) records in a management agent to corresponding records in the metaverse.
The thing that is easy to miss is that a connection and a join rule are not the same thing. Join rules are used to make connections, but once a record is connected, you can delete the join rule or change the values of the attributes referred to in the
join rule so that the join rule no longer matches and the record will still be connected. Join rules do not need to refer to the anchor attributes (and frequently don't). While management agents can have multiple join rules per object type (multiple
different ways to try to connect), a given record in a management agent (connector space) is either connected to the metaverse or it is not - it is either a connector or a disconnector.
When thinking about synchronization you want to think about the connection process separately from the attribute flow process. During synchronization there is a process to determine if any disconnected records need to be connected (evaluation of join
rules) and after that data flows through the connections (attribute flow) as specified by the synchronization rules.
So... to get to your question of how does FIM know at export time how to where to send the data -- On export FIM will send the data across any existing connections that were
previously created. "Previously" means during an inbound synchronization which could have happened in an earlier phase of the current synchronization cycle, or could have happened a long time ago.
"Relationship Criteria" is how you set up join rules that are used create a connection during an
inbound synchronization operation - This is why it is greyed out if your rule only has outbound flow.
Additional note: Inbound and Outbound scoping filters are additional filters that prevent or allow data to flow across an existing connection, they don't set up the connections themselves.
Hope this makes more sense.
Rex
-
Marked as answer by
Shim Kwan
Thursday, April 24, 2014 3:20 AM