WCF / บริการข้อมูล WCF / บริการ WCF RIA

ไม่ต้องเพิ่มโพสต์ SO อื่นเกี่ยวกับสแต็ค WCF ที่แตกต่างกัน แต่ฉันต้องการให้แน่ใจว่าฉันกำลังมุ่งหน้าไปในทิศทางที่ถูกต้องก่อนที่จะเสียเวลาในการพัฒนาไปมากกว่านี้...

สถานการณ์ของฉัน - บริษัทของเรามีเว็บแอปจำนวนหนึ่งที่เข้าถึงฐานข้อมูลชุดเดียวกันทั้งหมด โดยพื้นฐานแล้วแอปทั้งหมดได้รับการพัฒนาโดยแยกจากกัน ดังนั้นจึงต้องใช้ตรรกะทางธุรกิจและการเข้าถึงข้อมูลซ้ำซ้อน ยิ่งไปกว่านั้น ฉันมีเป้าหมาย (อาจไม่มีเหตุผล) ในการทำโปรเจ็กต์นี้โดยไม่ขึ้นอยู่กับลูกค้า - รวมตรรกะทางธุรกิจปัจจุบันและการเข้าถึงข้อมูลไว้ในอินเทอร์เฟซที่สามารถเข้าถึงได้โดยเว็บแอป, Silverlight, แอปมือถือ ฯลฯ

เข้าสู่ WCF - มันทำให้ฉันเป็นตัวเลือกที่สมบูรณ์แบบในการทำทั้งสองอย่างให้สำเร็จ น่าเสียดายที่หลังจากอ่าน "คำแนะนำ" ที่มีอยู่ทั้งหมดที่มีอยู่ในรสชาติ WCF ต่างๆ แล้ว ฉันกลับสับสนมากกว่าสิ่งใดๆ นี่คือข้อสรุปที่ฉันได้มาถึงตอนนี้ - โปรดแก้ไขให้ฉันด้วย:

  • Straight WCF - ตัวเลือกที่ยืดหยุ่นและครอบคลุมที่สุด แต่ทุกอย่างเริ่มต้นจากศูนย์ จะต้องใช้เวลาอย่างมากในการกำหนดค่าและทดสอบ ตัวเลือกที่เป็นผู้ใหญ่ทางเทคนิคมากที่สุดพร้อมตะขอเพื่อให้บรรลุเป้าหมายส่วนใหญ่
  • WCF Data Services - วิธีที่เร็วที่สุดในการรับบริการ REST ออนไลน์ ยอดเยี่ยมหากแอปพลิเคชันต้องการเปิดเผยข้อมูลโดยตรงจากฐานข้อมูล หากจำเป็นต้องใช้ตรรกะทางธุรกิจ จะต้องเขียนบนฝั่งไคลเอ็นต์หรือโดยบริการที่สองที่เปิดเผยตรรกะ
  • บริการ WCF RIA - วิธีที่เร็วที่สุดในการกำหนดค่าบริการที่พร้อมเปิดเผยตรรกะทางธุรกิจ อาจเป็นตัวเลือกที่ยังไม่บรรลุนิติภาวะทางเทคนิคมากที่สุด (แต่ด้วยสิ่งที่ดูเหมือนว่าเป็นการลงทุนที่สำคัญที่จะนำมาด้วย) ตำแหน่งข้อมูล Soap, REST และ JSON จะช่วยให้ไคลเอ็นต์ส่วนใหญ่มีความเป็นอิสระ

จากข้อกำหนดของฉันข้างต้น ฉันจึงได้ข้อสรุปดังต่อไปนี้ - Data Services น่าจะไม่ใช่ผู้เริ่มต้นเนื่องจากข้อกำหนดด้านตรรกะทางธุรกิจ (และแนวคิดของบริการ WCF ที่สองที่ใช้บริการ Data ทำให้ฉันเป็นตัวเลือกทางสถาปัตยกรรมที่แย่มาก) ความเร็วเป็นสิ่งสำคัญ ซึ่งจะบ่งบอกว่าบริการ RIA อาจเป็นจุดเริ่มต้นที่ดีที่สุด (โทรหาฉันแบบขี้เกียจก็ได้ แต่การมีทีมเล็กๆ ที่มีกรอบเวลาจำกัดจะทำให้การสร้างโค้ดมีคุณค่า)

มีวิธีที่ดีกว่าในการจัดการกับเป้าหมายที่ฉันอธิบายไว้หรือไม่ ฉันเข้าใจผิดตัวเลือก WCF บางส่วน/ทั้งหมดหรือไม่ มีคำแนะนำเชิงปฏิบัติอื่นๆ ใดบ้างที่สามารถเสนอได้เกี่ยวกับการเลือกแนวทาง WCF ใด (ไม่ใช่แค่สำหรับฉัน แต่สำหรับใครก็ตามที่พยายามประเมินเทคโนโลยี)


person Steve    schedule 07.10.2010    source แหล่งที่มา


คำตอบ (1)


ฉันจะไปกับ WCF ตรง

สิ่งนี้ช่วยให้คุณสามารถเปิดเผยบริการของคุณผ่านจุดสิ้นสุดต่างๆ ขึ้นอยู่กับข้อกำหนด:

  • SOAP สำหรับการทำงานร่วมกันข้ามแพลตฟอร์ม
  • Binary NetTcp สำหรับไคลเอนต์ภายในที่ต้องการความเร็ว
  • JSON สำหรับการเข้าถึงแบบไลท์เวท
person Shiraz Bhaiji    schedule 06.04.2011