ความคิดเห็นที่ 4
>3 tier ต้องมีตัว appserver เป็นตัวติดต่อฐาน แล้วประมวลผล 3 tier ไม่จำเป็นต้องมี appserver ครับ แค่แยกส่วน user interface, application logic กับ database ออกจากกัน แค่เขียน cgi/servlet/asp แล้วมี database อยู่ด้านหลัง ก็เป็น 3 tier แล้วครับ
>ที่สำคัญ การ คอนเน็ค ก็ database ต้องมี แค่ 1 คอนเน็ค อันนี้ไม่จำเป็นครับ database connection อาจมีเท่ากับ จำนวน client ก็ได้ (แต่ไม่ดี) หรือถูกกำหนดไว้ตายตัว หรือ dynamic เพิ่ม/ลด ตาม demand อันหลังนี้ประสิทธิภาพจะสูงขึ้น
>จุดประสงค์ ของการทำ 3 tier คือ การ ลดการ คอนเน็ค กับ database จุดประสงค์หลักของการทำ 3 tier คือ scalable, security, encapsulate, reusable ครับ - scalable คือเวลาที่จำนวน client เพิ่มขึ้น เช่น จาก 10 เป็น 1000 (100 เท่า) ถ้าเป็นแบบ 2 tier คุณมีทางเลือกเดียวคือต้องเพิ่มประสิทธิภาพของ server ขึ้นมากกว่า 100 เท่า เพื่อให้ได้ความเร็วเท่าเดิม ถ้าเป็นแบบ 3 tier คุณสามารถเพิ่มประสิทธิภาพของ server ที่ทำหน้าที่ application logic หรือเพิ่มจำนวน server ก็ได้ - reusable application logic ได้ เช่น เพิ่ม WAP หรือ SMS interface โดยใช้ logic เดิม แค่เขียนส่วนที่เป็น UI ใหม่ - encapsulate เพราะการแบ่งงานออกเป็น tier ทำให้เราสามารถซ่อนรายละเอียดการทำงานของ tier หลังๆ - security ถ้าเป็น 2 tier อย่าง oracle form หรือ vb+database, security จะขึ้นอยู่กับ password เป็นหลัก ถ้า password เกิดหลุดขึ้นมา ก็เข้าไปใช้ sql ทำอะไรใน base ก็ได้ แบบ 3 tier ถ้าเกิด hack tier แรกได้ ก็ยังติด tier ถัดไป encapsulate ก็ทำให้ security ดีขึ้น เพราะมันไม่เปิดเผยข้อมูลหรือวิธีการของ tier หลัง อย่างไรก็ตาม โดยปรกติ 3 tier จะใช้ database connection น้อยลงครับ สมัยก่อนคนขาย app server จะโฆษณาว่าจะช่วยลดค่า database license ลง แต่คนขาย database แก้เผ็ดโดยคิด license แบบ internet access หรือแบบ server แทน
;>)
จากคุณ :
zkaru
- [
3 พ.ย. 50 00:24:53
]
|
|
|