Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    71

    [WEB SERVICE] Transaction

    Premesso che sono un novizio dei web service e li sto studiando ora per la prima volta, vorrei sapere come si gestiscono le transaction. Se ad esempio ho un client che fa due richieste e voglio che la commit avvenga solo alla seconda richiesta come posso fare? Ovviamente voglio lasciare le due richieste separate, perchè sono due cose distinte che altri client possono chiedere singolarmente.

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

    Moderazione

    Innanzitutto, qual è il linguaggio a cui fai riferimento?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    71
    hai ragione, sto sviluppando in java, sto cercando di capire AXIS2, poi nn so se magari c'è qualche altra architetture che è migliore.
    Ciao.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Ho modificato, come da tua richiesta...

    Inoltre, per le discussioni riguardanti Java, c'è il forum apposito "Java", sub-foum di Programmazione.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5

    Re: [WEB SERVICE] Transaction

    Originariamente inviato da dany144
    Premesso che sono un novizio dei web service e li sto studiando ora per la prima volta, vorrei sapere come si gestiscono le transaction. Se ad esempio ho un client che fa due richieste e voglio che la commit avvenga solo alla seconda richiesta come posso fare? Ovviamente voglio lasciare le due richieste separate, perchè sono due cose distinte che altri client possono chiedere singolarmente.

    Una transaction si può applicare solo ad una connessione al db alla volta, quindi se vuoi committare alla seconda richiesta devi passarti la connessione fra le richieste.
    Solo che in genere appena apri una transazione e fai una select su una tabella B, gli insert e gli update sulla tabella B da parte di altri processi sono bloccati fino alla chiusura della transazione (in alcuni casi anche le select dipende dal livello di transazione impostato e dall engine di db utilizzato) quindi non è consigliabile passarsi una connessione al db fra le richieste (questo in generale ma in special modo in transazione).
    Una soluzione potrebbe essere quella di costruirti un oggetto con i dati di cui hai bisogno e passarti quello.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    71
    ma stavo vedendo le WS-Transaction, non dovrebbero permettermi di fare quello che voglio fare?
    Ciao.

  7. #7
    Originariamente inviato da dany144
    ma stavo vedendo le WS-Transaction, non dovrebbero permettermi di fare quello che voglio fare?
    Ciao.
    Si scusa ma avevo capito le Transaction sql.....

    Ho trovato qualcosa qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    71
    Mmmm non ti seguo, comunque devo fare transaction sql.
    Allora io ho due servizi per un web service, servizi indipendenti che fanno due transazioni sql. Però c'è anche la possibilità ad esempio che questi due servizi vengano invocati uno di seguito all'altro e in questo caso vorrei che ad esempio ci fosse una commit solo se entrambe vanno a buon fine.
    Quindi io ho

    client -> service (primo servizio che fa 1 transazione sql)
    client -> service (secondo servizio che fa 1 transazione sql)
    Se entrambe le richieste sono andate bene allora commit altrimenti un rollback.

    Spero di essere stato chiaro.
    Le WS-Transaction c'entrano qualcosa?

  9. #9
    Originariamente inviato da dany144
    Mmmm non ti seguo, comunque devo fare transaction sql.
    Allora io ho due servizi per un web service, servizi indipendenti che fanno due transazioni sql. Però c'è anche la possibilità ad esempio che questi due servizi vengano invocati uno di seguito all'altro e in questo caso vorrei che ad esempio ci fosse una commit solo se entrambe vanno a buon fine.
    Quindi io ho

    client -> service (primo servizio che fa 1 transazione sql)
    client -> service (secondo servizio che fa 1 transazione sql)
    Se entrambe le richieste sono andate bene allora commit altrimenti un rollback.

    Spero di essere stato chiaro.
    Le WS-Transaction c'entrano qualcosa?
    Si adesso sei stato chiaro.
    Le WS-Transaction non c'entrano nulla servono per altre cose.

    Per fare quello che dici tu con i Web-Service è un po difficile.
    1-Dovresti riconoscere se è il caso della richiesta singola o della richiesta doppia
    2-Salvarti la connessione in una sessione e richiamarla alla seconda richiesta, ma questo se le richieste provengono dalla stessa sessione altrimenti non funzionerebbe nulla uguale.
    3-Altro problema, le sessioni con i web-service non sono per nulla semplici da generare (per il concetto stesso dei web-service).
    con Axis2 hai una specie di sessione ma non so se usi qualche altro framework

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    71
    A cosa servono e cosa fanno le WS-Transaction, stavo leggendo di WS-TX (Oasis), cosa fa? Non gestisce le transazioni?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.