Newsgroup: it.comp.lang.delphi
Titolo: Accetto suggerimenti ....

Buongiorno a tutto il NG,
è da un po' di tempo che non sviluppo con Delphi, ma ho la necessità di 
realizzare un webservice.
Vi descrivo il problema: un'azienda mi mette a disposizione un webserver 
Windows con installata un'applicazione. Devo realizzare un webservice 
che esegua l'applicazione e mi restituisca il codice d'uscita. Dal mio 
sito in php, parcheggiato in un altro server, devo contattare il 
webservice, autenticarmi, inviargli tre file e attendere la risposta. I 
dati di autenticazione saranno salvati in un file xml a disposizione del 
webservice. I dati di autenticazione servono al webservice per salvare i 
file inviati in apposite cartelle.
 
Attendo Vs. suggerimenti
 
Ciao
 
Juri

 il codice d'uscita.
 
Che versione di Delphi dovresti usare?
Se è vecchia (tipo 6, o 7) mi chiedo se sia proprio necessario scriverlo 
con delphi questo webservice.. In fin dei conti, se deve solo lanciare 
un eseguibile e aspettarne l'esito, per me fai prima a installarti 
visual studio lite e fartene uno in .net.
 
-- 
morde
Android
QT 4.7
Delphi (5,6,7.. expired)
Firebird Database
 

 Attendo Vs. suggerimenti
 
Suggerimenti in merito a cosa in particolare?
 
Spiega qual è il problema specifico che non riesci a risolvere, visto che per ciascuno degli step che hai illustrato si potrebbe dire di tutto e di più, e dato che il lavoro l'hanno commissionato a te non penso sia giusto farlo fare ad altri. :)
 
-- 
MARCO BREVEGLIERI
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 


mi mettono a disposizione Delphi 2010 e non ho mai utilizzato visual 
studio e .net

Scusa Marco se ho offeso la tua sensibilità, ma non avendo mai costruito 
un webservice ed essendo da un po' a digiuno di delphi, speravo che q. 
mi desse delle linee guida da seguire per non dover fare 
un'interminabile ricerca nel web di numerosissimi esempi che non 
calzano. Anche per questo ho dato una descrizione panoramica di ciò che 
devo ottenere.
 
Grazie e scusami tanto
 
Juri

Il giorno giovedì 15 marzo 2012 10:54:22 UTC+1, Juri ha scritto:

Un paio di link per cominciare...
 
Micro tutorial per sviluppare web service in delphi:
http://blogs.embarcadero.com/pawelglowacki/2008/12/18/38624
 
 
Come lanciare un programma esterno e recuperare il codice di uscita:
http://delphi.about.com/od/windowsshellapi/a/executeprogram.htm
 
 
ciao
Giacomo
 
 
 
 
 


Grazie 1000 Giacomo, un buon punto di partenza
 
Ciao
 
Juri

 Scusa Marco se ho offeso la tua sensibilità [...]
 
Non è un problema di sensibilità: semplicemente, non si capiva su quale delle cose che hai scritto eri in difficoltà.
 
Hai riportato tutti i requisiti, ma non era chiaro se l'ostacolo fosse la costruzione di un Web Service in generale, di invocare un programma esterno, di richiamare il Web Service da PHP o cosa...


 Attendo Vs. suggerimenti
 
Tu "accetti" e "attendi" nostri suggerimenti? Ma sei proprio generoso con 
noi! ;-)
 
Saluti,
 
Hubert 
 

 con noi! ;-)
 
e tu "accetta" e "attendi" il pagamento da parte sua. Gli hai già
mandato le coordinate bancarie?
 
-- 
Alessandra
 
La conoscenza è fatta di una materia più dura di quella della fede
sicché, quando si urtano, è la fede a spaccarsi - A.Schopenhauer


Normalmente non avrei commentato delle domande così sarcastiche, ma sono 
disposto a darti delle spiegazioni, magari puoi imparare q. anche tu: Ho 
fatto il programmatore per diversi anni, ma poi ho dovuto abbandonare. 
In tale periodo sono sempre stato attivo nel dare suggerimenti o fornire 
porzioni di codice che potessero essere d'aiuto anche agli altri. Ora, 
trovatomi in difficoltà, ho chiesto se q. aveva dei suggerimenti per 
avere un percorso che mi potesse far risparmiare del tempo. 
Effettivamente ho ottenuto l'aiuto che cercavo, mi sono stati postati 
dei link efficaci per ottenere la formazione di cui avevo bisogno per 
realizzare il mio progetto. Se ho utilizzato una forma espressiva che ti 
ha offeso, ti porgo le mie più sentite scuse, ma potevi almeno chiedermi 
se avevo mai compreso il senso di un NG. Ora penso tu abbia imparato q. 
di nuovo.
 
Ciao
 
Grazie
 
