Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Womit kleines Linux-Programm (Web Service-Client) entwickeln? (https://www.delphipraxis.net/174799-womit-kleines-linux-programm-web-service-client-entwickeln.html)

Bbommel 10. Mai 2013 18:04

Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Hallo zusammen,

ich werde in den nächsten Wochen ein kleines Tool für Linux entwickeln müssen und überlege, welche Sprache/Entwicklungsumgebung dafür am besten geeignet ist. Das Tool soll auf Linux-Servern laufen, auf denen in einem Verzeichnis, das mittels Samba für Windows freigegeben ist, ein Windows-Programm liegt und das Linux-Tool soll prüfen, ob das Windows-Programm aktualisiert werden muss und das dann ggf. auch durchführen.

Dazu gibt es einen Web Service, auf den das Linux-Tool zugreifen soll und mit dem es rausfinden kann, was die aktuelle Programm-Version ist und mit dem es dann ggf. auch die Updates "bestellen" und runterladen kann.

Den Web Service gibt es schon und er funktioniert prinzipiell auch. Wir hatten bisher das zu aktualisierende Programm selbst nach Updates suchen lassen, aber wegen Lock- und tw. auch Cache-Verhalten funktioniert das hinten und vorne nicht so, wie wir gehofft (und bei uns auch getestet) hatten. Insofern soll das nun, falls ein Kunde das wünscht, ein kleines Tool nachts per Cron-Job machen.

Jetzt meine Frage: ich habe noch nie wirklich für Linux entwickelt. Mit welcher (Skript-)Sprache sollte ich das am besten umsetzen? Programmiertechnisch so richtig zu Hause fühle ich mich bei Delphi, d.h. hier kann ich ein Programm sozusagen im Schlaf schreiben. Das würde dann ja für Lazarus/FreePascal sprechen. Oder wäre für so eine kleine Aufgabe vielleicht irgendein Perl-Skript o.ä. passender? Damit habe ich auch schon mal gearbeitet, brauche dann aber sicherlich ein bisschen mehr Zeit, um mich da reinzuwurschteln. Ähnliches würde für C/C++ gelten.

Was meint ihr?

Bis denn
Bommel

implementation 10. Mai 2013 18:33

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Wenn die Aufgabe wirklich winzig ist, würde evtl. ein einfaches Shellskript reichen (bash, csh, ksh, rc oder so). Perl ist praktisch der große Bruder davon.
Im Prinzip hast du alle Wahl der Welt, aber für einfache Aufgaben sind Shellskripte einfach perfekt.
Webresource anfordern mit Wget oder Curl, Prüfsumme mit sha512sum, md5sum oder OpenSSL, RegEx mit Sed: Alles einfach so ohne jegliches "einbinden" oder so benutzbar (vorausgesetzt sie sind installiert).

paetzke 10. Mai 2013 20:55

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
ich würde da zu Bash raten, wenns nicht mehr als 100 zeilen sind - wonach es sich anhört. hört sich ja eher nach 10 zeilen an. stichworte hat mein vorposter alle schon genannt.

sx2008 10. Mai 2013 21:42

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
"Web Service" heisst doch wohl SOAP + WDSL, oder?
Falls ja, dann tut man sich mit WGet oder Curl etwas schwer weil man jeden Request als XML-Datei zuerst erzeugen muss und dann die Response-Datei (auch XML) parsen muss.

In dem Fall würde ich zu Python greifen (ist einfach schöner und nicht so kryptisch wie Perl) und mit dem Modul SOAPpy arbeiten.
Hier gibt es eine Beschreibung dazu.

Falls der Web Service dem REST Modell folgt, dann kann man auch mit Shellskripts arbeiten.

implementation 10. Mai 2013 23:25

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Zitat:

Zitat von sx2008 (Beitrag 1214995)
Falls ja, dann tut man sich mit WGet oder Curl etwas schwer weil man jeden Request als XML-Datei zuerst erzeugen muss und dann die Response-Datei (auch XML) parsen muss.

Erzeugen muss man ja keine Datei, das geht schnell per Here-Document:
Code:
befehlszeile ... <<EOF
<?xml version="1.0"?>
<...>
  <...>
</...>
EOF
Und beim Verarbeiten der Antwort könnte XPath helfen. Soll jetzt nicht heißen, dass ein Shellskript unbedingt die perfekte Lösung sein muss -- aber sooo ungeeignet ist es auch nicht.

Bbommel 11. Mai 2013 09:33

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Vielen Dank für eure Antworten. In der Tat hätte ich den Web Service vielleicht näher beschreiben sollen. :) Es geht nicht einfach nur darum, eine neue Datei als Update runterzuladen, sondern tatsächlich sollen per SOAP Funktionen auf dem Server aufgerufen werden, da dieser zunächst prüfen muss, ob der Kunde Update-berechtigt ist und dann auch eine passende Lizenz generieren muss.

Insofern werde ich mit wget oder curl wahrscheinlich nicht soooo glücklich werden und der Hinweis auf Python mit passender Anleitung sieht mir nach einem guten Ansatz aus, vielen Dank! Python hatte ich für irgendwelche Skripte sogar schon hier auf meinem Windows-Rechner installiert, wie praktisch. Endlich mal wieder eine neue Sprache lernen... ;)

Bis denn
Bommel

implementation 11. Mai 2013 10:12

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Zur Vervollständigung: In FreePascal könnte das hier sehr hilfreich sein.

grl 11. Mai 2013 12:40

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Also, ich würde da immer FreePascal nehmen - wenn du Delphi gewöhnt bist und mit anderen Sprachen nicht wirklich fit.

Ganz nebenbei eignest du dir damit nämlich KnowHow an, daß du sicher in einem anderen Projekt (das dann vielleicht einfach näher an deinen Windows-Projekten dran sein muss) sicher mal brauchen kannst.

Luggi

mkinzler 11. Mai 2013 12:53

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Andererseits schadet KnowHow in Unixstandard-Tools wie z.B. der Shellprogrammierung auch nicht

Namenloser 11. Mai 2013 18:19

AW: Womit kleines Linux-Programm (Web Service-Client) entwickeln?
 
Ich würde auch Python nehmen. Es ist im Unix-Bereich relativ etabliert und ich fühl mich dort eher zuhause als bei Bash oder Perl. Gibt auch sicher genügend fertige Frameworks/Bibliotheken für SOAP mit Python.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz