Şu anda 15 geliştiriciden oluşan bir ekibi yönetiyorum ve WCF'e karşı Web API kullanımı üzerine tartışarak, ekibin tamamen zıt iki takıma ayrıldığı teknolojiyi seçerken bir noktada kaldık.
Web API kullanımını destekleyen A Takımı şu nedenleri ortaya koymaktadır:
- Web API sadece modern servis yazma yöntemidir ( Wikipedia )
- WCF, HTTP için bir ek yüküdür. TCP, Net Borular ve diğer protokoller için bir çözümdür
- WCF modelleri [DataContract] & [DataMember] ve bu niteliklerden dolayı POCO değil
- SOAP, JSON kadar okunaklı ve kullanışlı değildir
- SOAP, JSON'a kıyasla ağ için bir ek yük (HTTP üzerinden aktarma)
- Aşırı yükleme yöntemi yok
WCF kullanımını destekleyen B takımı şöyle diyor:
- WCF çoklu protokolleri destekler (konfigürasyon yoluyla)
- WCF dağıtılmış işlemleri destekliyor
- WCF için birçok iyi örnek ve başarı öyküsü var (Web API hala gençken)
- Çift yönlü iletişim için çift yönlü mükemmel
Bu tartışma devam ediyor ve şimdi ne yapacağımı bilmiyorum. Şahsen, sadece doğru kullanım yeri için bir araç kullanmamız gerektiğini düşünüyorum . Başka bir deyişle, HTTP üzerinden bir hizmet göstermek istiyorsak Web API kullansak daha iyi olur, ancak TCP ve Dubleks olduğunda WCF kullanırız.
İnterneti arayarak sağlam bir sonuç alamıyoruz. WCF'yi desteklemek için pek çok yayın var, ancak tam tersine insanları bundan şikayet ediyorlar. Bu sorunun doğasının tartışılabilir görünebileceğini biliyorum, ancak karar vermek için iyi ipuçlarına ihtiyacımız var. Bir teknolojiyi tesadüfen seçmenin bizi daha sonra pişman edebileceği bir noktada kaldık . Açık gözlerle seçmek istiyoruz.
Kullanımımız çoğunlukla web için olurdu ve hizmetlerimizi HTTP üzerinden göstereceğiz. Bazı durumlarda (yüzde 5 ila 10 arası) dağıtılmış işlemlere ihtiyacımız olabilir.
Ben şimdi ne yapmalıyım? Bu tartışmayı yapıcı bir şekilde nasıl yönetirim?