UGIdotNET Home UGIdotNET Home
UGIdotNET Blogs UGIdotNET Blogs
UGIdotNET Forum UGIdotNET Forum
MSDN Architetti MSDN Architetti
Visualizza Modifiche Visualizza Modifiche
Modifica Modifica
Stampa Stampa
Modifiche Recenti Modifiche Recenti
Sottoscrizioni Sottoscrizioni
Ufficio Oggetti Smarriti Ufficio Oggetti Smarriti
Cerca Riferimenti Cerca Riferimenti
Rinomina Rinomina
Cerca

Versioni

08/05/2006 9.56.19
-81.174.14.60
08/05/2006 9.55.49
-81.174.14.60
08/05/2006 9.55.23
-81.174.14.60
12/12/2005 0.22.19
AlessandroPetrozzelli-82.57...
12/12/2005 0.18.47
AlessandroPetrozzelli-82.57...
Elenco completo versioni Elenco completo versioni
Service Oriented Architecture
.
Summary Service-Oriented Architecture (SOA), cos'è e come si realizza in .NET.

Inizia qui di seguito la raccolta di proposte sui temi da discutere e su come strutturarli.

Aggiungi liberamente i tuoi commenti e suggerimenti o inserisci i contenuti che ti interessano.

Il Design

Code-first o Contract-first ?

Questo è un bel dilemma che viene posto quotidianamente a tutti gli sviluppatori di Web services. Prima di dare una risposta, e soprattutto dare al lettore le 'armi' per poter scegliere, è bene precisare che cosa si intenda.

In .NET siamo stati abituati a scrivere web services come si scrive una classe object-oriented. Infatti basta ereditare (fatto non obbligatorio) dalla classe WebService, decorare la classe con l'attributo WebServiceAttribute ed i relativi metodi con WebMethodAttribute ed il gioco è fatto. Questo approccio si chiama code-first.

Se ci scriviamo (in qualche modo) il documento WSDL (Web Service Description Language) e ne generiamo la classe (con wsdl.exe del framework), allora stiamo parlando di contract-first. E' un pò come in COM quando si iniziava a definire le interfaccie in IDL. Il punto è: ma come scrivo il WSDL? La risposta semplice è: a mano no, ma con gli strumenti adeguati si può fare. [Nota: in questo momento non approfondiamo più di tanto...]

Apparentemente, vantaggi nell'utilizzare contract-first rispetto all'altra metodologia non ce ne sono, ma solo apparentemente! In effetti, mediante codice non è possibile definire schemi di messaggi precisi, come ad esempio (i più importanti):

  • Le restrizioni sui tipi
  • La cardinalità degli elementi
  • Enumerati non ereditati da string
  • Eccetera...

Queste limitazioni fanno propendere per una soluzione contract-first, cioè la dove posso decidere nei minimi particolari com'è il mio messaggio di input ed eventualmente di output, rendendo il mio web service molto più solido.

VediAnche ArchitetturaObjectOriented.

UGIdotNETWiki

UGIdotNETWiki è il WikiWiki italiano dedicato a .NET

Se è la prima volta che senti parlare di Wiki, leggi il BenvenutoAiVisitatori e WikiInUnMinuto, oppure il ManualePassoPassoDelWiki.

Argomenti Recenti

  • ServiceOrientedArchitecture
© 2008 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali