Provisioning XML file with a Extensible Connectivity MA
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: ObjectConfigure Attributes:
Objectclass
delta
employeeid
firstname
lastname
userid
employeetypeMap 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 <- firstnameAll 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
- 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- Marcado como respuestaMarkus VilcinskasMSFT, Moderadormiércoles, 09 de diciembre de 2009 17:30
Todas las respuestas
- 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- Marcado como respuestaMarkus VilcinskasMSFT, Moderadormiércoles, 09 de diciembre de 2009 17:30