ขึ้นอยู่กับความต้องการของคุณ หากคุณต้องการโซลูชันที่มีความหน่วงแฝงต่ำและมีประสิทธิภาพสูงซึ่งขึ้นอยู่กับงานเล็ก ๆ จำนวนมากคุณอาจไปกับโครงสร้างที่คล้ายกับสิ่งที่คุณอธิบาย วิธีแก้ปัญหาที่พบบ่อยที่สุดใน Java, PHP และ C # ไม่ได้เป็นค่าเริ่มต้น
แอปพลิเคชันเว็บส่วนใหญ่ขึ้นอยู่กับฐานข้อมูลเป็นอย่างมากส่วนใหญ่มีมากดังนั้นหน้าเว็บจึงไม่สามารถแสดงผลได้หากไม่มีการเรียกอย่างน้อยหนึ่งครั้ง เห็นได้ชัดว่าคุณไม่ต้องการเปิดเผยฐานข้อมูลของคุณสู่สาธารณะด้วยเหตุผลหลายประการ:
- ความปลอดภัย (ตามที่Odedระบุไว้) - คุณไม่ต้องการเปิดเผยเครือข่ายของคุณต่อสาธารณะ! โดยปกติแล้วอินเทอร์เฟซเดียวกับระบบของคุณจากภายนอกควรเป็น https ไปยังเซิร์ฟเวอร์ของคุณ
- ความสะดวกในการพัฒนา - คุณจริงๆ, จริงๆ , จริงๆไม่ต้องการที่จะเขียน SQL ใน Javascript และภาษาที่ออกแบบมาสำหรับนำเสนอเว็บไม่ทำงานได้ดีกับ RDBs พวกเขาไม่มีแนวความคิดของรัฐเช่น
ดังนั้นเมื่อคุณต้องการฐานข้อมูลคุณใช้ภาษาที่สนุกกับพวกเขาเช่น Java, C #, PHP, ฯลฯ วิธีที่ง่ายที่สุดในการสร้างหน้าจะกลายเป็นดังนี้: คุณใช้ภาษา templating (PHP ที่มีชื่อเสียงที่สุด, แต่ JSP และ ASP เป็นอีกสองภาษาที่พบบ่อยมาก) เพื่อสร้างหน้า ภาษาจัดทำโครงสร้างที่เรียกไปยังโมดูลอื่น ใน PHP นี่เป็นปกติในหน้าหรือในไฟล์ PHP อื่นโดยใช้รูปแบบ MVC ใน JSP คุณใช้ scriptlets หรือ JSP Expression Language โมดูลอื่น ๆ เหล่านี้สามารถทำงานหนักในการเชื่อมต่อกับฐานข้อมูลปฏิบัติตรรกะและคืนค่าไปยังเลเยอร์มุมมองของคุณ ผลลัพธ์ที่ได้คือหน้า HTML ที่สร้างขึ้นสร้างการแสดงผลบนเซิร์ฟเวอร์และส่งไปยังลูกค้า
เมื่อฐานข้อมูลของคุณอยู่ในเครือข่ายเดียวกันกับโปรแกรมแสดงผลหน้าคุณจะได้รับประสิทธิภาพที่ดีขึ้นเช่นกัน ลูกค้าจะต้องทำหนึ่งคำขอและรับหน้า - คุณอาจต้องทำคำขอ 10-15 DB ก่อนที่คุณจะมีข้อมูลทั้งหมดที่ผู้ใช้ต้องการ เวลาแฝงของมิลลิวินาทีในเครือข่ายของคุณจะเป็นวินาทีต่อนาทีหากลูกค้าต้องทำทั้งหมด
เมื่อระบบเติบโตขึ้นการแยกความกังวลและความสามารถหลักกลายเป็นสิ่งสำคัญ HTML เหมาะสำหรับการแสดงผล Javascript ดีต่อเนื้อหาแบบไดนามิก SQL นั้นยอดเยี่ยมสำหรับการสืบค้นฐานข้อมูลและภาษาอื่น ๆ นั้นเป็นตรรกะทางธุรกิจที่ดี งานของเราในฐานะนักพัฒนาคือการใช้เครื่องมือทั้งหมดที่มีให้เราเพื่อสร้างระบบที่บำรุงรักษาได้ ความง่ายดายในการพัฒนาเป็นอย่างมากส่วนหนึ่งของระบบที่ดี ในใจของฉันมันมีความสำคัญพอ ๆ กับประสิทธิภาพและการใช้งาน ระบบที่ยอดเยี่ยมมีวิวัฒนาการตลอดเวลา ระบบที่ไม่ดีถูกเขียนอย่างไม่ดีตั้งแต่เริ่มต้นและไม่เคยปรับปรุงเลย