Juri


I suggerimenti sono ben accettati ... le accette sono in svendita al Brico.
 
;-P

 ha scritto nel messaggio 
news:jjse8c$8v4$1...@speranza.aioe.org...

perche non te lo scrivi un webserver?
 
 

"Juri"  ha scritto ...

Ciao Juri!
 
Grazie di cuore per l'eccezione alla tua usanza rispondendo al mio post.
Hai ragione: non sapevo che avevi tanto sostenuto la comunity con i tuoi 
contributi. Per questi - pur non conoscendoli - ti sono grato perché mi da 
sempre gioia vedere, sapere e leggere quanto ognuno contribuisce alla 
"conoscenza globale". Infatti è ottimo come subito esponi perbene e tanto 
dettagliato il tuo problema.
 
La mia perplessità non era tanto che tu saresti stato contento di qualche 
suggerimento. A me sembrava solo un po' tosto usare il termine "aspetto". 
Non sarebbe il caso dire "vi chiedo"? Confesso che non sono un "native 
speaker" del italiano (l'avrai notato ben presto, penso), quindi può essere 
che mi sbaglio nel suono delle parole, ma io, almeno per la mia parte, sarei 
più "gentile" a chiedere qualche suggerimento. E così (forse troppo 
facilmente) mi urtano certe domande se mi sembrano invece delle richieste. 
(Provengo da Vienna dove si conta tanto sull'essere "gentili" ...)
 
Ma sono tanto contento che hai avuto dei suggerimenti da persone che non si 
sono fermato al suono delle parole (Se avessi saputo darti un indirizzo alla 
tua domanda ti avrei dato anch'io volentieri qualche suggerimento, però dei 
webservices non mi intendo affatto - pur troppo).
 
Ti saluto allora ringraziandoti di nuovo per la tua pazienza,
 
Hubert 
 

 "aspetto". Non sarebbe il caso dire "vi chiedo"?
 
Francamente avevo avuto anche io la stessa impressione 
(attendo=aspetto), anche se non gli ho dato molto peso: tuttavia 
capisco il tuo punto di vista e lo giustifico :-)


Ringrazio tutti per i commenti,
ammetto che ho ecceduto nell'utilizzare il termine "accetto", ma sentivo 
la necessità e la voglia di iniziare subito a documentarmi (lo spirito 
da programmatore mi è rimasto).
Mi fa piacere informarvi che con i Vs. suggerimenti e una buona dose di 
fortuna (ho trovato molte risposte alle mie domande), il progetto è già 
stato realizzato, a breve verrà installato in un server di produzione.
 
Ho scritto un server SOAP ed un client SOAP in Delphie una piccola 
libreria php con una classe che implementa il client SOAP.
Il server necessita di un'autenticazione per permettere l'uso di 
qualunque funzione, ho implementato un sistema di trasferimento file dai 
client al server trasformando i dati binari in stringhe codificate in 
base 64 (in cui ho scoperto delle differenze interessanti tra php e Delphi).
Il server, inoltre, esegue un'applicazione in locale ne restituisce 
l'exit code ai client.
 
Se vi interessano dei particolari, non esitate a chiedere.
 
Ciao
 
Juri

 Se vi interessano dei particolari, non esitate a chiedere.
Mi interessa una cosa riguardo il base64: di quanto si è appesantito il 
trasferimento dei dati? Il base 64 a me aveva aggiunto un peso non 
indifferente ai trasferimenti.
Hai poi compresso l'invio al client?



Non ho fatto dei calcoli precisi e ho fatto dei test di trasferimento di 
files fino a 1 Mb. In locale non si precepiscono rallentamenti anche se 
collego 5 client ed eseguo 5 trasferimenti contemporaneamente.
Per codificare in base64 ho utilizzato TIdDecoderMime e TIdEncoderMime 
delle Indy, in quanto perfettamente compatibili con il base64_encode e 
base64_decode di PHP.
 
Il PHP ti crea qualche piccolo problema, la lettura del file sembra che 
non utilizzi nessun carattere speciale di terminazione (EOF) per cui 
all'inizio trasmettendo i file, mi perdeva un byte in coda. Per 
risolvere ho provato ad aggiungere un byte (a cas) ed ho risolto, ma non 
ho capito esattamente il perchè: in Delphi mi risulta che alla fine di 
ogni file aggiunga un carattere speciale che sembra un carattere di 
controllo, ma non ho approfondito.
 
Non ho compresso i dati (potrei aggiungerla come opzione nelle prossime 
versioni), in quanto mi aspetto file che non superano i 200k (l'85% dei 
file campione è inferiore a 200k, un 10% è inferiore a 500k, il resto è 
un "misto mare"), ma ho aggiunto un controllo sulla dimensione nei 
client in modo da limitare i file a 2Mb.
 
Ciao
 
Juri