Crasch

Il blog di Carlo Folini
posts - 33, comments - 734, trackbacks - 253

Riflessioni sull'accedere ai servizi tramite un 'router' di messaggio

Nelle scorse settimane ho discusso sull'opportunità o meno di far passare tutte le chiamate al SOS (Service Oriented Server ;-)) attraverso un unico servizio (per intenderci un asmx) che invia il messaggio al servizio corretto in base al contenuto.

Venendo da un modo di applicazioni n-tier, questo paradigma non mi è molto congeniale.
Una delle principali problematiche che vedo sono legate alla facilità con cui uno sviluppatore riesce a 'trovare' i servizi che gli servono per implementare una determinata funzionalità (tale concetto lo riassumo come discoverability, che mi sembra rendere bene l'idea, ma non è forse neanche inglese!).
Averli in un asmx raggruppati per tipologie coerenti facilita molto in contrasto con doverli andare a ricercare in una qualche sorta di metabase.

Chiaramente la strada maestra sarebbe quella di avere un coordinatore (analista?) che scriva della documentazione e degli sviluppatori che la leggano....nessuno è perfetto!

L'altra è legata agli strumenti che uno sviluppatore deve avere per creare i contratti. Creare un asmx è banale, creare un sistema per censire i 'contratti' in un metabase è già più difficile.

Ho trovato un articolo di Rocky Lhotka http://www.theserverside.net/articles/showarticle.tss?id=SOAVersioningCovenant" (Barbieri Lorenzo vedi che anch'io mi stò impegnando sulle regole dell'usabilità specialmente sulla 4 ;-) )
che parla di questi argomenti, che mi ha chiarito un po' le motivazioni di ragionare per covenant (patti) in contrapposizione ai servizi.
Riassumendo e semplificando (da un punto di vista non troppo SOA) dice che anche per i servizi dovrebbero esserci dei meccanismi simili agli overload dei metodi. Questo per semplificare l'estensibilità dei metodi.
In effetti se cerchiamo di esporre un metodo con degli overload in un asmx viene ritornato un errore quando andiamo a recuperare il wsdl del servizio.

Parlando del servizio unico, lui lo sconsiglia proprio per i discorsi di 'discoverability'.
Lhotka dice anche di aver richiesto al team di Indigo il supporto nell'IDE di tali feature....devo ancora riuscire a installare WCF per capire come si relazionano i data contract con questi discorsi.

Print | posted on lunedì 24 ottobre 2005 02:20 | Filed Under [ .Net ]

Feedback

Gravatar

# re: Riflessioni sull'accedere ai servizi tramite un 'router' di messaggio

Se mi chiami Barbieri Lorenzo mi fai sentire così vecchio... ;-)
24/10/2005 02:28 | Lorenzo Barbieri
Gravatar

# re: Riflessioni sull'accedere ai servizi tramite un 'router' di messaggio

Forse stai cercando qualche cose come UDDI (http://www.uddi.org/) o WS-Discovery (http://xml.coverpages.org/WS-Discovery20040217.pdf)
24/10/2005 08:22 | Pierre Greborio
Gravatar

# re: Riflessioni sull'accedere ai servizi tramite un 'router' di messaggio

Barbieri: il punto 4 dice esplicitamente di non citare per nome altri componenti della community per non mettere a disagio chi non ha conoscenze dirette....io mi sono adeguato ;-)

Greborio: stiamo pensando un'architettura SOA passando da un mondo vb6 (con una applicazione n-tier) verso la service orientation.
Il problema (o la fortuna) è che solitamente chi scrive il client è anche chi scrive la parte server. Disaccopiare le due cose è più un problema che un vantaggio!
24/10/2005 12:06 | Carlo Folini
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET