A bidirectional metadirectory agent a data source converter layer; a
filters and rules layer for blocking disallowed changes; a mapping layer
for translating attributes in change commands from a local set of
attribute names to a set of metadirectory attribute names, and vice
versa, and for converting change commands between said agent-internal
common format and a directory change protocol; an extensible user
customization layer for implementing custom metadirectory agent
functions; and a metadirectory interface for sending and receiving said
change commands in said directory change protocol.