Waarp

Last updated
Waarp
Initial release2006
Stable release
3.2.0 / October 11, 2019 (2019-10-11)
Repository
Written in Java
Type Managed file transfer
License GNU GPLv3
Website waarp.github.io/Waarp/

Waarp is a project that provides among other an open source massive file transfer monitor in Java, also known as managed file transfer. Its purpose is to enable bridging between several protocols and to enable dynamic pre or post action on transfer or other commands in an efficient and secured way. Currently FTP(S) and efficient and secure R66 protocols are implemented.

Contents

History

This project was developed initially for the French Ministry of Finance [1] and has been in production since the end of 2007. Developed independently from the ministry IT structure, this software contains 3 main components (originally named GoldenGate, GoldenGate FTP and OpenR66) and was intend to support more than 100 000 transfers a day in an electronic archival platform. It is also in production in the French Gendarmerie Nationale since 2012.

Initially developed by Frédéric Brégier since 2006, the Waarp eponymous company [2] proposes commercial support since 2012, while the software stays free and fully Open Source.

Since 2014, Waarp is officially recommended by the French State in its "Inter-ministerial Free Software Core" (SILL in French as "Socle Interministériel de Logiciels Libres"). [3]

The Waarp project development is hosted on GitHub, as well as all its documentation. [4]

Functionalities

Waarp Gateway FTP and Waarp R66 share several functionalities through the modular development approach of Waarp (Common, Digest, Snmp, ...): they include secure exchange (through SSL and traceability), SNMP V2 and V3 support and administration tools (in HTTPS format), and the business need's adaptation through actions (before and after transfer) in rules.

Waarp R66 has more specific capacities to handle secure and production contexts.

From file transfer aspect, Waarp R66 ensures delivery guarantee and resuming interrupted transfers. Those transfers, synchronous or asynchronous, in push or pull, are based on transfer rules ensuring right and partner authentication control. Transfer trigger could be done through daemons (directory spooling), command line calls or through one of the various available API (Java, Thrift, REST HTTP(s)).

From production aspect, Waarp R66 proposed local administration interface (HTTPS) or central ones (GUI). It optimizes the usage of the network (using multiplexing, bandwidth throttling, proxy support, Keep-alive and timeout, ...) or the usage of other resources (cpu and memory). It allows a high availability installation and the support of horizontal scalability with a high parallel transfer capability (in theory up to 2^64).

From security aspect, Waarp R66 allows to secure exchange through low to high authentication mechanism of partners, a black list, tentative of intrusion detection, DMZ configuration support and restricted access definition for partners.

From business needs adaptation aspect, Waarp R66 supports several task types (tasks are executed before or after a transfer or an error) as file management (copy, delete, tar/zip, charset transcoding, ...), transfer management (re-transfer or reschedule) and external task execution (script or Java).

Waarp R66 supports several database through JDBC (PostgreSQL, Oracle Database, MySQL/MariaDB, H2 Database). This database, not mandatory, brings historic of transfers and resuming capability for interrupted transfers. One database could be shared among several clients and servers.

R66 Protocol

R66 Protocol schema OpenR66-Protocol.png
R66 Protocol schema

The R66 protocol was created to allow advanced functionalities for a managed file transfer monitor in a secured production context.

Related Research Articles

<span class="mw-page-title-main">HTTPS</span> Extension of the HTTP communications protocol to support TLS encryption

Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It uses encryption for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to as HTTP over TLS, or HTTP over SSL.

The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.

The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data connections between the client and the server. FTP users may authenticate themselves with 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. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with SSH File Transfer Protocol (SFTP).

Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securing HTTPS remains the most publicly visible.

cURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client for URL".

File eXchange Protocol is a method of data transfer which uses FTP to transfer data from one remote server to another (inter-server) without routing this data through the client's connection. Conventional FTP involves a single server and a single client; all data transmission is done between these two. In the FXP session, a client maintains a standard FTP connection to two servers, and can direct either server to connect to the other to initiate a data transfer. The advantage of using FXP over FTP is evident when a high-bandwidth server demands resources from another high-bandwidth server, but only a low-bandwidth client, such as a network administrator working away from location, has the authority to access the resources on both servers.

<span class="mw-page-title-main">FileZilla</span> Free software, cross-platform file transfer protocol application

FileZilla is a free and open-source, cross-platform FTP application, consisting of FileZilla Client and FileZilla Server. Clients are available for Windows, Linux, and macOS. Both server and client support FTP and FTPS, while the client can in addition connect to SFTP servers.

