Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

The Extensible Markup Language (XML) is a general-purpose markup language.  It is classified as an extensible language because it allows its users to define their own elements. Its primary purpose is to facilitate the sharing of structured data across different information systems, particularly via the Internet. It is used both to encode documents and serialize data. In the latter context, it is comparable with other text-based serialization languages such as JSON and YAML.

SAP NetWeaver Identity Management can use XML for data-transfer-operations. XML-files exported from various applications can be imported into SAP NetWeaver Identity Management. Data from these files can then be used for provisioning to target applications.

Data from SAP NetWeaver Identity Management can then be used as a source for XML-extracts. This blog describes how this can be configured in SAP NetWeaver Identity Management.

FromXML

The purpose of this pass is to read data from XML file(s), or a XML-structure from a database-field, into a database.

An external XML-parser has to be included in the environement.  Download xerces.jar and indlude this in the class-path.

A fromXML-pass in IdentityCenter (Java-Version), is  based around a fromCustomPass.  A fromCustomPass is using java-classes included in the environment for the execution-procedure.

To configure a fromCustom-pass to read XML-Files, the following configuratin has to be done:

Create a new job inside identity Center.  The job should be located under the following structure:  <IDENTITY CENTER>\\JOB FOLDER\\<REPOSITORY_NAME>   EX:   “Identity Center\\Job folder\\Target Systems\\XML\\”

FromXML-connector used for syncronization

Configure the job to be a JAVA-based job. Then create a new pass inside the job. The passtype is FromCustom.

The following configuration on the pass has to be done:

Source-configuration:

Pass Type: FromXML

Input is selected using either:

PATH        - XML file name (optionally containing wildcards in filename

or:

FROMDB      - Database URL.

FROMSQL     - Database select statement, selecting one field only. This field should be a string containing an XML-Structure.

XML processing:

XSL         - XSL file used to transform XML file into the format the Identity Center understands.

NODENAME    - Name of the node(s) that contains the data

The transformed XML should look like this:

  <row>

    <name1>value1</name1>

    <name2>value3</name2>

    <name3>value3</name3>

    ..

    ..

    <nameN>valueN</nameN>

  </row>

  <row>

    ..

    ..

  </row>

In the example above, the NODENAME is row. More than one instance of each name tag is not handled, so multivalues has to be handled by concatenating the values ex:

<name3>value3a;value3B;value3c</name3>

Destination-configuration:

Database: This will typically be the Identity Center database, but can also be any database supporting JDBC-connectivity

Table-Name:  Can be anything, but recommended naming-convention is: <CUSTOMERNAME><REPOSITORYNAME><Type of entry>.  

EX: where the entry is a user:  maxware<REPOSITORYNAME>u

Click on ”Insert Template”, and the structure of the XML-file (The attribute-mapping) is read.

  ToXML Connector

ToXML

The purpose of this pass is to write data from a database-table into a XML file.

An external XML-parser has to be included in the environement.  Download xerces.jar and indlude this in the class-path.

A toXML-pass in IdentityCenter (Java-Version), is  based around a toCustomPass.  A toCustomPass is using java-classes included in the environemet for the execution-procedure.

To configure a toCustom-pass to write XML-Files the following configuratin has to be done:

Create a new job inside identity Center.  The job should be located under the following structure:  <IDENTITY CENTER>\\JOB FOLDER\\<REPOSITORY_NAME>   EX:   “Identity Center\\Job folder\\Target Systems\\XML\\”

ToXML-connector used for syncronization

It can also be integrated as part of the provisioning framework. Under the “Provisioning folder\\Custom Tasks\\ System Type Specific Tasks” Create a new folder for the XML Connector.  Under that folder create a new, empty job. Configure the job to be a JAVA-based job. Then create a new pass inside the job. The passtype is toCustom.

ToXML-connector used for provisioning

ToXML in Provisioning framework

The following configuration on the pass has to be done:

 

Source-configuration:

Database: This will typically be the Identity Center database, but can also be any database supporting JDBC-connectivity

SQL-Statement: Create a SQL-statement to fetch data from a spesified table containt data.

Destination-configuration:

Pass Type: ToXML

Input is selected using either:

MSROWSET       If set to true (True/false is available options), will produce ms rowset output (Further info about MSROWSET is described later in this artichle

ROWNAME       Name for the row element, default is "ROW", ignored if MSROWSET is true

ROOTNAME-    Name for the root element, default is "XML", ignored if MSROWSET is true

XSL                        XSL file used to transform XML file after producing the document

XMLFILE             Full path to the output file

Click on ”insert template\\Data Source Template”, to fetch the attribute-names from the database-table.  Manual mapping can now be done.

The transformed XML will look like this unless additional XSL transformation is performed:

  <row>

    <name1>value1</name1>

    <name2>value2</name2>

    <name3>value3</name3>

    ..

    ..

    <nameN>valueN</nameN>

  </row>

  <row>

    ..

    ..

  </row>

If MSROWSET is set to True, the output will look like this:

<row>

name1=value1

name2=value2

name3=value3

nameN=valueN

</row>

  <row>

    ..

    ..

  </row>

 

In the example above, the NODENAME is row. More than one instance of each name tag is not handled, so multivalues have to be handled by concatenating the values ex:

<name3>value3a;value3B;value3c</name3>

2 Comments