การออกแบบสถาปัตยกรรมแอปพลิเคชั่น
Software & Application การออกแบบสถาปัตยกรรมแอปพลิเคชั่น (Application Architecture Design) เป็นการออกแบบสภาพแวดล้อมการทำงานของ app. โดยกำหนดว่าจะให้ app. ทำงานบนระบบคอมพิวเตอร์ที่มีลักษณะการทำงานแบบใดและบนเครือข่ายชนิดใด พิจารณาเปรียบเทียบข้อดี-ข้อเสียของทางเลือกต่างๆ แล้วเลือกทางเลือกที่เหมาะสมกับองค์กรและความต้องการของผู้ใช้มากที่สุด
Tier Architecture เป็นการแบ่งการทำงานของ app. ออกเป็นระดับชั้น แต่ละระดับชั้นมีการติดต่อสื่อสารซึ่งกันและกัน การแบ่งหน้าที่การทำงานของ app เป็นระดับชั้นจะพิจารณาจากความซับซ้อนของระบบและโอกาสที่จะเกิดการเปลี่ยนแปลงของระบบ
Tier One-tier Architecture Two-tier Architecture Three-tier Architecture N-tier Architecture
One-tier Architecture App ประมวลผลอยู่ในเครื่องคอมพิวเตอร์เพียงเครื่องเดียว (Stand Alone) ไม่มีการแบ่งภาระการประมวลผลทั้งข้อมูล (Data) และการนำเสนอ (Presentation) หากระบบขนาดใหญ่จะทำงานได้ช้า
Two-tier Architecture Client/Server Architecture แบ่งการทำงานเป็น 2 ชั้น Application Layer Data Layer
Two-tier Architecture ทำหน้าที่ด้านการนำเสนอ เป็นส่วนติดต่อกับผู้ใช้ทางจอภาพ (GUI) ทำหน้าที่ทางด้าน Application Logic คือติดต่อกับฐานข้อมูลซึ่งอยู่ในระดับ Data Layer ควบคุมการทำงานของระบบให้เป็นไปตาม Business Rule อาศัย Driver ของฐานข้อมูล เช่น ODBC
Two-tier Architecture Application Layer: Client: -Presentation Logic -Application Logic Data Layer: Database Server Server ทำหน้าที่จัดเก็บข้อมูล คอยรับคำร้องขอข้อมูลจาก Client โดย Client ทุกเครื่องจะต้องติดตั้งโปรแกรมไว้ เพื่อทำหน้าที่ในการติดต่อกับผู้ใช้ และติดต่อกับฐานข้อมูล
ข้อดี & ข้อเสีย ข้อดี ข้อเสีย ลดภาระการทำงานของคอมพิวเตอร์ที่ทำหน้าที่เก็บข้อมูล เหมาะกับระบบงานขนาดกลางและไม่ซับซ้อน ข้อเสีย กรณีเป็นระบบขนาดใหญ่ จะทำให้ client ทำงานหนักเกินไป หาก app. มีการเปลี่ยนแปลง จะต้องเสียเวลาในการติดตั้งตัว app. เพิ่มเติม เนื่องจากต้องติดตั้งให้กับ client ทุกเครื่อง
Three-tier Architecture Presentation Layer : ทำหน้าที่นำเสนอหรือแสดงผล, ตรวจสอบข้อมูลที่จะเข้าสู่ระบบ Business Rule Layer หรือ Middle Tier : ทำหน้าที่ควบคุมการทำงานกับข้อมูลให้เป็นไปตามเงื่อนไขทางธุรกิจ, ติดต่อกับ Database Server อาจเรียกอีกชื่อว่า Application Layer Data Layer : จัดเก็บและจัดการข้อมูลใน Database Server
Three-tier Architecture Presentation Layer: Client: -Presentation Logic Business Rule Layer: Application Server: -Business Logic Data Layer: Database Server
ข้อดี & ข้อเสีย ข้อดี ข้อเสีย หากมีการเปลี่ยนแปลงในบาง Layer จะส่งผลกระทบต่อ Layer อื่นน้อยมาก สนับสนุนหลักการ Reusability ในบางส่วน เช่น Business Rule สามารถนำไปใช้ใหม่ได้ คอมพิวเตอร์แต่ละตัวรับภาระน้อยลง รองรับการทำงานในปริมาณมากๆ ได้ ข้อเสีย ออกแบบและพัฒนาระบบค่อนข้างยาก
N-tier Architecture ตัวอย่างเช่น Web-based Application แบ่งเป็นหลาย Layer Web Browser (Client) ex. PC, PDA, Mobile Application Layer (Web Server) Business Logic Layer Web Database Server
N-tier Architecture Client / Web Browser: Application Layer: Web Server -Presentation Logic Business Rule Layer: Application Server / Web Server -Business Logic Data Layer: Web Database Server
ลักษณะการทำงานของระบบ ระบบงานแบบรวมศูนย์ (Single-location System) ระบบงานแบบกระจาย (Distributed System)
ระบบเครือข่าย LAN WAN Internet Intranet Extranet
รูปแบบ Application สำหรับ LAN File Server (ทำงานที่ Client) Client/Server (ทำงานที่ Server) รูปแบบ Application สำหรับ WAN Web-based Application Web Service (เรียกใช้ app. อื่น จาก web อื่นได้)