Recursos para Profesionales de TI > Página principal de foros > Identity Lifecycle Manager 2 > Provisioning XML file with a Extensible Connectivity MA
Formular una preguntaFormular una pregunta
 

RespondidaProvisioning XML file with a Extensible Connectivity MA

  • martes, 24 de noviembre de 2009 23:59kichitan Medallas del usuarioMedallas del usuarioMedallas del usuarioMedallas del usuarioMedallas del usuario
     

    Hi Everyone

    I have a new question I couldnt do the synchronization rules, workflows, sets and MPR.  Somebody can help me with the synch rules, workflows, set and MPR to provision mi XML file from my ORACLE DB?

    Servers

     - FIM RC1 2010 ( 1 server with the service synch and 1 server with  the portal service).
    - AD
    - Oracle

    Scenario

    Oracle HR source has to provisioning  ->  Ad and XML File  (user data basically).

    Oracle source table

    Fields EmployeeID, Employeetype, FirstName, LastName, UserID


    Configuration by MA

    I have 3 MAs

    FIMMA
    MyFileBasedExportECMA
    Oracle kichitan MA




     

    MyFileBasedExportECMA Confguration
    Specify the interfaces Supportes by this management agent:

     Import and Export

    Specify the export mode supported by this management agent:

    File-based

    Connected data source extension name:

    ECMA.dll

    Configure Additional Parameters:

    ExportFileName: Export.xml
    RootElementName: sample-objects
    ObjectElementNAme: Object

    Configure Attributes:

    Objectclass
    delta
    employeeid
    firstname
    lastname
    userid
    employeetype

    Map Objetc Types:

    Person

    Define Object Types:

    Person

    Configure Connector Filter:

    no filters

    Configure Join and Projection Rules:

    No join or projections

    Configure Attribute Flow:

    employeeid  <-  employeeid
     firstname  <-  firstname
      lastname  <-  firstname

    All of them direct export.

    Confgure Deprovisioning:

    Make them disconnectors

    Configure Extensions

    Nothing



    Oracle kichitan configuration

     

    -Configure Columns

     

    EmployeeID (AnchorID)

    Firstname

    Lastname

    UserID

    EMployeeTYpe

     

    -Configure Connector Filter

     

    No filters

     

    -Configure Join and Projection Rules

     

    Projection RULE to ECMA person (is a custom object type, but is equal to Person)

     

     

     

    -Attribute Flow

     

    Person to ECMAPerson

     

     

    EmployeeID         ->  employeeID

    EmployeeType       ->  employeeType

    FirstName          ->  firstName

    LastName           ->  lastName

     

    Configure Desprovisioning

     

    Make them disconnectors

     

    -Configure Extensions

     

    Nothing

     



    MyFileBasedExportECMA´s CODE

    Imports Microsoft.MetadirectoryServices

    Imports System.IO

    Imports System.Xml

     

     

    Public Class MyImportECMA

        Implements IMAExtensibleFileImport

        Implements IMAExtensibleFileExport

        '------------------------------------------------------------------

        Public Sub GenerateImportFile(ByVal fileName As String, _

                                      ByVal connectTo As String, _

                                      ByVal user As String, _

                                      ByVal password As String, _

                                      ByVal configParameters As Microsoft.MetadirectoryServices.ConfigParameterCollection, _

                                      ByVal fFullImport As Boolean, _

                                      ByVal types As Microsoft.MetadirectoryServices.TypeDescriptionCollection, _

                                      ByRef customData As String) Implements Microsoft.MetadirectoryServices.IMAExtensibleFileImport.GenerateImportFile

     

            '--------------------------------------------------------------

            'Read the schma definition from the schema file

            Dim swSchema As New StreamReader(configParameters("SchemaFilePath").Value)

            Dim header As String = swSchema.ReadLine.ToLower

            swSchema.Close()

            '--------------------------------------------------------------

            'Write the header into the file

            Dim swImport As New StreamWriter(fileName)

            swImport.WriteLine(header)

            '--------------------------------------------------------------

            'Load the correct XML data file

            Dim doc As New XmlDocument

            If (fFullImport) Then

                doc.Load(configParameters("FullImportFilePath").Value)

            Else

                doc.Load(configParameters("DeltaImportFilePath").Value)

            End If

            '--------------------------------------------------------------

            Dim node As XmlNode

            'Loop through each object in the XML data file

            For Each node In doc.DocumentElement.ChildNodes

                Dim objectAttributes As String = ""

                Dim attributeName As String = ""

                'Read the attribute values for each attribute

                For Each attributeName In header.Split(",")

                    If (objectAttributes.Length > 0) Then objectAttributes += ","

                    objectAttributes += node.SelectSingleNode(attributeName).InnerXml

                Next

                swImport.WriteLine(objectAttributes)

            Next node

            '--------------------------------------------------------------

            'Close the stream writer

            swImport.Close()

            '--------------------------------------------------------------

     

        End Sub

     

        Public Sub DeliverExportFile(ByVal fileName As String, ByVal connectTo As String, ByVal user As String, ByVal password As String, ByVal configParameters As Microsoft.MetadirectoryServices.ConfigParameterCollection, ByVal types As Microsoft.MetadirectoryServices.TypeDescriptionCollection) Implements Microsoft.MetadirectoryServices.IMAExtensibleFileExport.DeliverExportFile

            Throw New EntryPointNotImplementedException()

        End Sub

    End Class

     

    FIMMA  configuration

     

    -Object Types

     

    Detected Rule Entry

    Expected Rule Entry

    Group

    Person

    SynchronizationRule

     

    -Atrtributes

     

    All of them are selected.

     

    -Configure Connector Filter

     

    No filters

     

    -Configure Object Type mapping

     

    Data source object type          Metaverse object type

    Detected Rule entry                   detected Rule entry

    Expected Rule Entry                   expected Rule Entry

    Group                                       group

    Person                                      person

    SynchronizationRule                  synchronizationRule

     

    -Attribute Flow

     

    Person to person

     

     

    AccountName        ->  accountName

    DisplayName        ->  displayName

    EmployeeID         ->  employeeID

    EmployeeType       ->  employeeType

    ExpectedRulesList  ->  expectedRulesList

    FirstName          ->  firstName

    LastName           ->  lastName

    AccountName        <-  accountName

    DisplayName        <-  displayName

    Domain             <-  domain

    EmployeeID         <-  employeeID

    EmployeeType       <-  employeeType

    FirstName          <-  firstName

    LastName           <-  lastName

    ObjectSID          <-  objectSid

     

    Group to group

     

    AccountName        ->  accountName

    DisplayName        ->  displayName

    ExpectedRulesList  ->  expectedRulesList

    Member             ->  meber

    AccountName        <-  accountName

    DisplayName        <-  displayName

    Member             <-  member

     

     

    Configure Desprovisioning

     

    Make them disconnectors

     

Respuestas

  • miércoles, 25 de noviembre de 2009 1:41Markus VilcinskasMSFT, ModeradorMedallas del usuarioMedallas del usuarioMedallas del usuarioMedallas del usuarioMedallas del usuario
     Respondida
    What did not work?
    The general logic for MPRs, SRs and WFs is the same as in all other scenarios...

    This means, you can pretty much use the what is documented in the introduction to inbound synchronization and the introduction to outbound synchronization.
    The ECMA is based on the file MA architecture.

    Cheers,
    Markus
    Markus Vilcinskas, Knowledge Engineer, Microsoft Corporation

Todas las respuestas

  • miércoles, 25 de noviembre de 2009 1:41Markus VilcinskasMSFT, ModeradorMedallas del usuarioMedallas del usuarioMedallas del usuarioMedallas del usuarioMedallas del usuario
     Respondida
    What did not work?
    The general logic for MPRs, SRs and WFs is the same as in all other scenarios...

    This means, you can pretty much use the what is documented in the introduction to inbound synchronization and the introduction to outbound synchronization.
    The ECMA is based on the file MA architecture.

    Cheers,
    Markus
    Markus Vilcinskas, Knowledge Engineer, Microsoft Corporation