Thema: Delphi oftp-Komponente ?

Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#12

AW: oftp-Komponente ?

  Alt 2. Nov 2010, 19:11
Eine kommerzielle Lösung wäre zum Beispiel der Lobster DataWizard oder ein Seeburger System. Sind beide jedoch relativ kostspielig, und lohnen sich erst wenn man viele EDI Anbindungen und Mappings benötigt. Daneben gibt es OFTP Support in RVS Produkten von T-Systems.

Es gibt aber auch eine Open Source Java Lösung, Accord Odette FTP, die sich relativ leicht in Delphi Anwendungen integrieren läßt.

Sie basiert auf dem OdetteJ Projekt, das dieses Jahr eingestellt wurde, und befindet sich auf http://accord.ow2.org/odetteftp/index.html - sie wird unter AGPL lizenziert (was aber einem kommerziellen Einsatz nicht im Wege steht).

Ihr Leistungsumfang:

* Support for OFTP 1.3, 1.4 and 2.0
* Auto backward compatibility
* Support for unique version mode
* Support for SSL client authentication
* File compression
* File restart
* Push and pull operations
* Support for sending End-to-End response (EERP) also know as file delivery receipt
* Digital signatures
* Certificates
* Support for TCP/IP transport
* Support for X.25 transport
* Secure transport over SSL
* Asynchronized and event-based architecture
* Open Sourced through the Affero GPL 3.0

Standardmäßig werden die Verschlüsselungen

* AES-256
* 3DES
* SHA-1

unterstützt, weitere können über das Java Cryptography Extension (JCE) layer hinzugefügt werden.
Um es in Delphi oder andere Programme zu integrieren, kann man diese Library als Komponente in Apache Camel einsetzen.

In Apache Camal kann man beliebige Mappings zwischen Endpunkten konfigurieren, für ein Mapping eines OFTP Servers auf eine Dateisystem-Inbox also z.B.

Code:
 from("oftp://server").to("file:inbox");
Apache Camel stellt dann die Verbindung her und prüft regelmäßig auf neue Nachrichten, die dann in der Inbox abgelegt werden.

Man ist bei Apache Camel für den Einsatz von Delphi nicht auf file: Endpoints beschränkt, man kann auch weitere Endpointtypen nutzen, z.B. ist auch ein 'normaler' FTP Endpoint denkbar, damit wäre Apache Camel ein Proxy / Konverter von FTP nach OFTP. Eine Liste der unterstützten Standards ist auf http://camel.apache.org/components.html zu finden, darunter befinden sich viele von Delphi unterstützte Schnittstellen (HTTP, SMTP / TCP, UDP).

Der Aufwand für erste Tests wäre damit überschaubar: Camel + Accord Odette FTP installieren, eine Konfigurationsdatei erstellen, starten. Die Konfiguration ist eine XML Datei, es gibt sehr viele Beispiele hierzu und umfangreiche Doku. Für komplexere Anforderungen ist eventuell auch Java Code erforderlich.


Hope this helps
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat