Hi,

On Thu, Feb 13, 2003 at 04:21:24PM +0100, Tobias Kaefer wrote:
> > Kommt mir das nur so vor oder ist diese vorgehensweise reichlich
> > idiotisch? Ich mache bei sowas einen TCP Socket auf und schieb die Daten
> > direkt an die Applikation. 
>
> Also ich spreche da aus eingener Erfahrung.
> So einen selbstgestrickter Server ist schon etwas
> feines, nur bis man alle Aspekte für die Schnittstellenbeschreibung hat dauert 
> es meist länger als einfach etwas vorhandenes zu benutzen.

TCP/SSL Socket -> Login: <user> -> Password: <password> -> data bis EOF 

Geht sicherlich nicht immer, aber ziemlich oft und geht in Perl unter 10
Zeilen von der Hand, für die Daten die Kommen mußt du eh einen Parser
schreiben ;-)
Und die Datenfelder wollen in jedem Fall auch ersteinmal spezifiziert 
sein. 


> Ausserdem sind Protokolle wie ftp, ssh, sftp etc. eben schon erprobt.
> Sicherheitsrisiken sind bekannt oder aus der Welt geschaffen worden.

Ack. ssh könnte man zum Beispiel auch für so einen dienst verwenden,
einfach eine Applikation schreiben die sich da ranconnectet. Oder halt
per SSL. Sockets sollte man in jeder Programmiersprache ohne Probleme 
öffnen können. ;-)



> Natürlich ist dateibasiertes arbeiten nicht so vornehm und schick, wzb. eine 
> eigene Upload-Klasse und der entsprechenden Server dazu.
> Es geht aber meist schneller in der Entwicklung.

Es ist nicht nur vornehm und schick, folgende dinge wollen beachtet
werden:

- Mehrere Benutzer dürfen sich nicht gegenseitig Daten überschreiben
  (Wird durch mehrere Verzeichnisse gelöst)

- Der Upload muß fertig sein bevor der Parser auf der Serverseite
  anspringt. (Wird durch zwei weit auseinanderliegende Crons gelöst)

- Du brauchst eine FTP Klasse im Client. oder einen FTP Client.

- Wenn der Parser läuft darf der Client keine neuen Daten schicken. 

- Der Parser muß testen ob neue Daten da sind.

- Einer meiner Lieferanten hat einen Satz Produktbilder (ca 30 MB) ich
  habe dank zip keine Chance nur neue Bilder anzufordern. und das über
  ISDN.


> Und die Zeit für die Entwicklung wird eben bezahlt und nicht wie schön das 
> Programm übers Netzwerk kommuniziert.

Ebend! Deshalb meine Frage, geht das wirklich schneller? Ist das
wirklich billiger? 

Ein Fallbeispiel: $COMPANY braucht für die eigene Groupwareapplikation
die sich an keinen mir bekannten Standard hält eine Schnittstelle zum
Mailserver um benutzer anzulegen. 

ssh fällt aus, kann $PROGRAMMIERER nicht

Vorschlag a: 
        immer wenn ein neuer benutzer angelegt wird wird ein CSV
        File gebaut auf einen Server gelegt. Alle X Minuten wird
        nachgesehen ob das file neu ist, dann werden die benutzer
        eingetragen oder entfernt.

Vorschlag b: 
        Die komandos werden über einen tcp socket gesendet wesentlich
        schneller auf dem Server implementiert, Und der client braucht
        sowieso ein paar zeilen code zum uploaden......
        

Oder $AUFTRAG:
        $WATCHING Software erzeugt per perl script CSV Files die dann 
        auf einen NetSaint Server übertragen werden um dort events
        auszulösen. Klasse weil $WATCHING Software hat genau wie
        NetSaint eine Perl Schnittstelle, den Zeitraubenden Umweg über
        CSV kann man sich glatt spaaren. 

Und solche Aktionen erlebe ich irgendwie immer(!) wenn ich CSV per FTP
höre. Kann sein das das ein Vorurteil ist, aber ich finds eben
Idiotisch!


> Anders sieht das aber aus, wenn man den Applikationsserver als Basis für 
> diverse Produkte entwickelt.
> Dieser Mehraufwand lohnt sich schon eher.
> Nur ist die Entwicklung, dann eben zeitaufwendig und daher auch teuer.

Ja, da wirds ja auch richtig gemacht ;-)


bis denn
-- 
May the source be with you!

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an