You are on page 1of 3

Scenario

Partners can send information to each others via SFTP and in various formats. The requirement is to use the SFTP feature of webMethods to get the data from the sftp server, validate the format and then send the same to the data stores. The scope of the engagement is as follows: i. ASCII text Files from partners: Certain partners put the ASCII text files in their respective sftp servers. WebMethods, which act as the sftp client, will pick up the ASCII text files, convert them to EBCDIC and ftp them across to mainframe. ii. ASCII Files to partners: EBCDIC files will be picked up from the mainframe by webMethods, the files will be transformed to ASCII format and the same put into the sftp servers for the respective partners.

Which protocol to choose FTP(S) or SFTP?


FTP(S): An enhancement to standard FTP (as defined in RFC 959), which uses the same FTP commands (and protocol) over secure sockets, i.e. over SSL/TLS. This is variously known as FTPS, FTP-SSL, and FTP-over-SSL. SFTP: Provides secure file access, but which is not related to the standard FTP protocol. This is implemented using SSH (Secure Shell), a suite of secure network connectivity tools (when used with SSH2 this is known as SFTP). The primary purpose of SSH is to enable users to remotely log into a machine over a secure connection. Unlike standard FTP, it encrypts both commands and data, preventing passwords and sensitive information from being transmitted in the clear over the network. It is functionally similar to FTP, but because it uses a different protocol, - You can't use a standard FTP client to talk to an SFTP server, - You cant connect to an FTP server with a client that supports only SFTP. The two protocols (FTP and SFTP) are completely different and not related. The decision to be taken is whether: - To implement ftp over SSL, FTP(S), or - SFTP , as explained above, then we will have to go with a 3rd party option.

Considerations FTP(S) or SFTP


Considerations Third party software required Supported in webMethods 6.1 SFTP Yes. SSH required Not officially supported. But the package from wM PS enables the implementation of an SFTP client. The OpenSSH package can be downloaded from http://advantage.webmethods.com/article/? id=1611654264 Not officially supported. But the package from wM PS enables the implementation of an SFTP client. The OpenSSH package can be downloaded from http://advantage.webmethods.com/article/? id=1611654264 FTP(S) No No

Supported in webMethods 6.5

Yes

Implementation Plan
Assuming the current webMethods version is 6.1 SP1, the following would be the implementation plan that needs to be followed based on which protocol is used STPT or FTP(S): Use SFTP: - Current webMethods version is 6.1 SP1. - Obtain and install an OpenSSH implementation before using the package. This can be got from http://www.openssh.org - Install the IS OpenSSH package. - Do a small Proof-of-concept to validate whether sftp can be done from webMethods to a sftp server. - If this possible, then go with this approach; else go for FTP(S). Use FTP(S): - Current webMethods version is 6.1 SP1. - Upgrade webMethods version to 6.5. - Request partners to have secure ftp servers. - Do a small Proof-of-concept to validate whether secure ftp can be done from webMethods to a secure ftp server - If this possible, then go with this approach.

Methodology for incorporating SFTP in webMethods


Before deciding on the methodology of incorporating SFTP in webMethods, a decision needs to be made on whether to use - webMethods as sftp client, OR - webMethods as sftp server (NOT IN SCOPE) Assuming that in case of webMethods would be used ONLY as a sftp client to - Pick up and process files from the respective sftp servers

Process and drop files onto the respective sftp servers, the following is the proposed methodology: 1. WebMethods needs to use the pub.openssh:sftp service for fetching the data from SFTP server. Using mget/get to get the available files from the remote server. 2. Putting the fetched files in a preferred path in local machine. 3. Validation of the data fetched. Do mapping/transformation from ASCII to EBCDIC on the incoming data before sending it out to the data stores. 4. Send data to different data stores Questions/Queries: i. What are the different data stores? Before performing Step 1, we need to set up the following: Install a sample package for the Integration Server that allows execution of OpenSSH commands such as sftp and scp from integration Server services. webMethods does not provide any OpenSSH software. The sample Integration Server OpenSSH package contains only wrapper flow services for invoking a command line tool. Therefore, one must obtain and install an OpenSSH implementation before using the package.

Put the OpenSSH.zip file (available from the wM advantage site) into the replicate/inbound directory. Activate the package via the Web administrator. Edit the packages\OpenSSH\config\openssh.properties file to reflect the location of your SSH binary. See security technote for assistance configuring an SSH identity for the Integration Server.

You might also like