SOAP meglio php o java o altro?

Questa è una delle ultime domande che mi son posto, in realtà la domanda è estesa a qualsiasi linguaggio di programmazione possa venire in mente.

Nella teoria un linguaggio è meglio dell’altro a seguito del sistema che si deve progettare, ma nella pratica il predominante è sicuramente php perchè ogni cosa al giorno d’oggi è fatta per php: dagli hosting a veramente basso costo, a determinate configurazioni ed installazioni che sono istantanee.

Il tempo è tutto, la facilità di manutenzione e le tempistiche per far un lavoro pulito con php e qualcosa come una versione qualsiasi di zend framework sono effettivamente minime.

 

Un webservice spesso viaggia insieme ad un sito o ad un gestionale più complesso, spesso per la scelta di come farlo influisce molto di più il sistema che circonda del linguaggio in sè.

Due esempi:

  1. hosting + dominio = 10 euro l’anno. Possibile con php.
  2. vm + competenze/commissioni sistemistiche + dominio + installazione di un application server = 1000 euro l’anno minimo. E’ in definitiva la soluzione migliore che ho trovato io per java.

Detto questo, se si deve fare solo 1 lavoro, quello che conviene di più è palese.

 

D’altro canto php da solo è orribile per fare qualsiasi cosa più grossa di un siterello malconcio, lavorare in team, non reinventare l’acqua calda, ecc.. in qualsiasi caso di utilizzo di php stiamo parlando di sviluppare con un framework e non parliamo più di php puro, significa che dovremmo imparare un altro linguaggio (non si userà più php, ma solo chiamate alle api del framework in questione, che è tutt’altra cosa).

Sembra banale, ma tanto per fare l’esempio di me stesso.. appena ho imparato un minimo zend framework 1 .. è uscito il 2. Fancxxx.

 

Java, apparte cambi totali di framework, la pratica rimane quella, in un modo tutto suo rende un progetto composto di gran lunga più semplice, pensate a fare un webservice soap.

Usando java lo sviluppo è quello da secoli, gli IDE sono molti e potentissimi, praticamente sono loro che fanno il lavoro sporco nella maggiorparte dei casi, e la documentazione è ovunque.

Ad esempio per creare dei webservices io sono anni che uso questo sistema qua: https://netbeans.org/kb/docs/websvc/jax-ws.html

Banalissimo, ti serve sapere le basi di come funziona un soap per decidere (ad esempio per quanto riguarda la sicurezza), ma per tutto il resto si arrangia Netbeans, tu ti ritrovi un metodo con gli inputs e gli output che hai deciso e ne scrivi il codice necessario. Basta, non devi far altro.

 

Di norma si potrebbe dire lo stesso con altri  framework per altri linguaggi, tra i quali sicuramente c’è qualcosa di serio per php.

Io tempo fa ho provato a fare lo stesso soap fatto con java e glassfish con php puro e con php/zend framework 1.

Risultato catastrofico, o meglio, lo si fa, ma proprio in tutt’altro mondo.

Molti mi han parlato bene di ruby on rails, ma evito di interessarmene perchè non è mio interesse mettere qualche altra diversità nei miei lavori.

 

Torniamo nel lato pratico però: quando bisogna risolvere un problema.

Con php si carica il file (sorgente o criptato o altro, è uguale, è un solo file) ed in 2 secondi si risolve. Spesso anche direttamente online dal pannello dell’hosting.

Con java bisogna rifare il war tramite una build, che significa il tempo, il war ingloba tutti i file del progetto, e lo si deve caricare nel server. Quindi tempo per il build, tempo per il trasferimento e tempo per il deploy.

Non voglio elogiare java più del dovuto, spesso mi fa perdere la pazienza.. sarà l’amore.

 

Ora vi dico le due cose che odio profondamente: Delphi e pagare qualcosa per sviluppare.

Spesso devo sviluppare con Delphi, lo odio ma capisco quanto semplifichi la vita.. delle volte.

Con questo orrendo IDE (e con i suoi problemi risaputi che ti accompagnano a vita, insieme alle false promesse), ho scoperto cose potentissime, come rem object Data Abstract (che comunque sono disponibili anche per java e .net).

In questo caso, per un progetto serio, non credo esista nulla di meglio.

Non so come questi componenti si comportino con altre cose al di fuori di delphi perchè io le ho usate solo la, ma detta cosi.. proprio un altro mondo ancora.

Il punto è che non si parla di 50 euro, ma di molto molto di più.

 

Comunque le mie preferenze sono date anche dalle mie esperienze e dalle mie conoscenze dei linguaggi/framework in questione, non mi stupirei se ora qualcuno mi dicesse il nome di un framework che non ho mai sentito e che questo faccia miracoli. Un po’ come io ho scoperto data abstract insomma, dal nulla.