in

UGISS Community

Il sito della community dello User Group Italiano di SQL Server

SSB: validare un messaggio: via HTTP o metadata?

Last post 11-04-2007 17.55 by dmauri. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 10-31-2007 10.00

    SSB: validare un messaggio: via HTTP o metadata?

    Da alcuni giorni, durante la configurazione di SSB, mi è sorto il dubbio se la validazione di un messaggio è meglio farla a fronte uno schema xsd tramite URL o creare uno proprio e depositarlo nei metadati del mio store engine.

    Alcuni autori affermano che è convenzione  prefissare  il  messaggio (e anche il contratto) con un dominio internet, meglio se il proprio, cioè :

    CREATE MESSAGE TYPE [http://dominio.mio/mio_tipo_messaggio] VALIDATION = WELL_FORMED_XML

    oppure posso creare il mio schema xsd (come da tutorial):

    create xml schema collection TipoMessaggioSchema as
    '<?xml version="1.0" encoding="utf-8"? ............. </xml>

    create message type [mio_tipo_messaggio] validation = valid_xml with schema collection TipoMessaggioSchema

    ma poi trovo scritto che la validazione xml fà male alle performance.

    Beh è chiaro che, in un dialogo tra SSB "molto concitato" ( ed è questo il mio caso) fare una request via HTTP per ogni messaggio scambiato mi sembra un suicidio volontario. Mi viene da pensare allora che la seconda modalità sia la migliore ed è quella che vorrei adottare.

    Però quando osservo i messaggi già configurati all'interno di SSB sono tutti nella forma forma http://schemas.microsoft.com/SQL/....  mi sorge allora il dubbio.

    Quasi quasi, mi sbarazzo della validazione con un bel VALIDATION = NONE 

    ma  non  nego che  il cruccio  mi rimane, per come è fatto il mio carattere

     

     

     

    marcomanga
    • Post Points: 20
  • 11-01-2007 17.11 In reply to

    • dmauri
    • Top 10 Contributor
      Male
    • Joined on 05-14-2007
    • Novate Milanese
    • Posts 1.028
    • Points 13.275

    Re: SSB: validare un messaggio: via HTTP o metadata?

    Ciao Marco 

    MarcoMangia:
    HTTP per ogni messaggio scambiato mi sembra un suicidio volontario.
     

    Ed infatti non viene fatta nessuna richiesta HTTP. Il fatto che il nome del "message type" sia un indirizzo web non implica che l'indirizzo web venga utilizzato, è semplicemente un modo - esattamente come avviene con i namespace - per definire in modo sicuro un nome univoco.

    MarcoMangia:
    oi trovo scritto che la validazione xml fà male alle performance
     

    Beh si ogni tipo di validazione "fa male alle performance"...però è anche l'unico modo di essere sicuri al 100% che il messaggio che ti sta arrivando sia un documento XML valido ed esente da errori. Ovviamente puoi decidere di non utilizzare la validazione, ma a questo punto devi prepararti a gestire gli errori eventualmente generati da documenti XML che non hanno la struttura e le regole che ti aspetti.

    MarcoMangia:
    Quasi quasi, mi sbarazzo della validazione con un bel VALIDATION = NONE 
     

    Come al solito dipende sempre da cosa devi fare...se devi mandare messaggi non xml allora è giusto non avere la validazione. Se devi mandare messaggi XML allora devi almeno (in mia opinione) controllare che il messaggio sia quantomento WELL_FORMED.

    Davide Mauri
    Microsoft MVP - SQL Server, MCP, MCAD, MCDBA, MCT - http://www.davidemauri.it
    Socio Fondatore e Mentor di Solid Quality Learning Italy - http://www.solidq.com
    Presidente di UGISS: User Group Italiano Sql Server - http://www.ugiss.org
    • Post Points: 20
  • 11-04-2007 16.23 In reply to

    Re: SSB: validare un messaggio: via HTTP o metadata?

    Infatti ho fatto proprio così. La validazione contro uno schema la farò solo se è proprio necessario ma per un messaggi semplici di scambio mi basta (per ora) che sia un xml valido.

    [OT]: dovremmo scegliere il formato della pizza-ugiss alcuni avevano pensato ad un pizza rettangolare suddivisa in righe e colonne da mozzarella filante oppure una pizza-focaccia a forma di cilindro :-))

     

    marcomanga
    • Post Points: 20
  • 11-04-2007 17.55 In reply to

    • dmauri
    • Top 10 Contributor
      Male
    • Joined on 05-14-2007
    • Novate Milanese
    • Posts 1.028
    • Points 13.275

    Re: SSB: validare un messaggio: via HTTP o metadata?

    MarcoMangia:
    [OT]: dovremmo scegliere il formato della pizza-ugiss alcuni avevano pensato ad un pizza rettangolare suddivisa in righe e colonne da mozzarella filante oppure una pizza-focaccia a forma di cilindro :-))

    Bellissima idea!!! Big Smile

    Davide Mauri
    Microsoft MVP - SQL Server, MCP, MCAD, MCDBA, MCT - http://www.davidemauri.it
    Socio Fondatore e Mentor di Solid Quality Learning Italy - http://www.solidq.com
    Presidente di UGISS: User Group Italiano Sql Server - http://www.ugiss.org
    • Post Points: 5
Page 1 of 1 (4 items)
(C) 2007 User Group Italiano di SQL Server