ตอนนี้ฉันกำลังจัดการทีมงานของนักพัฒนาประมาณ 15 คนและเราติดอยู่ที่จุดหนึ่งในการเลือกเทคโนโลยีซึ่งทีมถูกแบ่งออกเป็นสองทีมตรงข้ามกันโดยสิ้นเชิงโต้วาทีการใช้ WCF กับเว็บ API
ทีม A ที่รองรับการใช้งาน Web API นำมาซึ่งเหตุผลเหล่านี้:
- Web API เป็นวิธีการบริการการเขียนที่ทันสมัย ( Wikipedia )
- WCF เป็นโอเวอร์เฮดสำหรับ HTTP มันเป็นทางออกสำหรับ TCP และ Net Pipes และโปรโตคอลอื่น ๆ
- รุ่น WCF ไม่ใช่ POCO เนื่องจาก [DataContract] & [DataMember] และแอตทริบิวต์เหล่านั้น
- SOAP ไม่สามารถอ่านได้และมีประโยชน์เท่ากับ JSON
- SOAP เป็นค่าใช้จ่ายสำหรับเครือข่ายเมื่อเทียบกับ JSON (การส่งผ่าน HTTP)
- ไม่มีวิธีการมากไป
ทีม B ที่รองรับการใช้ WCF พูดว่า:
- WCF รองรับหลายโปรโตคอล (ผ่านการกำหนดค่า)
- WCF รองรับการทำธุรกรรมแบบกระจาย
- มีตัวอย่างที่ดีและเรื่องราวความสำเร็จมากมายสำหรับ WCF (ในขณะที่ Web API ยังเด็กอยู่)
- ดูเพล็กซ์ยอดเยี่ยมสำหรับการสื่อสารสองทาง
การอภิปรายนี้ยังดำเนินต่อไปและฉันไม่รู้จะทำอย่างไร โดยส่วนตัวแล้วฉันคิดว่าเราควรใช้เครื่องมือเฉพาะสำหรับการใช้งานที่ถูกต้องเท่านั้น กล่าวอีกนัยหนึ่งเราควรใช้ Web API ถ้าเราต้องการให้บริการผ่าน HTTP แต่ใช้ WCF เมื่อพูดถึง TCP และ Duplex
การค้นหาทางอินเทอร์เน็ตทำให้เราไม่สามารถบรรลุผลที่มั่นคง มีบทความจำนวนมากที่ให้การสนับสนุน WCF แต่ในทางกลับกันเราก็พบว่ามีคนร้องเรียนเกี่ยวกับเรื่องนี้ ฉันรู้ว่าธรรมชาติของคำถามนี้อาจฟังดูโต้แย้ง แต่เราต้องการคำแนะนำที่ดีในการตัดสินใจ เราติดอยู่ในจุดที่การเลือกเทคโนโลยีโดยบังเอิญอาจทำให้เราเสียใจในภายหลัง เราต้องการเลือกด้วยดวงตาที่เปิดกว้าง
การใช้งานของเราส่วนใหญ่จะเป็นเว็บและเราจะเปิดเผยบริการของเราผ่าน HTTP ในบางกรณี (พูด 5 ถึง 10 เปอร์เซ็นต์) เราอาจต้องทำธุรกรรมแบบกระจาย
สิ่งที่ฉันควรทำตอนนี้? ฉันจะจัดการการอภิปรายนี้อย่างสร้างสรรค์ได้อย่างไร