Connessione a web service o db remoto?
Salve a tutti,
sono nuovo in Drupal e avevo bisogno di qualche chiarimento tecnico: dovrò presto lavorare su un progetto di un portale da sviluppare in Drupal 7 e tale portale dovrà caricare alcune informazioni (per esempio alcuni dati anagrafici) che sono già precaricate all'interno di un database che sarà collocato su un server remoto.
Mi chiedevo perciò, dato che appunto non conosco ancora al 100% strumenti e moduli che posso sfruttare in Drupal, quale fosse la soluzione migliore da adottare: pensiate sia meglio una connessione diretta del portale al database remoto oppure, dal server dove è presente la base dati, è più conveniente esporre uno o più web service SOAP?
Come posso rendere disponibili sul portale queste informazioni? Con il modulo views?
Nel secondo caso ho notato che esiste un modulo apposito, wsclient, che dovrebbe occuparsi proprio di effettuare chiamate a servizi web remoti ma non riesco a comprendere quanto sia user-friendly questa soluzione (più che altro perchè non ho trovato articoli più dettagliati su come sfruttare a livello pratico questo modulo) cosiderando che i tempi sono quelli che sono. Se c'è qualcuno che ha avuto modo di lavorare su questo secondo modulo potrebbe chiarirmi le idee.
Per il resto, in quanto ancora nuovo, accetto qualsiasi consiglio e suggerimento.
Grazie
Daniele

Risposte
Ciao, pensiate sia meglio una
Ciao,
pensiate sia meglio una connessione diretta del portale al database remoto oppure, dal server dove è presente la base dati, è più conveniente esporre uno o più web service SOAP?dipende tanto da quello che devi fare! Avere un webservice esposto significa poter interagire con il sistema, quindi se devi ad esmepio creare entità sul sistema remoto è un'ottima strada da percorrere. Anche nel caso di letture, potresti ottenere dati strutturati senza preoccuparti di conoscere dove/come il sistema li memorizzi.
Come posso rendere disponibili sul portale queste informazioni?Hmm.. anche qui bisognerebbe vedere.. hai dato un occhio a http://drupal.org/project/remote_entity? Sembra interessante per questo tipo di cose.
Nel secondo caso ho notato che esiste un modulo apposito, wsclient, che dovrebbe occuparsi proprio di effettuare chiamate a servizi web remotiMi è capitato di averlo sotto mano e utilizzarlo per consumare servizi rest. Ho avuto dei problemi con alcune richieste che dovevano essere fatte tramite POST e non GET. Ho provato alcune patch ma alla fine ho optato per scrivere del codice utilizzando come base la funzione http://api.drupal.org/api/drupal/includes!common.inc/function/drupal_http_request. Comunque, l'interfaccia è intuitiva e ti permette di definire facilmente strutture dati: inoltre è ben integrato con Rules.
Spero ti sia utile!