Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Utilità Web Service

    Salve a tutti,
    vorrei chiedere a qualche esperto se può risolvere il mio dubbio. Mi sto interessando al settore sei WEB SERVICE, vorrei che qualcuno potesse chiarirmi le idee sul seguente problema:
    Ammettiamo l'esistenza di 2 sistemi informativi che chiamerò A e B, tra loro non si conoscono e sono anche sviluppati in due linguaggi differenti; B necessità di un informazione contenuta nel DB di A che è disposto ad offrirgliela utilizzando appunto un web service, ovvero genera un file .xml (o qualcosa del genere) e dopo aver verificato che la richiesta arrivi proprio da B fa in modo di renderglielo (ad esempio fornendo l'URL della cartella in cui lo ha generato). B quindi sa dove prendere il suo file .xml generato da A e lo apre per leggerne il contenuto, inserisce i dati nel suo DB ed interrompe la chiamata.

    Fin qui tutto chiaro, se ho sbagliato qualcosa siete pregati di segnalarmelo.

    Il mio dubbio arriva ora: anzichè utilizzare un web service, non si potrebbe avere nel sistema A un pagina che accoglie la richiesta proprio come nel caso precedente, ma anzichè generare un file .xml contenente la risposta invia i dati ad esempio in GET al sistema B, ad esempio:

    location:url_sistemaB.php?datorichiesto=<%print "dato"%>

    Il sistema B a sua volta ha fornito l'url di cu sopra url_sistemaB.php ed è pronto a ricevere il dato:
    $valore_atteso = $_GET['datorichiesto'];


    In questo modo anche se A e B son fatti in due linguaggi differenti ed usando due DB differenti son in grado di scambiarsi i dati.

    Tanto in entrambi i casi per B è necessario creare uno script in grado di leggere o il file .XML e trattarne il contenuto, oppure creare uno script che riceve i valori inviati da url.


    Ringrazio chiunque esprima il suo parere in merito a questo mio dubbio o meglio ancora se efettua qualche correzione nel ragionamento che ho qui descritto.
    Ci sono 10 categorie di persone al mondo: chi capisce il codice binario e chi no!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477

    Moderazione

    Hai già aperto precedentemente una discussione riguardo i Web Service o correlata a questo argomento, senza però indicare una tecnologia specifica di riferimento.

    Le soluzioni potrebbero variare in base ai linguaggi e agli strumenti utilizzati: quali sono in questo contesto?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ciao,
    innanzitutto ti ringrazio per l'interessamento.
    Allora, il mio discorso è generico, nel senso che la mia domanda non è tanto legata alla tecnologia utilizzata ma alla logica di funzionamento di un web service, se vuoi possiamo anche ipotizzare che sia fatto in Java. Il punto, se riguardi velocemente quanto ho scritto nell'apertura della discussione, è cercare di capire qual'è il vantaggio di implementare un web service tradizionale, rispetto ad un'applicazione che si comporta nel modo in cui ho descritto. E' una domanda che astrae dalla logica di linguaggio, è solo per capire meglio la potenzialità di questi web service che a quanto pare costituiscono uno dei nuovi capitoli dell'informatica.
    C'è molto in rete quanto a spiegazioni su cosa fanno, ma purtroppo nn ho trovato nulla che soddisfi al mio quesito...probabilmente è dovuto ad una mia visione superficiale dell'insieme e vorrei attraverso tali domande capiere meglio il discorso.
    Ho postato qui perchè appunto nn volevo concentrarmi sul linguaggio ma sulla logica.
    Grazie, ciao
    Ci sono 10 categorie di persone al mondo: chi capisce il codice binario e chi no!

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477
    Ciao, ho riletto il tuo messaggio originale perché poteva essermi sfuggito qualcosa.

    Le soluzioni che proponi sono molto simili. Senza addentrarmi troppo nel dettaglio, diciamo che tecnicamente entrambe le soluzioni che hai proposto sono analoghe, nel senso che si tratta sempre di ottenere un pacchetto di dati via HTTP da una pagina che, ricevuti i parametri da elaborare, ne restituisce il risultato o, più in generale, la risorsa richiesta.

    L'unica differenza da sottolineare, probabilmente, è che i Web Service costituiscono una implementazione standard, quindi posseggono un vantaggio rispetto ad una ipotetica soluzione "custom" che andresti ad implementare: in quanto "standard", appunto, i WS sono invocabili da più linguaggi e sfruttabili da più piattaforme, mentre nel caso di una soluzione "custom", dovresti sviluppare il relativo client per ciascuna architettura preposta ad invocare il tuo servizio offerto attraverso un Web server. Al contrario, come dicevo, i WS sarebbero invocabili dalla maggior parte dei linguaggi moderni in modo automatico, considerando che molti ambienti di sviluppo sono in grado di generare autonomamente le cosiddette "classi proxy" che rendono accessibili i metodi del WS come se fossero un oggetto implementato e creato sul sistema client, mentre in realtà racchiudono al loro interno l'intera logica di spedizione dei parametri della richiesta, invocazione del servizio, ottenimento e "parsing" del messaggio di risposta e conversione dei dati nei tipi nativi previsti dal linguaggio/ambiente di riferimento.

    I WS sono quindi una via preferibile tra quelle che hai proposto, a prima vista.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Devo ammettere che un pò mi hai convinto, ma non del tutto.
    Il mio dubbio è legato probabilmente ad una conoscenza non approfondita di questo argomento e approfitto della tua gentilezza per esportelo.
    Tu giustamente mi dici che in una soluzione "custom" è necessario sviluppare per ogni client un'architettura però io non riesco a vedere una grande differenze rispetto all'implementazione dei WS standard e ti spiego perchè (nel caso nel mio discorso ci fossero degli errori concettuali ti ringrazio per le segnalazioni):

    Caso 1: Utilizzo i WS standard.
    Ipotizziamo che un servizio internet si occupi di registrare tutte le partite di calcio della domenica. Questa applicazione mettegentilmente a disposizione di altrisiti internet "noti" le sue informazioni che possono essere: giocatori in panchina, formazioni in campo, risultati, classifiche, ecc...
    Ammettiamo che decida di fare un WS dove mette a disposizione tutte queste informazioni. Nel modo classico genererebbe un file tipo .xml che contiene tutti i dati.
    I vari siti internet che si registrano e vogliono usufruire di tali informazioni, devono "implementare" ognuno con il linguaggio relativo la parte che acquisisce il file inviato dal WS e lo elabora. Ammettiamo anche che esistano librerire in tutti i linguaggi più noti per fare tale operazione, comunque a livello di DB e presentazione dei dati qualcuno dovrà intervemire perchè ad esempio: il sito 1 vuole sapere solo chi era in panchina, il sito 2 vuole sapere solo i risultati e il sito N vuole conoscere le formazioni. Ognuno si dovrà occupare di leggere dal file ricevuto delle specifiche informazioni secondo il suo caso.

    Caso 2: Utilizzo del sistema CUSTOM.
    Lo stesso servizio internet, previa registrazione, invia i dati nella modalità custom ovverò via form "automatico" come ho descritto nel primo messaggio di apertura della discussione. I vari siti interessati e registrati a quel punto non dovranno fare altro che mettere in lettura solo le variabili di interesse senza preoccuparsi che ricevono altre informazioni.

    A questo punto mi viene da fare tale riflessione che genera il mio dubbio.
    In entrambi i casi necessito di implementare un "qualcosa" custom o standard che crei un pacchetto di informazioni da spedire agli interessati. E lo farò con il linguaggio del mio servizio internet.
    In entrambi i casi i vari siti internet che usano tutti linguaggi differenti dovranno generare nel loro linguaggio un modulo che riceve e legge i dati ricevuti di interesse e li elabora e/o li mette nel loro DB, che questi dati siano generati da un WS o da un sistema CUSTOM, dovranno sempre generare un modulo di ricezione nel loro linguaggio!!!

    Quindi, rinnovovo la mia domanda: dov'è questa convenienza nell'usare un WS rispetto ad un sistema custom, se tanto (a meno di errori nel discorso che ho esposto) sia chi genera che chi riceve il servizio devono creare un modulo dedicato e ognuno comunque deve usare il linguaggio che ha usato nella propria applicazione????

    Grazie Ciao
    Ci sono 10 categorie di persone al mondo: chi capisce il codice binario e chi no!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.