วิธีการสร้างเลเยอร์บริการที่ดีใน ASP.NET?


10

ฉันได้ดูคำถามเทคโนโลยีการสร้างเลเยอร์บริการที่ดี แต่ฉันมีคำถามบางอย่างเกี่ยวกับเรื่องนี้ที่ฉันต้องการความช่วยเหลือ

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

  • เราต้องการเปลี่ยนแปลงสิ่งนี้เพื่อให้แอปพลิเคชันทั้งหมดผ่านเลเยอร์บริการที่เราสามารถทำงานได้มากขึ้นด้วยแคชและแค็ปซูลฟังก์ชั่นทั่วไปและอีกมากมาย
  • เราต้องการให้เลเยอร์นี้มี Web API เพื่อให้ลูกค้าบุคคลที่สามสามารถใช้ข้อมูลจากบริการได้

ปัญหาที่ฉันเห็นคือถ้าเราสร้างเลเยอร์บริการด้วยพูด MVC4 Web API เราไม่จำเป็นต้องสื่อสารระหว่างแอปพลิเคชันที่ใช้ webAPI ซึ่งหมายความว่าเราต้องสร้าง URL และใช้ JSON / Xml ที่ไม่ได้เสียงที่มีประสิทธิภาพเกินไป ฉันคิดว่าวิธีที่ดีกว่านี้คือการทำงานกับเอนทิตีและ WCF เพื่อสื่อสารระหว่างแอปพลิเคชัน แต่ถ้าอย่างนั้นเราอาจจะสูญเสียเวทย์มนตร์ Web API?

ดังนั้นคำถามคือหากมีวิธีการใช้เลเยอร์บริการทั้ง Web API (JSON / XML) และเป็นเลเยอร์บริการแบ็คเอนด์ที่มีเอนทิตี้มากกว่า หากเราถูกบังคับให้ใช้ 2 ชั้นบริการที่แตกต่างกันเราอาจต้องทำซ้ำฟังก์ชั่นบางอย่างและสิ่งเลวร้ายอื่น ๆ

หวังว่าคำถามจะชัดเจนเพียงพอและโปรดถามหากคุณต้องการข้อมูลเพิ่มเติม


คำถามที่ดี. +1 สำหรับสิ่งนั้น!
คังกัน

คำตอบ:


1

สำหรับชุดของแอปพลิเคชันที่โฮสต์บนอินทราเน็ตและอาจเป็น LAN เดียวสิ่งที่ดีที่สุดคือการเชื่อมต่อ TCP สำหรับบริการ

ในกรณีนี้ฉันจะแนะนำให้สร้างแอปพลิเคชันบริการที่เปิดเผยชุดของจุดปลายและส่วนต่อประสานบริการที่สามารถทำงานบน TCP ได้ แอปพลิเคชันที่ได้รับการพัฒนาหรือเชื่อถือได้

แอปพลิเคชันบริการจะต้องมีชุดจุดสิ้นสุดและส่วนต่อประสานบริการอีกชุดหนึ่งซึ่งมีการใช้งานผ่านเว็บ (API เว็บ)

ดังนั้นแอปพลิเคชันบริการสามารถโฮสต์โดยใช้ WCF และจุดสิ้นสุด / อินเทอร์เฟซ shoukd ถูกเพิ่มเข้ามาตามความต้องการ


ดังนั้นการสร้างจุดปลาย 1 ชุดสำหรับการสื่อสารภายในและ 1 ชุดสำหรับ Web API? (และใช่มันอยู่บน LAN พร้อมเซิร์ฟเวอร์ประมาณ 20 ตัวซึ่งไม่รวมอินทราเน็ตอินทราเน็ตภายนอกและอื่น ๆ )

ตกลงอ่านเพิ่มเติมเกี่ยวกับ WCF (ขออภัยฉันเป็นผู้เริ่มต้นในน่านน้ำเหล่านี้) ดังนั้นฉันจึงมีบริการเดียวกันหรือแอปพลิเคชันบริการเดียวกัน แต่ใช้ปลายทางที่แตกต่างกันสำหรับบริการนั้นดังนั้นแอปพลิเคชันบริการสามารถใช้ผ่าน TCP ทั้งสอง และ HTTP, แก้ปัญหา? อาจเป็นคำถามที่ยากขึ้นใคร ๆ มีข้อมูลเกี่ยวกับ MVC4 เว็บ API หากสามารถใช้ผ่าน TCP ได้บ้าง

คุณทำให้ถูกต้อง ใน MVC4 web API ฉันยังไม่ได้อ่านอะไรเลย คุณอาจจำเป็นต้องอ่านเกี่ยวกับเรื่องนี้
คังกัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.