|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DestinationDataProvider
The JCo framework defines the DestinationDataProvider interface to retrieve
the destination configuration that must be implemented by infrastructure
components. At runtime JCo will use the provided implementation to get the
destination configuration that is stored and managed elsewhere and not by the
application using the JCo (separation of concerns). For example, if the
destination configuration is stored on an LDAP server the instance method
getProperties of the interface DestinationDataProvider needs to get the
relevant configuration data from the LDAP server.
Applications using these destinations (JCoDestination), i.e. want to execute
function modules existing in an ABAP system, can rely on the fact that these
data is managed elsewhere and retrieve the data. It is not the responsibility
of the business application logic to manage the destination parameters. A
business application should only use destinations that encapsulate these
parameters.
Example CustomDestinationDataProvider demonstrates a simple implementation of
this interface and how to register the instance implementing this interface
at JCo runtime.
JCoDestinationManager
, the data will be
updated. Please see the DestinationDataEventListener
interface in order
to find out more about the reaction of the JCo runtime to destination data events.
In most scenarios the destination configuration will consists of the properties of the following groups
The configuration data is divided to into the following groups:
destination authentication information | |
jco.destination.auth_type | authentication type - configured user or current user |
user logon properties | |
jco.client.client | SAP client |
jco.client.user | Logon user |
jco.client.alias_user | Logon user alias |
jco.client.passwd | Logon password |
jco.client.lang | Logon language |
jco.client.mysapsso2 | SAP Cookie Version 2 as logon ticket |
jco.client.x509cert | X.509 certificate as logon ticket |
jco.client.extid_data | External identification user logon data |
jco.client.extid_type | Type of the external identification user logon data |
connection configuration | |
jco.client.type | Connection type (optional) |
jco.client.ashost | SAP application server host |
jco.client.sysnr | SAP system number |
jco.client.mshost | SAP message server host |
jco.client.msserv | SAP message server service or port number (optional) |
jco.client.r3name | System ID of the SAP system, the so-called SID |
jco.client.group | Logon group name of SAP application servers (optional, default is PUBLIC) |
jco.client.tpname | Registered RFC server program ID |
jco.client.gwhost | SAP gateway host |
jco.client.gwserv | SAP gateway service or port number |
jco.client.saprouter | SAP router string to use for networks being protected by a firewall |
trace configuration | |
jco.client.trace | Enable/disable RFC trace (0 or 1) |
jco.client.cpic_trace | Enable/disable CPIC trace (-1 [take over environment value <CPIC_TRACE>], 0 no trace, 1,2,3 different trace levels) |
special parameters | |
jco.client.lcheck | Enable/disable logon check at open time (1 - enable [default] or 0 - disable) |
jco.client.use_sapgui | Start a SAP GUI and associate with the connection (0 - do not start [default], 1 - start GUI, 2 - start GUI and hide if not used) |
jco.client.codepage | Initial logon codepage in SAP notation |
jco.client.pcs | Initial logon codepage type (1 - non-unicode or 2 - unicode enabled, optional) |
jco.client.delta | Enable/disable table parameter delta management (1 - enable [default] or 0 - disable) |
jco.client.getsso2 | Get/don't get an SSO ticket after logon (1 or 0) |
jco.client.deny_initial_password | deny usage of initial passwords (0 [default] or 1) |
destination pool configuration | |
jco.destination.peak_limit | Maximum number of active connections that can be created for a destination simultaneously |
jco.destination.pool_capacity | Maximum number of idle connections kept open by the destination. A value of 0 has the effect that there is no connection pooling, i.e. connections will be closed after each request. |
jco.destination.expiration_time | Time in ms after that the connections hold by the internal pool can be closed |
jco.destination.expiration_check_period | Interval in ms with which the timeout checker thread checks the connections in the pool for expiration |
jco.destination.max_get_client_time | Max time in ms to wait for a connection, if the max allowed number of connections is allocated by the application |
SNC configuration | |
jco.client.snc_mode | Secure network connection (SNC) mode, 0 (off) or 1 (on) |
jco.client.snc_partnername | SNC partner, e.g. p:CN=R3, O=XYZ-INC, C=EN |
jco.client.snc_qop | SNC level of security, 1 to 9 |
jco.client.snc_myname | SNC name. (optional - overrides the default SNC name) |
jco.client.snc_lib | Path to library which provides SNC service |
jco.client.snc_sso | Turn on/off SSO of SNC mechanism. If set to 0 fall back to user/password credentials instead. Valid values are 1 (yes, default) and 0 (no). |
repository configuration | |
jco.destination.repository_destination | Specifies which destination should be used for repository queries. |
jco.destination.repository.user | Optional: If repository destination is not set, and this property is set, it will be used as user for repository queries. This allows using a different user for repository lookups and restrict the permissions accordingly. |
jco.destination.repository.passwd | The password for a repository user. Mandatory, if a repository user should be used. |
jco.destination.repository.snc_mode | Optional: If SNC is used for this destination, it is possible to turn it off for repository connections, if this property is set to 0. Defaults to the value of jco.client.snc_mode |
jco.destination.one_roundtrip_repository | 1 forces the usage of RFC_METADATA_GET in ABAP System, 0 deactivates it.
If the property is not set, the destination will initially do a remote call to check whether RFC_METADATA_GET is available.
In case it is available, it will use it. |
Field Summary | |
---|---|
static java.lang.String |
JCO_ALIAS_USER
Logon user alias, can be used instead of logon user. |
static java.lang.String |
JCO_ASHOST
SAP ABAP application server host, mandatory for a direct application server instance connection. |
static java.lang.String |
JCO_AUTH_TYPE
Authentication type used by the destination. |
static java.lang.String |
JCO_AUTH_TYPE_CONFIGURED_USER
Value to use for the property JCO_AUTH_TYPE. |
static java.lang.String |
JCO_AUTH_TYPE_CURRENT_USER
Value to use for the property JCO_AUTH_TYPE. |
static java.lang.String |
JCO_CLIENT
SAP client, mandatory logon parameter. |
static java.lang.String |
JCO_CODEPAGE
Additional logon parameter to define the codepage that will be used to convert the logon parameters. |
static java.lang.String |
JCO_CPIC_TRACE
Enable/disable CPIC trace [0..3]. |
static java.lang.String |
JCO_DELTA
Use the table delta management for reducing the amount of data being sent via the network, especially if dealing with big RFC table parameters. |
static java.lang.String |
JCO_DENY_INITIAL_PASSWORD
If set to 1, using initial passwords will lead to an exception (default=0). |
static java.lang.String |
JCO_DEST
For internal purposes only. |
static java.lang.String |
JCO_EXPIRATION_PERIOD
Period in ms after that the destination checks the released connections for expiration. |
static java.lang.String |
JCO_EXPIRATION_TIME
Time in ms after that a free connections hold internally by the destination can be closed. |
static java.lang.String |
JCO_EXTID_DATA
External identification user logon data. |
static java.lang.String |
JCO_EXTID_TYPE
Type of the external identification user logon data. |
static java.lang.String |
JCO_GETSSO2
Order a SSO ticket after logon, the obtained ticket is available in the destination attributes. |
static java.lang.String |
JCO_GROUP
Logon group of the logon load balanced connections, which is identifying a set of SAP application servers (optional, default is PUBLIC) |
static java.lang.String |
JCO_GWHOST
SAP gateway host to use for the connection. |
static java.lang.String |
JCO_GWSERV
SAP gateway service or port number, should be specified when using JCO_GWHOST. |
static java.lang.String |
JCO_LANG
Logon language, if not defined the default user language is used. |
static java.lang.String |
JCO_LCHECK
Postpone the authentication until the first call. |
static java.lang.String |
JCO_MAX_GET_TIME
Max time in ms to wait for a connection, if the max allowed number of connections is allocated by the application. |
static java.lang.String |
JCO_MSHOST
SAP message server host, mandatory property for a logon load balanced connection. |
static java.lang.String |
JCO_MSSERV
SAP message server service name or port number. |
static java.lang.String |
JCO_MYSAPSSO2
SAP Cookie Version 2 as logon ticket for SSO based authentication. |
static java.lang.String |
JCO_PASSWD
Logon password, logon parameter for password based authentication. |
static java.lang.String |
JCO_PCS
Additional logon parameter to define the codepage type of the SAP System, 1 - non-unicode, 2 - unicode enabled. |
static java.lang.String |
JCO_PEAK_LIMIT
Maximum number of active connections that can be created for a destination simultaneously. |
static java.lang.String |
JCO_POOL_CAPACITY
Maximum number of idle connections kept open by the destination. |
static java.lang.String |
JCO_R3NAME
System ID of the SAP system, the so-called SID. |
static java.lang.String |
JCO_REPOSITORY_DEST
Specifies which destination should be used as repository, i.e. |
static java.lang.String |
JCO_REPOSITORY_PASSWD
The password for a repository user. |
static java.lang.String |
JCO_REPOSITORY_ROUNDTRIP_OPTIMIZATION
Enable the usage of RFC_METADATA_GET API, which is providing
repository data in one single roundtrip. |
static java.lang.String |
JCO_REPOSITORY_SNC
Optional: If SNC is used for this destination, it is possible to turn it off for repository connections, if this property is set to 0. |
static java.lang.String |
JCO_REPOSITORY_USER
If repository destination is not set, and this property is set, it will be used as user for repository calls. |
static java.lang.String |
JCO_SAPROUTER
SAP Router string for connection to systems behind a SAP Router. |
static java.lang.String |
JCO_SNC_LIBRARY
Path to library which provides SNC service. |
static java.lang.String |
JCO_SNC_MODE
Secure network connection (SNC) mode, 0 (off) or 1 (on). |
static java.lang.String |
JCO_SNC_MYNAME
Own SNC name. |
static java.lang.String |
JCO_SNC_PARTNERNAME
SNC partner, e.g. |
static java.lang.String |
JCO_SNC_QOP
SNC level of security, the quality of protection ranges from 1 to 9. |
static java.lang.String |
JCO_SNC_SSO
When connecting via SNC, the SNC identity is typically used for authenticating the caller. |
static java.lang.String |
JCO_SYSNR
System number of the SAP ABAP application server, mandatory for a direct application server instance connection. |
static java.lang.String |
JCO_TPHOST
External RFC server program host. |
static java.lang.String |
JCO_TPNAME
Registered RFC server program ID. |
static java.lang.String |
JCO_TRACE
Enable/disable RFC trace (0 or 1). |
static java.lang.String |
JCO_TYPE
The connection type. |
static java.lang.String |
JCO_USE_SAPGUI
Use a visible, hidden, or do not use SAP GUI. |
static java.lang.String |
JCO_USER
Logon user, logon parameter for password based authentication. |
static java.lang.String |
JCO_USER_ID
Deprecated. Will be removed in future versions without further notice. As of JCo 3.0.10 this property has become obsolete and is no longer needed. |
static java.lang.String |
JCO_X509CERT
X509 certificate for certificate based authentication. |
Method Summary | |
---|---|
java.util.Properties |
getDestinationProperties(java.lang.String destinationName)
getDestinationProperties should return a properties object that contains a subset of the supported properties mentioned above representing the configuration of the given destination in your destination configuration repository. |
void |
setDestinationDataEventListener(DestinationDataEventListener eventListener)
This method sets a DestinationDataEventListener implemented by JCo that processes the fired events within the JCo runtime. |
boolean |
supportsEvents()
Returns true if the implementation can support DestinationDataEvents that allow a better integration into the JCo runtime management. |
Field Detail |
---|
static final java.lang.String JCO_AUTH_TYPE
static final java.lang.String JCO_AUTH_TYPE_CONFIGURED_USER
static final java.lang.String JCO_AUTH_TYPE_CURRENT_USER
static final java.lang.String JCO_USER_ID
static final java.lang.String JCO_CLIENT
static final java.lang.String JCO_USER
static final java.lang.String JCO_ALIAS_USER
static final java.lang.String JCO_PASSWD
static final java.lang.String JCO_LANG
static final java.lang.String JCO_CODEPAGE
static final java.lang.String JCO_PCS
static final java.lang.String JCO_ASHOST
static final java.lang.String JCO_SYSNR
static final java.lang.String JCO_MSHOST
static final java.lang.String JCO_MSSERV
sapms<SID>
a lookup in etc/services
is performed by the network layer of the operating system. If using port numbers instead
of symbolic service names, no lookups are performed and no additional entries are needed.
static final java.lang.String JCO_R3NAME
sapms<SID>
will be automatically
set as service name, which needs to be resolved by the network layer of the
operating system.
static final java.lang.String JCO_GROUP
static final java.lang.String JCO_SAPROUTER
(/H/<host>[/S/<port>])+
static final java.lang.String JCO_MYSAPSSO2
static final java.lang.String JCO_GETSSO2
static final java.lang.String JCO_X509CERT
static final java.lang.String JCO_EXTID_DATA
JCO_EXTID_TYPE
. Its format depends on the external ID type.
The mapping to the actual logon user has to be defined in the AS ABAP
system table VUSREXTID.
static final java.lang.String JCO_EXTID_TYPE
JCO_EXTID_DATA
. Possible values are for example "NT"
for an NT Domain User (NTLM), "MP" for a Microsoft .NET Passport UID
(PUID), "ID" for ID data from a trusted RFC system, or "DN" for a
Distinguished Name (DN) of a Certificate (X.500).
static final java.lang.String JCO_LCHECK
static final java.lang.String JCO_DELTA
'jco.delta_management'
RFC protocol feature is not generally turned off. Use in special cases only.
JCo.setProperty(String, String)
,
Constant Field Valuesstatic final java.lang.String JCO_SNC_PARTNERNAME
static final java.lang.String JCO_SNC_QOP
static final java.lang.String JCO_SNC_MYNAME
static final java.lang.String JCO_SNC_MODE
static final java.lang.String JCO_SNC_SSO
static final java.lang.String JCO_SNC_LIBRARY
static final java.lang.String JCO_DEST
static final java.lang.String JCO_PEAK_LIMIT
static final java.lang.String JCO_POOL_CAPACITY
static final java.lang.String JCO_EXPIRATION_TIME
static final java.lang.String JCO_EXPIRATION_PERIOD
static final java.lang.String JCO_MAX_GET_TIME
static final java.lang.String JCO_REPOSITORY_DEST
static final java.lang.String JCO_REPOSITORY_USER
static final java.lang.String JCO_REPOSITORY_PASSWD
static final java.lang.String JCO_REPOSITORY_SNC
static final java.lang.String JCO_CPIC_TRACE
static final java.lang.String JCO_TRACE
static final java.lang.String JCO_GWHOST
static final java.lang.String JCO_GWSERV
sapgw<NN>
or
sapgw<NN>s
a lookup in etc/services
is
performed by the network layer of the operating system. If using port numbers
instead of symbolic service names, no lookups are performed and no
additional entries are needed.
static final java.lang.String JCO_TPHOST
static final java.lang.String JCO_TPNAME
static final java.lang.String JCO_TYPE
3
- ABAP system with unspecified logon method A
- ABAP system with direct application server host logon B
- ABAP system with message server driven load balanced logon E
- External RFC server program R
- Registered RFC server program
static final java.lang.String JCO_USE_SAPGUI
static final java.lang.String JCO_DENY_INITIAL_PASSWORD
static final java.lang.String JCO_REPOSITORY_ROUNDTRIP_OPTIMIZATION
RFC_METADATA_GET
API, which is providing
repository data in one single roundtrip.
1 forces the usage of RFC_METADATA_GET
in ABAP System, 0
deactivates it. If the property is not set, the destination will
initially do a remote call to check whether RFC_METADATA_GET
is available. In case it is available, it will use it.
Note: If the repository is already initializated, for example because it is used by some other destination, this property does not have any effect. Generally, this property is related to the ABAP System, and should have the same value on all destinations pointing to the same ABAP System. See note 1456826 for SAP AS ABAP system prerequisites.
Method Detail |
---|
java.util.Properties getDestinationProperties(java.lang.String destinationName)
destinationName
- the name of the destination for which the provider should
return the properties
boolean supportsEvents()
DestinationDataProvider
can guarantee to fire all events you
can return false to be on the safe side.
If the implementation can support DestinationDataEvents, JCo runtime sets a DestinationDataEventListener implemented by JCo.
setDestinationDataEventListener(DestinationDataEventListener)
void setDestinationDataEventListener(DestinationDataEventListener eventListener)
eventListener
- the DestinationDataEventListener to which configuration
events need to be fired
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |