รูปประจำตัว

ระบบสมุดเยี่ยม G2

Production-Ready Backend System · พัฒนาต่อจากโครงงาน G1

ระบบนี้ต่างจาก G1 อย่างไร

G1 เป็น ASP.NET Web Forms ที่หน้าเว็บ ตรรกะธุรกิจ และการต่อฐานข้อมูล อยู่ในโปรเซสเดียวกันทั้งหมด G2 แยกออกเป็นสามชั้นที่คุยกันด้วย HTTP และรันคนละคอนเทนเนอร์ โดยมีเพียงชั้นเดียวที่ต่อฐานข้อมูลได้

เข้าสู่ระบบ

สถาปัตยกรรมตาม Layer Defense Model

External Zone

เบราว์เซอร์ และโปรแกรมเดสก์ท็อป (.NET WinForms) เรียกเข้ามาผ่าน HTTPS เท่านั้น ทุกอย่างในโซนนี้ผู้ใช้แก้ไขได้ จึงไม่เชื่อถือ

DMZ Zone

เว็บนี้และ Presentation API — ตรวจ JWT จำกัดอัตราการเรียก และไม่มีไลบรารีต่อฐานข้อมูลอยู่ใน container เลย

Application Tier

Application API และ Business Logic — ชั้นเดียวที่ตัดสินสิทธิ์ และคุยกับฐานข้อมูล รับคำขอเฉพาะที่มีกุญแจภายในเท่านั้น

Data Tier

SQL Server — อยู่ในเครือข่ายที่ไม่มีทางออกอินเทอร์เน็ต และเข้าถึงได้จาก Application Tier เท่านั้น