8/11/2019 Third-Party Systems in the System Landscape Directory (SLD) http://slidepdf.com/reader/full/third-party-systems-in-the-system-landscape-directory-sld 1/37 SAP NetWeaver How-To Guide Registering Third-Party Systems in the System Landscape Directory (SLD) Applicable Releases: SAP NetWeaver 7.0 and higher Version 2.1 September 2012
37
Embed
Third-Party Systems in the System Landscape Directory (SLD)
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
2. Identify appropriate template for SLD registration
By default, the SAP Solution Manager and PI use case must be supported and both templates
are used. If the use case is restricted, this limitation needs to be documented in the third-party
system, manually.
3. Clarify product model Contact SAP to include your product definition into SAP PPMS or create your own product
definition in your test SLD.
4. Create sample SLD payload file
Create a sample XML file containing your product description with the templates or examples
attached.
Test the adapted XML with the attached test parser and with your test SLD.
5. Development of SLD data supplier
The SLD data supplier must be able to collect all required information from the system to
generate a payload XML document which looks like your sample XML file.
The SLD data supplier must be able to open an authenticated HTTP connection to the SLD
server to send the payload XML to the SLD. You can either use the sldreg executable or an
own HTTP client for this data transfer, whichmust meet the SAP security requirements.
A mechanism must be implemented that triggers the SLD data supplier when a change in the
system landscape occurs. Alternatively, you can send data periodically, for example twice a
day.
The setup of the SLD data supplier should be included in the installation routine of the system.
6. Automatic synchronization with the LMDB (Landscape Management Database) and transaction
SMSY in SAP Solution Manager.
Introduction to the System Landscape Directory (SLD)
The System Landscape Directory (SLD) is a central repository of system landscape information that is
relevant to manage the software lifecycle. The system landscape consists of systems, which formvisible entities for administrators and of the installed software components and its versions. The
complete information is called Landscape Description.
The SLD is also a repository for all theoretically installable software products and software
components available from SAP and partners. This kind of information is stored in the Component
Repository (CR) and is provided regularly by the software component SAP CR content. (The CR
content is derived from the SAP-internal PPMS system.)
Both Landscape Descriptions and CR content are based on the CIM model, which is stored in the SLD
as well. For more information about CIM, see www.dmtf.org.
Registration of Third-Party Systems by Data SupplierWith an SLD data supplier, a system registers information about itself on the SLD server and keeps
the landscape description automatically up-to-date.
The following is a simplified model that describes a specific third-party system with the information
that is required for SAP Process Integration (PI):
Each third-party system that is used by PI is an instance of the SAP_ApplicationSystem class.
This instance is associated with a set of software components that are installed: different instances of
the SAP_InstalledSoftwareComponent class. Each software component that is installed on an
application system is part of one product that is installed. In most cases, a third-party system
includes one software component that belongs to one product that is installed. However, the
model also allows a more complicated case: a set of software components to be part of more than one
product that is installed.
The registration procedure of third-party systems includes the creation of the following instances:
• one instance of the SAP_ApplicationSystem class
• one or more instances of the SAP_InstalledSoftwareComponent class
• one or more instances of the SAP_InstalledProduct class
• one basic instance of the SAP_ComputerSystem class
For more information, see the ThirdPartySystem.xml sample file under Registration of Third-Party
Systems in SLD - Example Code at http://scn.sap.com/docs/DOC-8042.
Optional: Model of Third-Party System Using a Database
A third-party system may use a database system in both use cases - SAP Solution Manager and PI.The figure below shows a simplified version of such a model. It covers all classes and associations
that can be involved in addition to the basic third-party system.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Option B: Define CR Content for Third-Party Products and
Software Components in SLD on Your Own
1. To create the third-party product and software component in the SLD, access the SLD
Welcome screen and choose Home Products.
Use capital letters for all names and dot-separated numbers for the versions. For all
parameters, set the same values as the ones that you have defined in the environment
settings (for more information, see Setting Up the HTTP(S) Connection from Third-PartySystem to SLD). For the technical name of your software unit, you can set any value, for
example, UNIT1.
For more information, see Creating and Removing Third-Party Products and Creating and
Removing Third-Party Software Components in the User Manual - SLD of SAP NetWeaver
<your version> at http://scn.sap.com/docs/DOC-8042.
2. Data about products and software components from the PPMS (vendor = sap.com) already
exists in SLD. Choose a name and a version pattern that fits the PPMS conventions. Avoid
any name conflict with SAP products and software components to enable an easy migration
easily to the PPMS later.
3. From the Product dropdown box, select the product that you have created.
4. From the table with product versions, select the product and choose Export .
5. Choose Download Link and save the file to a directory of your choice.
Note
The ZIP file contains the instances of all classes that are related to one product version
(the product and its software components). If you want to export the data about more than
one product, you have to repeat the steps for each product.
6. Ensure that product and component definitions from the ZIP file are imported to all target
SLDs.
For more information, see Updating the Software Catalog in the User Manual - SLD of SAP
NetWeaver <your version> under http://scn.sap.com/docs/DOC-8042.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
2. Set Up the HTTP(S) Connection from sldreg to SLD
This section is only relevant if you send the XML document with sldreg to SLD. The executable
sldreg[.exe] and the required dynamic link libraries (DLL) can be downloaded as described in SAP
Note 1018839 or the binaries can be copied from any ABAP or J2EE-based system from directory<Drive>:\usr\sap\<SID>\SYS\exe\run (UNIX: /usr/sap/<SID>/SYS/exe/run ).
1. Create a new working directory and set the executable and library path in a way that sldreg
can be called. If you use the <sid>adm user, the environment is automatically set correctly.
Alternatively, you can use the executable directory or a copy of it as a working directory to
configure the SLD destination, execute the following command:sldreg.exe -configure slddest.cfg -usekeyfile
You are prompted to enter the following HTTP connection information:
o User Name
o Password
o Server Host - the host on which the SLD server is runningo Port - the HTTP/HTTPS port on which the SLD server is running
o Use HTTPS
Note
The option HTTPS is not available in SAP NetWeaver 7.0.
You are prompted whether you want the information to be written to the slddest.cfg file
and the slddest.cfg.key file to be created. For security reasons, we recommend that you
use the key file. The default location of the slddest.cfg and slddest.cfg.key files in an
SAP installation is the <Drive>:\usr\sap\<SID>\SYS\global directory.
The slddest.cfg file contains the encrypted HTTP connection information: user name,
password, host, and HTTP/HTTPS port. The slddest.cfg.key file contains the key
information that is used for encryption and decryption. You have to protect this file fromunauthorized access. Set read and write permissions only for the <sid>adm user.
If you do not want to be prompted for the HTTP connection information, execute the following
Third-party products and software components have been created in the SLD CR content.
The HTTP(S) connection from third-party system to SLD has been set up.
Procedure:
To create your third-party system information, create an XML with specific system information that canbe read by sldreg or by your own HTTP client to be transported to SLD.
You can choose one of the following two methods:
Generate an XML from template:1. Unzip the RegistrationThirdPartySystemExample.zip archive at
http://scn.sap.com/docs/DOC-8042to your working directory.
2. Read the comments in the UnspecificStandalone.properties file.
3. Adapt this file to your specific third-party system data.4. Call the sldreg with minimum version 7.11 to generate the XML document and
send to the configured SLD by executing the following command:sldreg -file <Template file> –symbolfile <Parameters file> -
In both cases, check the SLD log under Administration Log for errors. To confirm that all
expected instances are created, access the SLD Welcome screen and choose CIM Instances
(Release 7.10) or Administration Content Maintenance (Release 7.0).
5. Instrument Your Third-Party System to Send
Information to SLD
The SLD registration needs to be integrated into the third-party system. Without such instrumentation,
the data in SLD will be outdated soon.
1. Transfer your data to the SLDwhen you start your application, and periodically, for example, twice
a day.
2. If this is not possible, the next best alternative is the registration at the startup of the operating
system. Absolute minimum is the registration during installation and upgrade of the system.
3. To transfer data to the SLD, use sldreg or your own HTTP client to transfer data (see AppendixH: Supplying Data to the System Landscape Directory Directly via HTTP).
4. Use the XML document that you produced when you created the third-party system information as
template and substitute the hostname string therein at runtime. Alternatively, you can create the
XML document from scratch in your software and transfer the document to sldreg via stdin or
file. The value of the host name must be set dynamically in any case.
5. Provide the additional software, template, and documentation that your customers may need to
successfully register your system in the SLD.
6. Automatic Synchronization with SAP Solution Manager
From the SLD, third-party system information is automatically forwarded to the Landscape
Management Database (LMDB) and to transaction SMSY in SAP Solution Manager. How to set up the
SLD connection to SAP Solution Manager is described here:
For SAP Solution Manager 7.1 SP5 and following:
https://help.sap.com/solutionmanager71 Application Help select release and language
SAP Solution Manager Operations Managing System Landscape Information Set Up
the Landscape Management Infrastructure Connect LMDB to System Landscape Directory .
For SAP Solution Manager 7.1 SP0-4:
https://service.sap.com/solutionmanager Media Library Technical Information Setup
Guide Landscape Management Database (LMDB) (select a release).
Appendix A: sldreg DTD<!-- Version 1.2: DTD for generic buider -<!ELEMENT sldinfo (group*)><!ATTLIST sldinfosupplier_name CDATA #REQUIREDsupplier_vendor CDATA #REQUIREDsupplier_version CDATA #IMPLIEDmodel_version CDATA #IMPLIED><!--Data groups are used to set the synchronization rules for a data portion.The name of a group must be unique for each sldinfo.
Attribute "group_type" is currently ignored by SLD bridge.
--><!ELEMENT group ((rootclass,memberclass+)|class*)><!ATTLIST groupname CDATA #REQUIREDgroup_type (GENERIC|SPECIFIC) "GENERIC"data_type CDATA #IMPLIEDdata_version CDATA #IMPLIED><!--Defines instances of an individual class, without information aboutassociations to instances of other classes.
Attributes:name = specify the CIM class name, e.g. SAP_ComputerSystem
--><!ELEMENT class (instance*)><!ATTLIST classname CDATA #REQUIREDsync (TRUE|FALSE) "TRUE"merge_properties (TRUE|FALSE) "TRUE"clean (NONE|DELETE) "NONE"><!--The root class of a group (may be associated with members).
Attributes:name = The CIM class name, e.g. SAP_ComputerSystem-->
A member class defines the association(s) and associated instance(s) whichwill be associated the root class instance in the same group.
Attributes:name = The CIM class name, e.g. SAP_ComputerSystem
mergeRootClass = The filter parameter (in association traversal) for the root class used todetermine the set of instances that are evaluated for member merging. If
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
no value is specified, the class name of the root instance is used.For example, this value can be used to filter for a super class of theroot class instead.mergeMemberClass = Analogous to "mergeRootClass" for the member class.mergeAssocClass = Analogous to "mergeRootClass" for the association class.
clean (NONE|LONE|ALL) "NONE"optional (TRUE|FALSE) "FALSE"><!-- Use this tag for a CIM instance. Minimal you need the CIM key properties. --><!ELEMENT instance (property*)><!-- Use this tag for a single instance property or property array --><!ELEMENT property (value*)><!ATTLIST propertyname CDATA #REQUIREDsourceformat CDATA #IMPLIED><!ELEMENT value (#PCDATA)>
Appendix B: XML Data Structure
According to the sldreg.dtd (see Appendix A: sldreg DTD), the building elements of the XML data
are the following:
Attributes of the <sldinfo> Element
supplier_name
This is the unique name of the data supplier that is used. The standard registration procedure,
provided by SAP for third-party systems, sets the attribute to ThirdPartySystem.
supplier_vendor
Set the attribute to sap.com, because the feature is provided by SAP.
supplier_version
Specifies the version of the data supplier that is used. Set the attribute to 1.0.
model_version
Specifies the model version that is required. Set the attribute to 1.4.30 or higher.
Attributes of the <group> Element
The <group> element is used to separate the data into logical units. The groups are processed in the
order in which they appear. Each <group> element has the following attributes:
name
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
If the <rootclass> instance must be related to only one instance of the <memberclass> element,
you have to set the merge_members attribute to FALSE. We recommend that you have exactly one
<memberclass> instance in the group.
The usage of the merge_roots and merge_members attributes to observe the maximum value of
the cardinality is a rare case. The more common case is when the <memberclass> instances are anarbitrary number and they form the full set of instances that must be associated with a <rootclass>
instance. In this case, any existing associations with the <memberclass> instances that are not
included in this set are considered obsolete and, therefore, unnecessary. To delete them, you have to
set the merge_members attribute to FALSE. This case is shown in the following example.
Usage of the merge_members Attribute to Provide the Full Set of Instances
The figure above shows the state of the SLD repository after new data is sent by sldreg. Let ussuppose that the <rootclass> instance, Class1_Inst1, has been initially associated with two
<memberclass> instances, Class2_Inst1 and Class2_Inst2. Sometimes the SLD repository
might be outdated and, therefore, has to be updated. For example, if the Class1_Inst1 instance has
to be associated only with the Class2_Inst2 and Class2_Inst3 instances, the Class2_Inst1
instance becomes outdated and the association to it has to be deleted. Therefore, you have to set the
merge_members attribute to FALSE. Thus, the existing associations, Association1_Inst1 and
Association1_Inst2 , are deleted. The association, Association1_Inst2 , between
Class1_Inst1 and Class2_Inst2 is created again. The association between Class1_Inst1 and
Class2_Inst3 is created for the first time.
As a result, the following rules apply:
If the <rootclass> instance that is specified must be the only instance that is associatedwith each <memberclass> instance that is specified, you have to set the merge_roots
attribute to FALSE.
If the set of <memberclass> instances that is specified forms the full set of instances that
must be associated with a <rootclass> instance that is specified, you have to set the
merge_members attribute to FALSE.
The clean Attribute handles the instances which have been previously associated and which are not
specified anymore. These instances are called lost instances. In the figure above, Class2_Inst1 is a
lost instance.
The clean attribute has the following possible values:
NONE
Class2_Inst2Class1_Inst1
Association1_Inst2
Class2_Inst3
Rootclass instance
Class2_Inst1
Outdated Memberclass instance
Association1_Inst1 Association1_Inst3
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
If you set the attribute to NONE, all lost instances remain in the SLD repository. This case is
shown in the figure above.
LONE
If you set the attribute to LONE, all lost instances, which do not have any remaining
associations after data processing, are deleted. Only the isolated lost instances are deleted. Inthe figure, Class2_Inst1 is presented as an isolated lost instance, because it remains
without any associations, after the deletion of the Association1_Inst1 association. To
delete the isolated lost instance Class2_Inst1, you have to set the clean attribute to LONE.
The result is shown in the following figure:Usage of the merge_members Attribute and clean = LONE
ALL
If you set the attribute to ALL, all lost instances in the SLD repository, both those that are still
associated to other instances and those that are not, are deleted. If the lost instances are not
isolated, all their existing associations are implicitly deleted. In figure 7 below, the
Class2_Inst1 instance is not isolated, because after the obsolete association
Association1_Inst1 is deleted, an association to one instance of the
OtherClass_Inst1 class still exists. In this case, the only way to delete the Class2_Inst1
instance and all its remaining associations is to set the clean attribute to ALL. The result is
shown in the following figure:Usage of the merge_members Attribute and clean = ALL
Note
Note that the clean attribute only takes effect if you set the corresponding merge_roots
and merge_members attributes to FALSE.
Class2_Inst2Class1_Inst1
Association1_Inst2
Class2_Inst3
Rootclass instance
Class2_Inst1
Outdated Memberclass instance
Association1_Inst1 Association1_Inst3
Class2_Inst2Class1_Inst1 Association1_Inst2
Class2_Inst3
Rootclass instance
Class2_Inst1
Outdated Memberclass instance
Association1_Inst1 Association1_Inst3
OtherClass_Inst1
OtherAssociation_Inst1
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Appendix C: Mandatory Data Groups (for PI Use Case)
This section describes only the data groups that are mandatory to specify a third-party or unspecifiedSAP system. The approach that is applied is called "from inside to outside". The core class of themodel is the SAP_ApplicationSystem class. An inner class is a class that is closer to the core
class. To apply the "from inside to outside" approach means to use the "inner" class as a
<rootclass> element and the "outer" class as a <memberclass> element.
Note
The data groups described here are mandatory for the data supplier using CIM Model for SAP
Process Integration (PI). Data suppliers using CIM Model used for SAP Solution Manager
have additional mandatory data groups, e.g. for supplying data for installed software features
(Product Instances) and additional associations. Please have a look to the example payload
XML file “UnspecificStandalone.xml) as reference here.
SystemHost Group
Use this group to specify the instance of the SAP_ApplicationSystem class. This instance
represents the third-party system which is described. The group also registers the instance of the
SAP_ComputerSystem class, which is used as a host of the third-party system. The dependency
between both instances, the SAP_ApplicationSystemHost association, is also created.
Structure of the Group:
The <rootclass> element includes an instance of the SAP_ApplicationSystem class. You have
to fully describe and synchronize it with the SLD repository.
The <memberclass> element includes one instance of the SAP_ComputerSystem class. The
computer system can already be registered by the data supplier of the J2EE Engine. It is possible,
however, that the data supplier is not configured on the host. You only have to specify the key
properties and the Caption normal property of the instance.
For more information about the key and normal properties of all classes, see Appendix E: Key and
Normal Properties of the Classes.
Attributes of the <rootclass> Element:
Set the name attribute to SAP_ApplicationSystem .
Set the sync attribute to TRUE, because this is the first group in which the instance isincluded. You can update the normal properties of a third-party system which is already
registered. You have to specify the key properties and the Caption normal property.
Set the merge_properties attribute to TRUE to keep the values of the normal properties
that are set in the SLD repository and that are not specified in the group.
Set the merge_roots attribute to TRUE, because many application systems can be installed
on one computer system.
Set the clean attribute to NONE, because there are no lost instances of the
SAP_ApplicationSystem class that have to be deleted.
Attributes of the < memberclass> Element:
Set the name attribute to SAP_ComputerSystem .
Set the association_name attribute to SAP_ApplicationSystemHost.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Set the sync attribute to TRUE to register the instance if the data supplier is not configured on
this host.
Set the merge_properties attribute to TRUE to synchronize the instance with a propertymerge.
Set the merge_members attribute to FALSE, because the model allows each third-party
system to be dependent only on one computer system.
Set the clean attribute to LONE to delete an isolated computer system that is not specified in
this group, but which may exist, from the SLD repository.
InstalledSoftwareComponents
Use this group to specify all software components that are installed and associated with the third-party
system which is described. The software components that are included in this group are the full set of
components that are installed on the third-party system. Use the group also to create a set of
associations between the software components that are installed and the third-party system which isdescribed, that is, associations of type SAP_InstalledSWComponentOnApplicationSystem .
Structure of the Group:
The <rootclass> element includes the instance of SAP_ApplicationSystem , which is already
described and synchronized in the previous group. To identify this instance, you have to set only its
key properties.
The <memberclass> element includes one or more instances of the
SAP_InstalledSoftwareComponent class. They appear for the first time and, therefore, you have
to fully describe and synchronize them in this group. Besides the key properties, you have to specify
some normal properties and the Caption normal property.
Attributes of the <rootclass> Element:
Set the name attribute to SAP_ApplicationSystem .
Set the sync attribute to FALSE, because the instance is already synchronized with the SLD
repository in the previous group.
Use the default value, TRUE, of the merge_properties attribute, which, however, does not
take effect if the sync attribute is set to FALSE.
Set the merge_roots attribute to FALSE, because each software component that is installed
can be installed only on one application system. If obsolete associations to other application
systems exist, you have to delete them.
Set the clean attribute to NONE, because you do not have to delete any instances of theSAP_ApplicationSystem class.
Attributes of the < memberclass> Element:
Set the name attribute to SAP_InstalledSoftwareComponent .
Set the association_name attribute to
SAP_InstalledSWComponentOnApplicationSystem .
Set the root_role attribute to System.
Set the member_role attribute to Software.
Set the sync attribute to TRUE to register in the SLD all software components that are
installed.
Set the merge_properties attribute to TRUE to synchronize the instances with a propertymerge.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Set the merge_members attribute to FALSE, because the set of software components that are
installed is the full set of components that are associated with the third-party system. You
have to delete any software components which have been previously installed and which are
not included in this set.
Set the clean attribute to ALL to delete from the SLD repository all obsolete softwarecomponents that are installed.
InstalledProduct
Usually all software components that are installed belong to only one product that is installed.
However, software components that are installed can belong to several products that are installed.
Even if each software component that is installed is part of only one product that is installed, if you
apply the "from inside to outside" approach, you can have many groups. For example, if N software
components that are installed belong to one product that is installed, the number of groups is N. You
can reduce the number of groups, if you revert the <rootclass> and <memberclass> elements.
This is an intentional violation of the "from inside to outside" approach. Then many groups of this type
appear only if the software components that are installed belong to several products that are installed.
In the simplest case when only one software component that is installed exists, we recommend that
you apply the "from inside to outside" approach.
Use the group(s) to register all products that are installed. Use the group(s) to create a set of
associations of type SAP_CollectedSoftwareComponents , which specify the membership of the
software components that are installed to the corresponding products that are installed.
Structure of the Group:
The <rootclass> element includes an instance of SAP_InstalledProduct class, which you have
to fully describe and synchronize in this group.
The first <memberclass> element includes one or more instances of theSAP_InstalledSoftwareComponent class. These instances are already synchronized with the
SLD repository in the previous group. You have to specify only their key properties.
The second <memberclass> element includes the instance of SAP_ApplicationSystem, which is
already described and synchronized in the previous group. To identify this instance, you have to set
only its key properties.
Attributes of the <rootclass> Element:
Set the name attribute to SAP_InstalledProduct .
Set the sync attribute to TRUE because this is the first group in which the instance is included.
Set the merge_properties attribute to TRUE to keep the values of the normal properties
that are set in the SLD repository and that are not specified in the group.
Set the merge_roots attribute to FALSE, because each software component that is installed
can be part of only one product that is installed. If obsolete associations to other products that
are installed exist, you have to delete them.
Set the clean attribute to NONE, because you can delete the obsolete instances of the
SAP_InstalledProduct class only in the SLD.
For more information, see Cleaning Up Data in SLD User Manual under
http://scn.sap.com/docs/DOC-8042.
Attributes of the first < memberclass> Element:
Set the name attribute to SAP_InstalledSoftwareComponent .
Set the association_name attribute to SAP_CollectedSoftwareComponents. Set the root_role attribute to Collection.
Set the member_role attribute to Member.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Set the sync attribute to FALSE, because the instances are already synchronized with the
SLD repository in the previous group.
Use the default value, TRUE, of the merge_properties attribute, which, however, does not
take effect, if the sync attribute is set to FALSE.
Set the merge_members attribute to FALSE, because the set of software components that areinstalled is the full set of components that are associated with a product that is installed.
Set the clean attribute to NONE, because the obsolete software components that are installed
are deleted from the SLD repository in the previous group.
Attributes of the second < memberclass> Element:
Set the name attribute to SAP_ApplicationSystem .
Set the sync attribute to FALSE, because the instance is already synchronized with the SLD
repository in the previous group.
Use the default value, TRUE, of the merge_properties attribute, which, however, does not
take effect if the sync attribute is set to FALSE.
Set the merge_roots attribute to FALSE, because each software component that is installedcan be installed only on one application system. If obsolete associations to other application
systems exist, you have to delete them.
Set the clean attribute to NONE, because you do not have to delete any instances of the
SAP_ApplicationSystem class.
InstalledSoftwareComponentToComponentRepository
The number of the groups of this type is N, where N is the number of the software components that
are installed. Use the group(s) to establish an association between a software component that is
installed on the third-party system which is described and the corresponding software component thatis registered in the SLD repository.
Structure of the Group:
The <rootclass> element includes one of the instances of the
SAP_InstalledSoftwareComponent class, which is already specified in the previous groups.
The <memberclass> element includes the corresponding instance of the
SAP_SoftwareComponent class which belongs to the CR. Only if this instance does exist in the CR,
the association of type SAP_SoftwareComponentType can be established.
To identify the instance of the SAP_SoftwareComponent class, you have to specify only its key
properties.
Attributes of the <rootclass> Element:
Set the name attribute to SAP_InstalledSoftwareComponent .
Set the sync attribute to FALSE, because you use the group only to establish an association
between two existing instances.
Use the default value, TRUE, of the merge_properties attribute, which, however, does not
take effect, if the sync attribute is set to FALSE.
Set the merge_roots attribute to TRUE, because each software component from the CR can
be represented by many software components that are installed. So all existing components of
the same type that are installed have to remain in the SLD repository.
Set the clean attribute to NONE, because the obsolete instances of theSAP_InstalledSoftwareComponent class are deleted in another group.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Set the association_name attribute to SAP_SoftwareComponentType.
Set the root_role attribute to Dependent. Set the member_role attribute to Antecedent.
Set the sync attribute to FALSE, because the instance must be present in the CR of the SLD
server.
Use the default value, TRUE, of the merge_properties attribute, which, however, does not
take effect, if the sync attribute is set to FALSE.
Set the merge_members attribute to FALSE, because each software component that is
installed can be associated with only one software component that is registered in the CR.
Set the clean attribute to NONE, because sldreg does not have authorization to delete
instances of third-party products and components from the SLD CR.
InstalledProductToComponentRepository
The number of groups of this type is N, where N is the number of products that are installed. Use the
group(s) to establish an association between a product that is installed and the corresponding product
that is registered in the SLD CR.
Structure of the Group:
The <rootclass> element includes one of the instances of the SAP_InstalledProduct class that
is already specified in the previous groups.
The <memberclass> element includes the corresponding instance of the SAP_Product class that
belongs to the CR. Only if this instance does exist in the CR, the association of type
SAP_InstalledProductImage can be established.
To identify the instance of the SAP_Product class, you have to specify only its key properties.
Attributes of the <rootclass> Element:
Set the name attribute to SAP_InstalledProduct .
Set the sync attribute to FALSE, because you use the group only to establish an association
between two existing instances.
Use the default value, TRUE, of the merge_properties attribute, which, however, does not
take effect, if the sync attribute is set to FALSE.
Set the merge_roots to TRUE, because each product that is registered in the CR can berepresented by many products that are installed. So all existing products of the same type that
are installed have to remain in the SLD repository.
Set the clean attribute to NONE, because you can delete the obsolete instances of the
SAP_InstalledProduct class only in the SLD.
Attributes of the < memberclass> Element:
Set the name attribute to SAP_Product.
Set the association_name attribute to SAP_InstalledProductImage.
Set the root_role attribute to Collection.
Set the member_role attribute to Product.
Set the sync attribute to FALSE because the instance must be present in the SLD CR.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
The name of the class for which you create instances. The correct value in this case isSAP_ApplicationSystem .
Name
A compound string which is formed using the following pattern: <Internal value>.<Property name>.<Property value>. The first part is the internal name of the
application system, for example, ExampleThirdPartySystem . Each system which is
installed is associated with one main computer system. The name of this computer system isused in the second part to guarantee different systems names. You have to replace<Property name> with the constant SystemHome, and <Property value> with the nameof the corresponding computer system, which is also known as a host name. By default, hostnames in the SLD are written in lower case without any network domain, for exampleExampleHostname.sap.corp is written examplehostname. As a result, the value of theName property can be: ExampleThirdPartySystem.SystemHome.examplehostname .
SAP_ComputerSystem Class
CreationClassName The name of the class for which you create instances. The correct value in this case is
SAP_ComputerSystem . Name
A unique identifier for the computer system. You can use any type of network name. It mustbe unique in the system landscape otherwise the network cannot work. By default, hostnames in the SLD are written in lower case without any network domain. For exampleExampleHostname.sap.corp is written as examplehostname . This means that you haveto use different SLD for network domains which have name conflicts at this level.
SAP_InstalledSoftwareComponent Class:
Name
Has the same value as the Name key property of the corresponding
SAP_SoftwareComponent instance, for example, EXAMPLE_ISC. You can see the keyproperties of the SAP_SoftwareComponent class below.
SoftwareElementID Identifies the different software components on a system. It is a 128-bit MD5hash value and isgenerated by the SLD.
Note This key property is automatically generated. The SLD calculates its value using thekey properties of the instance and the associated system.
SoftwareElementState The only possible value for a software component that is installed on an application system is3 and means that the state is RUNNING.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
TargetOperatingSystem Specifies the operating system environment of the software component. We recommend thatyou set its value to 0.
Version
Has exactly the same value as the Version key property of the corresponding instance of theSAP_SoftwareComponent class, for example, 1.2.0C.
Note According to the Common Information Model (CIM) standard, you can add furtherproperties such as the BuildNumber property, which is a string with 64 characters.
SAP_InstalledProduct Class:
CollectionID A 128-bit GUID which distinguishes installed products of the same type.
Note This key property is automatically generated. The SLD calculates its value using theother key properties of the instance.
ProductIdentifyingNumber (numeric type value)
This key property is propagated from the corresponding SAP_Product instance. It identifiesSAP products. Third-party products might not have this number. For third-party products, usethe default value 0.
ProductName
This key property is propagated from the corresponding SAP_Product instance and is an
abbreviation of the product name. The value must exactly match the value of the Name
property of the associated SAP_Product instance, for example, Example_Product.
ProductVendor
This key property is propagated from the corresponding SAP_Product instance and is thename of the software vendor. We recommend that you use the vendor's name as a URL toavoid naming conflicts. The value of ProductVendor must exactly match the value of theVendor property of the associated SAP_Product instance, for example, example.com.
ProductVersion
This key property is propagated from the corresponding SAP_Product instance and is aversion identifier of the product. The value of the property includes alphanumeric characterswhich are separated by dots (.). The value must exactly match the value of the Version
property of the associated SAP_Product instance, for example, 1.2.0C.
SystemID
The value of this key property is the same as the value of the Name property of theSAP_ApplicationSystem instance, for example,
ExampleThirdPartySystem.SystemHome.examplehostname . The system must beadditionally associated with the product that is installed. The installed products are associatedindirectly with a third-party system by associations of typeSAP_InstalledSWComponentOnApplicationSystem between the system and thesoftware components that are installed.
SAP_SoftwareComponent Class:
Name An abbreviation of the software component name, written in upper case, for example,EXAMPLE_ISC.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Version A version identifier of the software component. The value of the property includesalphanumeric characters, which are separated by dots (.), for example, 1.2.0C.
Vendor
The name of the software vendor as a URL, for example, example.com.
ElementTypeID
A vendor-specific ID for this software component. Set the value to 0 for each third-partysoftware component.
SAP_Product Class:
IdentifyingNumber Identifies SAP products. Third-party products might not have this number. For third-partyproducts, use the default value 0.
Name
An abbreviation of the product's name, for example, Example_Product.
Vendor The name of the software vendor. We recommend that you use the vendor's name as a URLto avoid naming conflicts, for example, example.com.
Version A version identifier of the product. The value of the property includes alphanumeric characters,which are separated by dots (.), for example, 1.2.0C.
SAP_DatabaseSystem Class:
CreationClassName The name of the class for which you create instances. The correct value in this case isSAP_DatabaseSystem .
Name The name of the database system is formed as a compound name like the names of the othersystem classes. The first part is the internal database name, for example,ExampleDBSystem. The internal database name has to be a value of the DBName normalproperty. The second part consists of two pairs of <Property name>.<Property value>.
The first pair concerns the DBTypeForSAP normal property, which specifies the type of the
database system, and the second pair concerns the SystemHome normal property, whichspecifies a computer name for this database. The normal properties of theSAP_DatabaseSystem class are described below. As a result, the value of this propertywould be: ExampleDBSystem.DBTypeForSAP.SAP.SystemHome.exampledbhost .
SAP_DatabaseInstance Class:
CreationClassName The name of the class for which you create instances. The correct value in this case isSAP_DatabaseInstance .
Name The name of the database instance is formed as a compound name in the same way as theName property of the corresponding SAP_DatabaseSystem instance. If the database systemincludes only one database instance, the Name key property of the SAP_DatabaseSystem
and SAP_DatabaseInstance instances can be identical. For example, both of them can be:
You can specify normal properties for all classes except for the SAP_Product andSAP_SoftwareComponent , which are classes from the SLD CR.
All other classes have the following common normal properties that have the same meaning:
Caption A short textual description of the object with a maximum length of 64 characters. Werecommend that you set the Caption normal property for all instances.
Description A textual description of the object with no length restriction.
Besides the common normal properties, some classes can have the following normal properties, whichyou can set or update:
SAP_InstalledSoftwareComponent Class:
Vendor
A string value which must be exactly the same as the value of the Vendor property of the
associated SAP_SoftwareComponent instance.
InstallType A string value which specifies the way in which the first version of the software component hasbeen installed. The correct value is Other.
UpdateType A string value which specifies the way in which this software element has been updated. Thecorrect value is Other.
SAP_InstalledProduct Class:
Name An alias for the installed product. This alias may change over time. The maximum length ofthe alias is 256 characters.
InstallType A string value which specifies the way in which the first version of the product was installed.The correct value is Other.
SAP_DatabaseSystem Class:
DBName The internal name of the database system. Its value is the first part of the compound value ofthe Name key property.
DBTypeForSAP A three-character abbreviation for the database type. It is used as part of the value of theName key property. The possible values are: ORA, MSS, DB2, DB4, DB6, SAP, ADA, and INF.
Manufacturer
The official manufacturer of the database. The possible values are: Oracle, Microsoft,IBM, Informix, SAP, and Unknown.
SystemHome Specifies the name of the main computer for the database system. The property forms the lastcomponent of the value of the Name key property. By default, host names in the SLD arewritten in lower case without any network domain, for exampleExampleHostname.sap.corp is written examplehostname.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Appendix F: Overview of sldreg Command Line Parameters
The following tables offer an overview of the sldreg command line parameters.
Data Parameters
Parameter
Description
[-file <xml-file>]
This parameter is optional. It specifies the XML file that contains thetransfer data. If it is not specified, the registration program uses thestandard input instead.
[-stdin]
This parameter is optional. This is the default setting for the data inputwhen no input file is set. If this option is specified, it overrides the file
setting.
[-oldtransferdtd]
This parameter is optional. If it is specified, the XML file that istransferred to the SLD is structured in accordance with an older DTD.Only use this parameter if you want to transfer data for an SLD of arelease lower than 2004s or if you are using the SAPOSCOL as a datasource.
[-symbolfile <file>]
Optional file in the 'Properties' format (text lines in the format '<name> =<value>'). In the text data and the attribute values of the XML document(see option file '-file <file>'), all symbols of the type '${<name>}' arereplaced with the relevant '<value>'. You can log the result of the textreplacement with the options -datatrace and -httptrace. Available as ofEnhancement Package 1 7.1 (7.11).
HTTP Connection Parameters
Parameter Description
-connectfile <file>
Specifies the file that contains the encrypted HTTP user, password, host,and port information. The data encryption standard (DES) is used toencrypt the HTTP connection information.
-user <http-user>
Specifies the J2EE user for the HTTP connection. You can use thisparameter as an alternative to specifying the HTTP connectionparameters in a file.
[-pass <password>]
This parameter is optional. Specifies the password of the J2EE user forthe HTTP connection. If it is not specified, the program uses an emptystring.
-host <http-host>
Specifies the host on which the HTTP connection is established.
-port <http-port>
Specifies the number of the port on which the HTTP connection is
established.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Note You can specify either a connection file or a valid set of HTTP user, password, hostand port information. If you specify both, the connection file has priority over the set of HTTPinformation.
Configuration Parameters
Parameter
Description
-configure <file>
This parameter starts the configuration of the connection file. Theconnection information is encrypted and is stored in the file you specifyand you can use it in future together with the -connectfile parameter.You have to use this parameter once to save the connection informationto a file.
[-usekeyfile]
This parameter is optional. You can only use it in combination with the -
configure parameter. If you use this parameter, the system does notuse a fixed internal DES key to encrypt the data, but a randomlygenerated key instead. The key is automatically stored together with thefile that contains the connection data. The name of this KEY file iscreated using a combination of the name of the connection parameterfile and a KEY file extension. You also have to use this parameter if youset up an HTTP connection and if you want to specify the key for anexternal file.
Additional Parameters
Parameters
Description
-help
Displays help information.
-datatrace
Activates a full data trace.
-httptrace
Activates a trace for the HTTP connection.
-logfile <logfile>
Specifies the log file to which the program writes outputs, in addition tothe standard outputs. By default, the file is named stdout.
Note If you specify an unknown parameter, it is ignored.
Appendix G: Technical Notes on Using sldreg
The sldreg program is only a wrapper for the sldreglib.<dll|sl|so|o> dynamic link library(DLL). Note that the actual library extension depends on the operating system (OS) platform that youare using. sldreglib is not the only DLL that is required by the sldreg registration program.
The list of DLLs that are required includes the following files:
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Depending on the OS platform, the system searches for the DLLs in the following ways:
Microsoft Windows
The system searches for the DLLs in the following order: 1. Directory of the sldreg executable.2. Current working directory.3. Microsoft Windows system directory, which is specified in the system properties by
the windir\system32 environment variable.4. Microsoft Windows directory, which is specified in the system properties by the
windir environment variable.5. Directories which are specified in the system properties as search directories by the
Path environment variable. The individual directory names are separated by asemicolon (;).
AIX, HP Tru64 UNIX The directories which contain the DLLs are specified by the LIBPATH environment variable.The individual directory names are separated by a colon (:).
Other UNIX systems
The directories which contain the DLLs are specified by the LD_LIBRARY_PATH environmentvariable. The individual directory names are separated by a colon (:).
Appendix I: Supplying Data to the System Landscape Directory Directly
via HTTP
The System Landscape Directory (SLD) provides a generic HTTP servlet to process data sent by datasuppliers. The servlet is used by the executable sldreg, for example. This chapter describes how youcan send data to SLD as a data supplier using any HTTP client in any programming language.
Note Readers are expected to be familiar with the HTTP protocol (RFC 2616).
2 HTTP Request
A data supplier request sent to SLD must fulfill the following requirements:
1. Send an HTTP POST request to the URL http://<host>:<port>/sld/ds.
Alternatively HTTPS can be used if the AS Java is configured accordingly.
2. Specify header Authorization using basic authentication.
The specified user must at least have J2EE security role DataSupplierLD. For a typicalinstallation this can be achieved by assigning the user to group SAP_SLD_DATA_SUPPLIER.
If the AS Java is configured accordingly, a different authentication scheme may be used, forexample certificate-based authentication for HTTPS.
3. Specify header dsxmlversion with value 2.0.
4. Specify header Content-Type with value application/xml; charset=utf-8.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)
Recommendation Optionally you may want to specify header User-Agent to identify your data supplier.
5. Add valid SLD data supplier XML encoded in UTF-8 as message body to your POST request
(specifying additional HTTP headers appropriate for your transfer coding such as headerContent-Length.)
Note Additional HTTP headers (Accept headers, for example) may be specified, but areignored by the server currently.
3 HTTP Response
If your request is accepted by the server, an HTTP response with response code 200 will be returned.
Note Response code 200 does not indicate that your request has been processed successfully. Itonly indicates that your request has been parsed and queued for (asynchronous) processing.Whether data has been written successfully or not, can be checked with a WBEM clientasynchronously only.
Your request may be rejected for various reasons. In such a case typical return codes are as follows:
400 Bad Request: For example, your XML may be invalid or was sent in other encodingthan UTF-8.
401 Unauthorized or 403 Forbidden: You have not specific valid authentication data orthe specified user does not have the necessary permission to supply data to SLD.
503 Service Unavailable: The SLD application is not active on the target server.
Note Starting with SAP NetWeaver 7.10, the next major SAP NetWeaver release, any response willinclude header Server with value SLD/<version> Bridge where "version" indicates theversion of the SLD server (the lowest SLD server version setting this response header is7.10.115). By checking this response header you can assure that the request has been sent tothe correct URL.
8/11/2019 Third-Party Systems in the System Landscape Directory (SLD)