Domanda

Conosco la distinzione tra UDDI e Ws-Discovery (posizione ben nota per la ricerca di un servizio rispetto alla trasmissione). Ma la mia domanda è: qual è il modo più semplice per scoprire un servizio web in WCF? Per semplice intendo ciò che è già implementato in WCF e può essere utilizzato ora? Non ho visto alcuna implementazione integrata in WCF per UDDI o Ws-Discovery.

Hai qualche link o esperienza da condividere su questi due protocolli in WCF?

UPDATE

Ora sto pensando a tre soluzioni, in attesa di WS-discovery su .NET 4.0 o forse creare il mio binding di rilevamento con l'associazione Peer to Peer fornita da WCF. In questo modo posso trasmettere una richiesta. O usando l'implementazione fornita dal link di eed3si9n.

Penso che farò un'interfaccia gateway per cambiare facilmente quest'ultima implementazione.

È stato utile?

Soluzione

.NET 4.0 avrà WS-Discovery. Vedi Miglioramenti della messaggistica in .NET 4.0: (Discovery Part I) Uso di WS-Discovery in WCF 4.0 . Nel frattempo, Claudio Masieri ha fornito un'implementazione. Vedi WS-Discovery per WCF .

Esiste anche un'implementazione di individuazione personalizzata eseguita in modo simile a UDDI. Vedi Windows Communication Service Discovery .

  

Immagina di avere 200 client che utilizzano   il tuo funky servizio Wcf. Vorrebbero tutti   hanno nel loro file conf una sezione come   questo:

<client>
   <endpoint configurationName="default"
               address="http://localhost/servicemodelsamples/service.svc"
               binding="wsHttpBinding"
               bindingConfiguration="Binding1"
              contract="IDataContractCalculator" />
 </client>
 <bindings>
   <wsHttpBinding>
      <binding configurationName="Binding1" />
   </wsHttpBinding>
</bindings>
  

Ora, decidi di cambiare quello esistente   endpoint (lato server) con uno nuovo   che utilizza SSL per motivi di sicurezza. Come   aggiorni i tuoi clienti? Puoi   vedere rapidamente che può diventare   noioso. Quindi l'idea che voglio dettagliare   qui è per implementare una scoperta   servizio simile a quello che fa UDDI e   utilizzare un risolutore di metadati per ottenere il file   configurazione fuori servizio dentro   per creare dinamicamente un proxy   permettendo al cliente di discutere con   il servizio.

Questa persona ha preoccupazioni simili a te e sembra avere una soluzione funzionante.

Altri suggerimenti

  

UDDI fornisce un registro centrale a   memorizzare informazioni su disponibili   Servizi. Fornisce un catalogo dove   i consumatori possono trovare servizi che soddisfano   i loro bisogni. Questo tipo di rubrica   directory di informazioni consentire   i consumatori a trovare servizi per nome,   indirizzo, contratto, categoria o da   altri dati. Si può pensare a UDDI   come DNS dei servizi Web.

     

D'altra parte, WS-Discovery   fornisce un protocollo da scoprire   servizi che vanno e vengono   da una rete. Come un servizio si unisce   la rete, ne informa i suoi pari   il suo arrivo trasmettendo un Hello   Messaggio; allo stesso modo, quando i servizi cadono   dalla rete hanno multicast un Ciao   Messaggio. WS-Discovery non si basa su   un singolo nodo per ospitare informazioni   su tutti i servizi disponibili come UDDI   lo fa. Piuttosto, ogni nodo in avanti   informazioni sui servizi disponibili   in modo ad hoc. Questo riduce   la quantità di infrastruttura di rete   necessario per scoprire servizi e   facilita il bootstrap.

Citazione da: http://travisspencer.com/blog/2007/09/ post.html

Ecco un buon elenco di proprietà: http://laflour.spaces.live.com/Blog/cns! 7575E2FFC19135B4! 728.entry

jUDDI ha un client .NET che puoi usare. Semplifica notevolmente una serie di cose per lavorare con UDDI.

Per esperienza, ci sono solo due o tre implementazioni funzionanti di WS-Discovery.

UDDI a cui puoi accedere da qualsiasi cosa. Esistono molte implementazioni client e server. (Qui è elencata solo la versione 3)

  • IBM WS-Registry
  • Apache jUDDI
  • Microsoft UDDI v3 con Biztalk (è gratuito con il server 2008)
  • HP SOA / Systinet o come si chiama ora
  • WSO2 ha qualcosa
  • ebXML ha una sorta di bridge o adattatore

Esiste persino un endpoint REST per UDDI3 (jUDDI 3.2 ha risposte XML o JSON) che apre questo a molte più possibilità.

Inoltre, i dati condivisibili con WS-Discovery sono alquanto limitati rispetto ai dati praticamente illimitati che è possibile collegare a UDDI.

Sono solo i miei 2 centesimi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top