FTP Source

FTP Source service enables you to define the name and path of the source file located at FTP server, which is to be later transferred to the target location. On execution of the process flow, FTP Source service enable Adeptia Server to fetch this source file from the specified FTP location.

Prerequisites

If you are using SSL FTP Server then you need to validate it by importing certificates. For information on how to create Keystore and import certificates, refer to Creating Keystore.

Follow the steps below to create FTP Source:

  1. Click Configure > SOURCES > FTP Source.

  2. Click Create FTP Source.



  3. Enter the name and the description of the new FTP Source in the Name and Description fields respectively.

  4. Enter the Host name and Port on which FTP Server is running.
  5. Enter the username and password required to access FTP Server in the User ID and Password fields.
  6. Re-enter the password in the textbox Confirm Password.

    FTP is built on a client-server architecture and uses separate control and data connections between the client and the server. FTP users may authenticate themselves using a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. Therefore, you need to enter the username and password to access FTP site.
  7. Enter the path of source file in the Remote File Path field. This file path specifies the location of the source directory where the file is located.

    You can specify either absolute path or relative path depending upon the access control specified for you. Access Control is the process of authorizing users, groups, and computers to access objects on the network or computer.

    If you specify '/' in the beginning of the remote FTP file base location path then the provided path is an absolute path, that is, path starting from the root folder. If '/' is not present in the beginning of the remote FTP file base location path then the provided path is a relative path.

  8. Enter the source file name in the File Name field. 
  9. Select the transfer mode from the Transfer Mode drop-down list. This option is used to specify the mode in which the source file is transferred to/from FTP server. The file can be transferred either in Binary or in ASCII format. 


    In BINARY mode, a source file is transferred bit by bit (raw data without any modification) from one system to another system. Both files (source file and target file) will contain exactly the same sequence of bytes. In this way, the file is transferred in its exact original form.

    However, in ASCII mode, source file is not transferred bit by bit as the transferred data is considered to contain only ASCII formatted text. Therefore, the target file that receives the transferred data is responsible for translating the format of the received data to the format that is compatible with the operating system at the client-end. So a file may use special control characters to format data and may be slightly changed to maintain itself with respect to the EOL (End Of Line) characters.

    Select Binary, if the source file is a binary file to avoid any changes in the file but if the source file has ASCII character(s) then select ASCII to maintain EOL characters.

  10. Select the transfer type as either Active or Passive from the drop-down list of Transfer Type:
    • Passive
    • Active

    Active FTP is more secure and beneficial for FTP server administrator. However, it is disadvantageous for the client side administrator as when the FTP server attempts to make connections with the random high ports, most of the times it get blocked by a firewall at the client side. 

    Passive FTP is beneficial for the client, but disadvantageous for FTP server administrator. In this case, when the FTP server attempts to make a connection, a successful connection is established with the server. However, one of the connections is established with a random high port, which most of the time gets blocked by a firewall on the server side. Therefore, it is recommended to use Passive as it is beneficial for the client.

    The next step is to decide if you want to use SFTP, or FTPS. If you do not use any of these two protocols, the default FTP protocol is used, and you need to skip to step 12 and complete all the steps that follow.

    In case you opt to use SFTP or FTPS protocol, follow the steps below.

  11. Choose either of the two protocols – SFTP, or FTPS
    If you want to use SFTP protocol, 

    1. Select SFTP checkbox. 
    2. Convert the format of the key that you want to use to OpenSSH key format by using any key conversion tool. Once converted, import the key to Key Manager. Refer to this page to know how to import a key to the Key Manager.
    3. In the Key Manager field, select the key from the list.
    4. Skip to the step 12 and complete all the steps that follow.
    If you want to use FTPS protocol, 
    1. Select FTPS checkbox. 
    2. In the FTPS Mode field, select FTPS mode. The available options are Explicit and Implicit.  Select FTPS mode with respect to FTP Server you are accessing.

      In Explicit mode (also known as FTPES), an FTPS client must "explicitly request" security from an FTPS server and then step-up to a mutually agreed encryption method. If a client does not request security, FTPS server can either allow the client to continue in insecure mode or refuse/limit the connection.

      In Implicit mode, negotiation is not allowed with implicit FTPS configuration. A client is immediately expected to challenge FTPS server with a TLS/SSL message. If such a message is not received by the FTPS server, the server should drop the connection.

      By default, it should be Explicit as in this mode client requests security from FTPS server.

    3. In the Protection Level field, select the protection level. 

      Protection Level is a single Telnet character code specifying the data channel protection level. This command indicates server what type of data channel protection the client and server will be using. The default protection level is None. The available options are:
      • None
      • Clear: This protection level indicates that the data channel will carry the raw data of the file transfer with no security applied.
      • Private: This protection level indicates data will be confidentially protected.

    4. If you want Adeptia Connect to authenticate FTP server and subsequently validate the certificate sent by FTPS server against the certificate imported in Keystore, select Validate Server checkbox, and select a keystore activity from the Keystore Name field. 

      If Validate Server checkbox is not selected, it always accepts the certificate sent by FTPS Server. You must select this checkbox, if you are using FTP over SSL. In addition, you need to create a Keystore Activity by importing the certificate which can be used to trust the FTP server.
  12. Expand Advanced Properties.
    1. Select Delete File on Success check box, if you want to delete the FTP source file after successful execution of the Process Flow. In case, the Process Flow is aborted due to any reason, the source file will not be deleted.
    2. In the Connector field, select the connector to connect to the FTP Server. 
      The options in the Connector field change based on the type of protocol you're using to establish the FTP connection. By default, Apache Camel is selected in this field. 

      FTP

      Apache Camel
      NATIVE

      SFTP

      Apache Camel
      J2SCH (VFS)
      J2SSH

      FTPS

      Apache Camel
      J2SCH (VFS)

      Protocol

      Options

      Make sure that you've selected an OpenSSH key in the Key Manager field in case the selected connector is Apache Camel and the protocol is SFTP.  
    3. In the Preferred Authentications field, enter your preferred authentication methods. 

      This field is available only when you select SFTP as the protocol and Apache Camel as the connector. The default set of authentication methods for FTP Source is publickey,keyboard-interactive,password. 
    4. Enter the additional configuration details in the Add On Configurations text box. 

      This field is available only if you have selected Apache Camel connector. 

    5. Select Verbose check box to create a log file of your FTP service.

      You can enable the Verbose check box only if you have selected the Apache Camel option from the Connector field.

      When you select the Verbose check box using Apache Camel option, the log files are generated on the basis of the FTP protocols. For example, if a user runs FTP activity named FTP Source (connecting with FTP protocol only), the verbose log file path for this activity will be ...\logs\ftpLogs\ftpcomponent.log. If the user runs this activity more than once, all the generated logs will be appended to this ftpcomponent.log file.

      Log file will be generated on the basis of FTP protocols (FTP/FTPS/SFTP) at the different location as explained below:

      • For FTP protocol:  ...<ConnectServerInstallFolder>\AdeptiaServer\ServerKernel\logs\ftpLogs\ftpcomponent.log
      • For FTPS protocol:  …<ConnectServerInstallFolder>\AdeptiaServer\ServerKernel\logs\ftpLogs\ftpscomponent.log
      • For SFTP protocol:  …<ConnectServerInstallFolder>\AdeptiaServer\ServerKernel\logs\ftpLogs\sftpcomponent.log
    6. Set the time limit (in seconds) in the Data Timeout text box to end the connection after the defined timeout.

      At times, when Adeptia Connect is connected with FTP server, there could be connectivity issues. This could result in an infinite loop with no output. This issue can be resolved by setting a time limit if no data is transferred between Adeptia and FTP servers. By default, this is set to 60 seconds. This implies that if there is no data transfer for 60 seconds between both the servers, the connection is considered broken and an error message is displayed.
    7. Select the Project from Project field.

  13. Click Save.

    You can verify the FTP source service at design time. For this, click Test. This verifies the values given in the Host Name, Port, User ID, Password, and Secured fields.