Ora sto gestendo un team di circa 15 sviluppatori e siamo bloccati a un certo punto sulla scelta della tecnologia, in cui il team è suddiviso in due team completamente opposti, discutendo sull'uso di WCF vs. API Web.
Il team A che supporta l'utilizzo dell'API Web, presenta questi motivi:
- L'API Web è solo il modo moderno di scrivere servizi ( Wikipedia )
- WCF è un overhead per HTTP. È una soluzione per TCP, Net Pipes e altri protocolli
- I modelli WCF non sono POCO, a causa di [DataContract] & [DataMember] e di quegli attributi
- SOAP non è così leggibile e maneggevole come JSON
- SOAP è un overhead per la rete rispetto a JSON (trasporto su HTTP)
- Nessun metodo di sovraccarico
Il team B che supporta l'utilizzo di WCF, afferma:
- WCF supporta più protocolli (tramite configurazione)
- WCF supporta transazioni distribuite
- Esistono molti buoni esempi e storie di successo per WCF (mentre l'API Web è ancora giovane)
- Il duplex è eccellente per la comunicazione bidirezionale
Il dibattito continua e non so cosa fare adesso. Personalmente, penso che dovremmo usare uno strumento solo per il suo giusto posto di utilizzo . In altre parole, sarebbe meglio usare l'API Web, se vogliamo esporre un servizio su HTTP, ma usare WCF quando si tratta di TCP e Duplex.
Cercando in Internet, non possiamo ottenere un risultato solido. Esistono molti post per supportare WCF, ma al contrario troviamo anche lamentele da parte delle persone. So che la natura di questa domanda potrebbe sembrare discutibile, ma abbiamo bisogno di alcuni buoni suggerimenti per decidere. Siamo bloccati in un punto in cui la scelta casuale di una tecnologia potrebbe farci pentirci in seguito. Vogliamo scegliere ad occhi aperti.
Il nostro utilizzo sarebbe principalmente per il web e esporremmo i nostri servizi su HTTP. In alcuni casi (diciamo dal 5 al 10 percento) potremmo aver bisogno di transazioni distribuite.
Cosa dovrei fare ora? Come gestisco questo dibattito in modo costruttivo?