com.sap.security.api.umap.system

Interface ISystemLandscapeObject


public interface ISystemLandscapeObject

Wrapper object for a backend system provided by an ISystemLandscapeWrapper.

An ISystemLandscapeObject may represent an arbitrary backend system, e.g. different SAP systems, HTTP systems or any other type that may be relevant for user mapping. In general, all systems are treated equally in that UME simply manages credentials (user mapping data) for them, but does not try to open connections to them. That's why UME does not need to know how to contact backends systems.

There is one exception from the above rule: UME knows the concept of the so-called "SAP reference system", which may only be an SAP system. If a user has mapped himself to a user in the SAP reference system, that backend user ID is used in SAP authentication tickets (e.g. logon tickets) issued by the local server. As the mapped password is never used during ticket issuing, it must be verified while saving user mapping data (to avoid that a user could get a ticket issued for another backend user simply by mapping himself to a backend user that is not her own).

For the verification of user mapping credentials against the backend system, UME opens a JCO connection using the entered credentials. Obviously, it needs valid JCO connection properties for that, so, for the SAP reference system, an implementation must be able to provide all JCO connection properties as system attributes as required by the JCO release currently used in the local server. For details, see method getAttribute(String).


Method Summary
 String getAlias()
          Retrieve the alias of this system object.
 Object getAttribute(String attributeName)
          Retrieve the value of a system attribute.
 Enumeration getAttributeNames()
          Retrieve the names of all available system attributes.
 Class getLandscapeClass()
          Return the implementation of the ISystemLandscapeWrapper that is responsible for this system.
 String getLogonMethod()
          Retrieve the logon method configured for this system.
 String getPrintableName()
          Retrieve a printable name for this system (e.g. for select lists).
 String getStorageKeyPrefix()
          Return the system specific prefix for the system key in UME database tables.
 String getSystemDescription()
          Retrieve a plain text description for this system.
 String getUniqueKey()
          Retrieve the unique key (GUID) of this system.
 

Method Detail

getUniqueKey

public String getUniqueKey()

Retrieve the unique key (GUID) of this system.

In combination with the storage key prefix (see getStorageKeyPrefix()), the unique key is used as identifier for a system in the user mapping database tables.

Returns:
unique key as String

getLogonMethod

public String getLogonMethod()

Retrieve the logon method configured for this system.

The result must be the value of system attribute IUserMapping.UMAP_SYSTEMATTRS_LOGONMETHOD. For details, see method getAttribute(String).

Returns:
returns the logon method or null if logon issues are not relevant for this system

getAttribute

public Object getAttribute(String attributeName)

Retrieve the value of a system attribute.

The following attributes are required by user mapping itself. The value data type for these attributes is String.

Status (SAP systems / other systems) Attribute name Range
Description
Mand./Mand. IUserMapping.UMAP_USERMAPPING_TYPE "user", "admin", "admin,user"
Determines whether only (user) administrators, only end-users or both may edit user mapping data for the system.
Mand./Opt. IUserMapping.UMAP_SYSTEMATTRS_LOGONMETHOD ILoginConstants.SSO_JCO_LOGON_METHOD_UIDPW, ILoginConstants.SSO_JCO_LOGON_METHOD_TICKET, ILoginConstants.SSO_JCO_LOGON_METHOD_X509CERT
The logon method (type of authentication credentials) to use for connections to the backend system.
Mand./NA IUserMapping.UMAP_SYSTEM_TYPE "SAP_R3", "SAP_BW", "SAP_CRM"
Type of SAP system.
Opt./Opt. IUserMapping.UMAP_USERMAPPING_FIELDS A string following the rules documented in System Properties for User Mapping
Definition of additional user mapping fields.
By default, a user mapping entry only consists of a mapped user ID and a mapped password. Using this attribute, it can be extended to an arbitrary number of additional fields (e.g. the logon language for SAP systems).

(Opt. = Optional; Mand. = Mandatory; NA = Not applicable)

Additionally, at least for the SAP reference system, an implementation must be able to provide JCO connection properties as system attributes. The property key is used as system attribute name, the property value is the attribute value.

It is in the responsibility of an implementation to be able to provide the JCO properties by attribute names and as data types as required by the current JCO release. UME does not use these values directly, but passes them to JCO when opening connetions to backend systems to verify user mapping credentials.

As a first hint: At the time when this documentation has been written, the following JCO properties were supported by the system landscape wrapper / object implementation for SAP Enterprise Portal's system landscape:

  • "ashost"
  • "sysnr"
  • "client"
  • "ServerPort"
  • "msserv"
  • "gwserv"
  • "gwhost"
  • "mshost"
  • "group"
  • "ConnectionString"
  • "r3name"
  • "SAPApplicationR3name"
  • "SystemAlias"
  • "snc_lib"
  • "snc_myname"
  • "snc_qop"
  • "snc_mode"
  • "snc_partner_name"
  • "tphost"
  • "tpname"
  • "trace"
  • "lang"

Parameters:
attributeName - The name of the requested attribute.
Returns:
The attribute value as Object. Usually, this is a String, but this is not guaranteed.

getSystemDescription

public String getSystemDescription()
Retrieve a plain text description for this system.

Returns:
Plain text system description.

getPrintableName

public String getPrintableName()
Retrieve a printable name for this system (e.g. for select lists).

Returns:
Printable name for the system.

getLandscapeClass

public Class getLandscapeClass()
Return the implementation of the ISystemLandscapeWrapper that is responsible for this system. Can be used to be able to distinguish system objects that come from different system landscapes.

Returns:
Class of the system landscape wrapper.

getStorageKeyPrefix

public String getStorageKeyPrefix()

Return the system specific prefix for the system key in UME database tables.

This key will be <prefix>:<unique key>. To avoid conflicts with other ISystemLandscapeWrapper implementations, this value must be unique per ISystemLandscapeWrapper implementation.

Returns:
the prefix for the system key

getAttributeNames

public Enumeration getAttributeNames()
Retrieve the names of all available system attributes.

Returns:
Enumeration of attribute names (as Strings)

getAlias

public String getAlias()
Retrieve the alias of this system object.

Returns:
the system alias


Copyright 2006 SAP AG Complete Copyright Notice