FTPS is an extension to the commonly used File Transfer Protocol (FTP) that adds support for the Transport Layer Security (TLS) and, formerly, the Secure Sockets Layer cryptographic protocols.

<span class="mw-page-title-main">WinSCP</span> File transfer software for Windows

WinSCP is a free and open-source SSH File Transfer Protocol (SFTP), File Transfer Protocol (FTP), WebDAV, Amazon S3, and secure copy protocol (SCP) client for Microsoft Windows. Its main function is secure file transfer between a local computer and a remote server. Beyond this, WinSCP offers basic file manager and file synchronization functionality. For secure transfers, it uses the Secure Shell protocol (SSH) and supports the SCP protocol in addition to SFTP.

SAP NetWeaver Application Server or SAP Web Application Server is a component of SAP NetWeaver which works as a web application server for SAP products. All ABAP application servers including the message server represent the application layer of the multitier architecture of an ABAP-based SAP system. These application servers execute ABAP applications and communicate with the presentation components, the database, and also with each other, using the message server.

CrushFTP is a proprietary multi-protocol, multi-platform file transfer server originally developed in 1999. CrushFTP is shareware with a tiered pricing model. It is targeted at home users on up to enterprise users.

curl-loader is an open-source software performance testing tool written in the C programming language.

Managed file transfer (MFT) refers to a technology that provides the secure transfer of data in an efficient and reliable manner. MFT software is marketed to companies as a more secure alternative to using insecure protocols like FTP and HTTP to transfer files. By using an MFT solution, companies can avoid custom scripting and meet compliance requirements.

Sysax Multi Server is a Secure FTP Server and a SSH2 Secure Shell Server for the Windows operating system. Web browser-based secure HTTPS file transfers and Telnet access is also supported. The software is certified for Windows Vista, and tested to be compatible with Windows 7/8. The software is also certified for Windows Server 2012 and runs on all 32 and 64 bit editions of Windows including Windows Server 2008. The Personal edition of the software which includes SSH2/SFTP support is free for non-commercial use.

Sysax FTP Automation is a Secure file transfer automation program for the Windows operating system. It consists of a script generation wizard, script editor and debugger, and a task scheduler. It also contains a secure command line FTP Client program called sysaxftp.exe that is a secure drop-in replacement for the ftp.exe command line program. In addition to FTP, secure file transfer using SSL/TLS (FTPS) and SSH2 (SFTP) are supported. The software is certified for Windows Vista, and tested to be compatible with Windows 7. The software is also certified for Windows Server 2012 and runs on all 32 and 64 bit editions of Windows from Windows 2000/Windows XP to Windows 8/Windows Server 2012. The Personal edition of the software is free for non-commercial use.

OTP is a collection of useful middleware, libraries, and tools written in the Erlang programming language. It is an integral part of the open-source distribution of Erlang. The name OTP was originally an acronym for Open Telecom Platform, which was a branding attempt before Ericsson released Erlang/OTP as open source. However neither Erlang nor OTP is specific to telecom applications.

<span class="mw-page-title-main">Unisys OS 2200 communications</span> Aspect of Unisys OS 2200 operating system

The OS 2200 communications management system includes CPComm and MCB along with many programs that provide communications related functions such as file transfer, e-mail, and distributed transaction processing protocols.

<span class="mw-page-title-main">Shinken (software)</span>

Shinken is an open source computer system and network monitoring software application compatible with Nagios. It watches hosts and services, gathers performance data and alerts users when error conditions occur and again when the conditions clear.

<span class="mw-page-title-main">Extromatica Network Monitor</span>

Extromatica Network Monitor is a network monitoring application created and maintained by Extromatica company. It is designed to monitor network hardware, servers and network services for faults and performance degradation. It alerts users when things go wrong and again when they get better. The software supports a variety of real-time notification mechanisms, including Short Message Service (SMS).

References

  1. French citation: http://linuxfr.org/news/waarp-le-moniteur-de-transfert-de-fichier-open-source
  2. Official Website for the Waarp company: http://www.waarp.fr
  3. DISIC reference website on free software: http://references.modernisation.gouv.fr/socle-logiciels-libres Archived 2014-07-02 at the Wayback Machine
    and the 2014 SILL: http://references.modernisation.gouv.fr/sites/default/files/SILL-2014-socle-interminist%C3%A9riel-logiciels-libres.pdf
  4. Official website for documentation and development of Waarp: https://waarp.github.io/Waarp/