Changes between Version 3 and Version 4 of FDORfc56


Ignore:
Timestamp:
Mar 23, 2011, 6:50:34 PM (13 years ago)
Author:
gregboone
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc56

    v3 v4  
    2626== Motivation ==
    2727
    28 As one feedback from FDO API and WMS/WFS provider users, a number of requests have arisen regarding access to Web Services, such as WMS and WFS, through a proxy server. A proxy server acts as an intermediary between an internal network (Intranet) and the Internet, transiting the remote data package to the internal client.
    29 Currently, WMS/WFS FDO providers have a workaround to support proxy setting, which is provided by the libcurl library. It reads the proxy settings defined in the system variables. This is not good for the provider users, especially for the API users. The better way is to expose one entry in the provider to let user set the proxy information before opening a connection. This can be done by enhancing and expanding the connection parameter list that each provider supports. And then pass these values into OWS component. The OWS component will define proxy setting via libcurl API if the proxy values aren’t null.
    30 Libcurl library has already proxy setting capability, so what we need to do is to expose it via FDO API, and enhance the delegate classes for both WMS/WFS providers.
     28As one feedback from FDO API and WMS/WFS provider users, a number of requests have arisen regarding access to Web Services, such as WMS and WFS, through a proxy server. A proxy server acts as an intermediary between an internal network (Intranet) and the Internet, transiting the remote data package to the internal client. Currently, WMS/WFS FDO providers have a workaround to support proxy setting, which is provided by the libcurl library. It reads the proxy settings defined in the system variables. This is not good for the provider users, especially for the API users. The better way is to expose one entry in the provider to let user set the proxy information before opening a connection. This can be done by enhancing and expanding the connection parameter list that each provider supports. And then pass these values into OWS component. The OWS component will define proxy setting via libcurl API if the proxy values aren’t null. Libcurl library has already proxy setting capability, so what we need to do is to expose it via FDO API, and enhance the delegate classes for both WMS/WFS providers.
    3129
    3230== Proposed Solution ==
    3331
    3432The following tables outline the additional connection properties that will be introduced in order to allow proxy server access.
    35 ||'''Property'''||      '''Value'''||
    36 ||Name||        ProxyServerName||
    37 ||LocalizedName ||ProxyServerName (English)||
    38 ||DefaultValue  ||||
    39 ||IsRequired    ||No||
    40 ||IsProtected   ||No||
    41 ||IsEnumerable  ||No||
    42 ||IsFileName    ||No||
    43 ||IsFilePath    ||No||
    44 ||IsDatastoreName       ||No||
    45 The ProxyServerName property specifies the name of a user specified proxy server that will be used to make the connection to the external web service. This could be a host name or an IP address.
    4633
    4734||'''Property'''||      '''Value'''||
    48 ||Name||        ProxyServerPort||
    49 ||LocalizedName ||ProxyServerPort(English)||
    50 ||DefaultValue  ||||
    51 ||IsRequired    ||No||
    52 ||IsProtected   ||No||
    53 ||IsEnumerable  ||No||
    54 ||IsFileName    ||No||
    55 ||IsFilePath    ||No||
    56 ||IsDatastoreName       ||No||
    57 The ProxyServerPort property specifies the port of the user-specified proxy server that will be used to connect to the Internet. If set, it must be used in conjunction with the ProxyServerName parameter.
     35||Name||        !ProxyServerName||
     36||!LocalizedName        ||!ProxyServerName (English)||
     37||!DefaultValue ||||
     38||!IsRequired   ||No||
     39||!IsProtected  ||No||
     40||!IsEnumerable ||No||
     41||!IsFileName   ||No||
     42||!IsFilePath   ||No||
     43||!IsDatastoreName      ||No||
     44
     45The !ProxyServerName property specifies the name of a user specified proxy server that will be used to make the connection to the external web service. This could be a host name or an IP address.
    5846
    5947||'''Property'''||      '''Value'''||
    60 ||Name||        ProxyServerUsername||
    61 ||LocalizedName ||ProxyServerUsername(English)||
    62 ||DefaultValue  ||||
    63 ||IsRequired    ||No||
    64 ||IsProtected   ||No||
    65 ||IsEnumerable  ||No||
    66 ||IsFileName    ||No||
    67 ||IsFilePath    ||No||
    68 ||IsDatastoreName       ||No||
    69 The ProxyServerUsername property specifies the username to be used when connecting to a user-specified proxy server. If set, it must be used in conjunction with the ProxyServerName and ProxyServerPassword parameters.
     48||Name||        !ProxyServerPort||
     49||!LocalizedName        ||!ProxyServerPort(English)||
     50||!DefaultValue ||||
     51||!IsRequired   ||No||
     52||!IsProtected  ||No||
     53||!IsEnumerable ||No||
     54||!IsFileName   ||No||
     55||!IsFilePath   ||No||
     56||!IsDatastoreName      ||No||
     57
     58The !ProxyServerPort property specifies the port of the user-specified proxy server that will be used to connect to the Internet. If set, it must be used in conjunction with the !ProxyServerName parameter.
    7059
    7160||'''Property'''||      '''Value'''||
    72 ||Name||        ProxyServerPassword||
    73 ||LocalizedName ||ProxyServerPassword(English)||
    74 ||DefaultValue  ||||
    75 ||IsRequired    ||No||
    76 ||IsProtected   ||No||
    77 ||IsEnumerable  ||No||
    78 ||IsFileName    ||No||
    79 ||IsFilePath    ||No||
    80 ||IsDatastoreName       ||No||
    81 The ProxyServerPassword property specifies the password to be used when connecting to a user-specified proxy server. If set, it must be used in conjunction with the ProxyServerName and ProxyServerPassword parameters.
    82 When user wants to use some proxy server for one provider, the proxy information should be set in the connection information before opening the remote WMS/WFS connection.
    83 Accordingly, the relevant delegates in WMS and WFS should also be updated to enhance their constructors to accept the proxy settings.
     61||Name||        !ProxyServerUsername||
     62||!LocalizedName        ||!ProxyServerUsername(English)||
     63||!DefaultValue ||||
     64||!IsRequired   ||No||
     65||!IsProtected  ||No||
     66||!IsEnumerable ||No||
     67||!IsFileName   ||No||
     68||!IsFilePath   ||No||
     69||!IsDatastoreName      ||No||
    8470
    85 For FdoWmsDelegate class:
     71The !ProxyServerUsername property specifies the username to be used when connecting to a user-specified proxy server. If set, it must be used in conjunction with the !ProxyServerName and !ProxyServerPassword parameters.
     72
     73||'''Property'''||      '''Value'''||
     74||Name||        !ProxyServerPassword||
     75||!LocalizedName        ||!ProxyServerPassword(English)||
     76||!DefaultValue ||||
     77||!IsRequired   ||No||
     78||!IsProtected  ||No||
     79||!IsEnumerable ||No||
     80||!IsFileName   ||No||
     81||!IsFilePath   ||No||
     82||!IsDatastoreName      ||No||
     83
     84The !ProxyServerPassword property specifies the password to be used when connecting to a user-specified proxy server. If set, it must be used in conjunction with the !ProxyServerName and !ProxyServerPassword parameters.
     85When user wants to use some proxy server for one provider, the proxy information should be set in the connection information before opening the remote WMS/WFS connection. Accordingly, the relevant delegates in WMS and WFS should also be updated to enhance their constructors to accept the proxy settings.
     86
     87For !FdoWmsDelegate class:
    8688
    8789{{{
     
    102104}}}
    103105
    104 For FdoWfsDelegate class:
     106For !FdoWfsDelegate class:
    105107
    106108{{{
     
    120122};
    121123}}}
    122 The proxyUrl, proxyPort, proxyUsername all have the NULL as their default value. Their parent constructor FdoOwsDelegate will be called to pass the proxy settings.
     124
     125The proxyUrl, proxyPort, proxyUsername all have the NULL as their default value. Their parent constructor !FdoOwsDelegate will be called to pass the proxy settings.
    123126
    124127== Implications ==
    125128
    126129•       Some new connection properties are introduced.[[BR]]
    127 •       Both constructors of FdoWmsDelegate and FdoWfsDelegate class will be enhanced with more parameters.
     130•       Both constructors of !FdoWmsDelegate and !FdoWfsDelegate class will be enhanced with more parameters.
    128131
    129132== Test Plan ==