วันศุกร์ที่ 1 ตุลาคม พ.ศ. 2553

Differentiate between a two-tier client/server system and a three-tier client/server system. Differentiate between a fat client and a thin client. Why would a firm choose one of these approaches over the others when implementing a client/server system?


Two-tier /System

ประกอบด้วยสองส่วนหลัก คือ โปรแกรมของ presentation logic ซึ่งเป็นส่วนที่กำหนดรูปแบบการติดต่อระหว่างผู้ใช้กับ Application และโปรแกรมของ business logic ซึ่งกำหนดว่าข้อมูลจะถูกจัดการอย่างไรในการทำธุรกิจนั้นๆ โปรแกรมทั้งสองส่วนถูกติดตั้งและทำงานบนเครื่อง Clients ที่เป็นเครื่องพีซีต่อกับเครื่องคอมพิวเตอร์ขนาดใหญ่ที่ทำงานเป็น database server ทำหน้าที่เก็บและควบคุมข้อมูลขององค์กร โปรแกรมของ business logic บนเครื่อง clients จะเป็นส่วนที่ททำหน้าที่ต่อกับ database server ผ่านทาง Network และเข้าจัดการกับข้อมูลโดยใช ้ภาษามาตรฐานอย่างเช่น SQL โดยให้ database server เป็นผู้บริหารและจัดเก็บข้อมูลโปรแกรมบนเครื่อง clients จึงไม่ต้องยุ่งเกี่ยวกับ การจัดเก็บข้อมูลโดยตรง และไม่มีข้อมูลเก็บไว้ที่เครื่อง clients ซึ่งนอกจากประหยัดหน่วยความจำแล้วยังทำให้เครื่อง clients ใช้ข้อมุลร่วมกันได้ และไม่มีปัญหาเกี่ยวกับข้อมู่ลเกี่ยวกันที่เครื่องต่างๆไม่เหมือนกับ ( Integrity) อย่างไรก็ตาม โปรแกรมสำหรับติดต่อกับ database server และทำธุรกิจมักมีขนาดใหญ่ เราจึงเรียก clients ที่มีทั้ง presentation logic และ business logic อยู่ด้วยกันว่า fat clients ซึ่งเป็นจุดอ่อนของระบบ two-tier คือไม่เหมาะสำหรับงานระดับองค์กร เนื่องจากมีข้อเสียหลายอย่าง ดังนี้

- โปรแกรมสำหรับทำงานหน้าที่หนึ่งในองค์กรใดๆ มักจะมีรูปแบบการติดต่อกับผู้ใช้ presentation logic ที่มีการเปลี่ยนแปลงไม่บ่อยนัก เพื่อจะได้ไม่ต้องให้การฝึกอบรมแก่ผู้ใช้ แต่โปรแกรม business logic ขององค์กรมักต้องเปลี่ยนแปลงบ่อยมาก เช่น เปลี่ยนอัตราดอบเบี้ย เปลี่ยนอัตราแลกเปลี่ยนเงินตรา หรือเปลี่ยนวิธีการคิดภาษี เป็นต้น fat clients มีทั้ง presentation logic และ business logic ทำให้การเปลี่ยนแปลง business logic อาจส่งผลให้ต้องแก้ไข presentation logic ด้วยการดูแลรักษาระบบจะยุ่งยากมาก

- เมื่อมีการเปลี่ยนแปลง business logic ผู้ดูแลระบบต้องติดตั้งโปรแกรมใหม่ให้แก่เครื่อง clients ทุกเครื่อง ซึ่งเป็นงานยุ่งยากมากในองค์กรขนาดใหญ่ ปัญหานี้มักยุ่งยากขึ้นไปอีก เนื่องจากเครื่อง clients แต่ละเครื่องอาจทำงาน business logic ไม่เหมือนกัน ตามหน้าที่ของผู้ใช้เครื่องนั้น ทำให้ผู้ดูแลระบบต้องมีข้อมูลว่า เครื่อง client ใดจะต้องมีโปรแกรมใดบ้าง

- ระบบ two-tier มีข้อจำกัดที่ client หนึ่งจะมีเพียงหนึ่ง business logic และหนึ่ง presentation logic เท่านั้น แต่ในองค์กรบางแห่ง อาจมีผู้ใช้หลายคนใช้เครื่อง client ตัวหนึ่งร่วมกัน หากผู้ใช้บางคนต้องมี presentation logic หรือ business logic ที่แตกต่างจากผู้อื่น ไม่ว่าจะโดยทั้งหมดหรือในบางกรณีก็จะทำเกิดปัญหาขึ้นได้ทั้งสิ้น ในระบบ two-tier ผู้ใช้คนหนึ่งต้องทำงานที่เครื่อง client หนึ่งเท่านั้น หากยอมให้ผู้ใช้ใช้เครื่อง client ที่ไม่ใช่ของเขา ก็อาจเปิดโอกาสให้ทำงาน business logic ที่เขาไม่มีสิทธิ์ทำได้

- เนื่องจากโปรแกรม business logic ถูกติดตั้งบนเครื่อง clients ซึ่งกระจายอยู่ทั่วไปในองค์กร จึงอาจมีปัญหาเกี่ยวกับความปลอดภัยของระบบ เพราะเปิดโอกาศให้ผู้ไม่หวังดีเข้าถึงโปรแกรม business logic ได้ง่ายขึ้น

- หาก hardware และระบบปฏิบัติการของเครื่อง clients แตกต่างกัน เราต้องสร้างโปรแกรม client สำหรับแต่ละ hardware และระบบปฏิบัติการ ซึ่งจะสิ้นเปลืองอย่างมาก

Three - Tier Systems

ระบบ three-tier ถูกพัฒนาขึ้นเพื่อแก้ปัญหาของระบบ two-tier โดยแยกโปรแกรม presentation logic ออกจาก โปรแกรม business logic คือให้โปรแกรมของ business logic ทำงานอยู่บนเครื่อง middle-tier server ส่วนโปรแกรมของ presentation logic อยู่บนเครื่อง clients โปรแกรมา client แบบนี้จึงมีขนาดเล็กลง เรียกว่า thin client เครื่อง clients ต่อกับ middle-tier server ทาง network เครื่องที่เป็น middle-tier server ควรเป็นเครื่องประสิทธิภาพสูง เพราะต้องรับภาระงานของหลายๆ clients เครื่องประสิทธิภาพสูงตัวเดี่ยวอาจทำ business logic ได้ดีกว่าเครื่อง PC หลายๆตัว เพราะการควบคุมเกี่ยวกับการติดต่อกับ database (โดย database connection ซึ่งมีจำนวนจำกัด ) จะทำ ได้ง่ายกว่า อีกทั้งปกติเรามักให้ middle-tier server อยู่ใกล้กับ database server หรือแม้แต่เป็นเครื่องเดียวกัน เพื่อให้การติดต่อกับ database ทำได้เร็ว ในระบบแบบนี้โปรแกรม business logic อยู่ใน middle-tier server เพียงที่เดียว การแก้ไขดัดแปลงจำทำเพียงที่เครื่องเดียวและสามารถควบคุมการเข้าใช้งานได้ง่ายกว่า ส่วนเครื่อง clients เหลือหน้าที่เพียงทำงาน presentation logic อย่างเดียว จึงอาจให้ทำงานที่ซับซ้อนมากขึ้น เช่น ติดต่อกับผู้ใช้แบบ Graphics ซึ่งช่วยให้ผู้ใช้ใช้งานโปรแกรมได้ง่ายขึ้นนอกจากนั้นในเครื่อง client หนึ่งอาจมี presentation logic หลายแบบโปรแกรมของระบบ three-tier สร้างยากกว่าระบบ two-tier เนื่องจากการติดต่อสื่อสารระหว่าง presentation logic กับ business logic ต้องทำผ่านทาง network ซึ่งจะช้กว่าอยู่บนเครื่องเดียวกัน ผู้เขียนโปรแกรมต้องพยายามลดจำนวน ติดต่อกันระหว่างสองส่วนนี้ เพื่อไม่ให้โปรแกรมทำงาานช้าเกินไปอีกทั้งยังต้องทำการควบคุมให้ threads จากหลายๆ clients เข้าใช้งาน business logic โดยไม่เกิดปัญหา เพื่อหลีกเลี่ยงความยุ่งยากนี้ จึงมีผู้ผลิตซอฟต์แวร์สร้าง application servers ออกมาขาย สำหรับมาติดตั้งที่ middle tier server เพื่อให้ clients เข้าใช้งาน application ต่างๆ และ databases ได้ โดยเราไม่ต้องจักการกับปัญหาเกี่ยวกับการ ติดต่อสื่อสาร และการมี threads หลายๆเส้น อย่างไรก็ตามยังมีปัญหาตรงที่ผู้ผลิต application server แต่ละรายสร้างโปรแกรมขึ้นบนApi และ protocol ของตนเอง จึงยากที่ผู้ผลิตซอฟต์แวร์รายอื่นจะสร้าง servers ส่วนใหญ่ใช้งานได้เฉพาะกับ applications โปรแกรมของบริษัทเดียวกัน และผู้ดูแลระบบมักมีปัญหาในการนำ applications จากผู้ผลิตหลายๆ รายมาทำงานใน application server หนึ่ง

Fat client/thin server

หมายถึง การประมวลผลเกิดขึ้นที่ตัวใดมากกว่ากัน ระหว่างตัวลูก และตัว server ถ้าการประมวลผลเกิดที่ตัวลูกมากกว่า เรียกว่า Fat client เหมือนกับภาระ งานอยู่ที่ตัวลูก สำหรับ thin server คือ ตัว Server ไม่ได้มีประสิทธิภาพสูงมากนัก ทำ หน้าที่ในหารเก้บข้อมูลและประมวลผลเล็กๆน้อยๆ

Thin client/fat server

หมายถึงการประมวลผลเกิดขึ้นที่ตัว server มากกว่า ตัวลูกการประมวลผลมีไม่มากเท่าไหร่ ดังนั้น การประมวลผลส่วนใหญ่เกิดขึ้นที่ตัว Server ขึ้นอยู่กับการออกแบบเพื่อรองรับการใช้งาน application ต่างๆ มีการประมวลผลแบ่งภาระการโหลด การประมวลผลเกิดขึ้นที่ใดบ้าง

แนวโน้มในปัจจุบัน

เทคโนโลยี Three - Tier Systems จะได้รับความนิยมมากกว่า Two-tier /System สาเหตุก็เนื่องมาจาก การใช้งานที่มีความต้องการที่หลากหลาย และมีปริมาณที่มีมากขึ้น หรืองานที่มีการให้บริการไปพร้อมๆกัน เป็นปริมาณมากๆ จึงจำเป็นต้องมีการแบ่ง Server ออกเป็นประเภทต่างๆ เพื่อให้ทำหน้าที่แตกต่างกันไป ซึ่งมีการแยกหน้าที่การทำงานกันอย่างชัดเจน server ต้องมีความสามารถรองรับการทำงานเหล่านี้ได้อย่างมีประสิทธิภาพและคุ้มค่าต่อการลงทุน อย่างเช่น interface web เป็น Web application สามารถเชื่อมต่อฐานข้อมูลต่างๆ เรียกว่า Database Server ดังนั้นโหลดเครื่องของ คอมพิวเตอร์จะแยกออกจากกัน

อีกสาเหตุหนึ่งคือ เรื่องของระบบความมั่นคงปลอดภัย ข้อมูลมีความสำคัญในทางธุรกิจจึงจำเป็นต้องมีระบบที่มีความปลอดภัยที่ดีเช่น ระบบ Banking ระบบธนาคารต่างๆ ฐานข้อมูลจะถูกเก็บไว้ในอีกเครื่องหนึ่ง การ access ระหว่าง server กับ server ด้วยกันเอง database username password ระบบ security อีกชั้นหนึ่ง ยกตัวอย่างเช่น Web/groupware server นิยม ใช้ Thin client มากกว่า คือ การประมวลผลส่วนใหญ่เกิดขึ้นที่ตัว server

Thin client/fat server จะได้รับความนิยมมากกว่า ตัว client ในบางครั้ง สามารถปรับเปลียนได้ง่ายกว่า โยกย้ายได้ง่าย รวมทั้งการประมวลที่เกิดขึ้นที่ส่วนกลาง (server) ง่ายต่อการดูแลรักษา ระบบดูแลรักษาความปลอดภัยก็ง่ายกว่า ดังนั้น concept ของ Thin client/fat server ก็ยังคงอยู่ในปัจจุบัน จะมองเห็นแนวโน้ม เช่นในธนาคาร ในอุตสาหกรรมการเงิน ที่มีเรื่องของความปลอดภัยสำคัญๆ ตัว client คือตัวลูก คอมพิวเตอร์ที่จะนำมาเชื่อมต่อจะมีการ block spec ตัวลูกให้มากที่สุด ด้วยมาตรการต่างๆ ในเรื่องความปลอดภัย , การ copy ข้อมูลออกการขโมยข้อมูลออกจากตัวลูก บางทีตัวลูกแทบไม่มีช่องสำหรับเสียบ USB ช่อง drive ต่างๆ



List the primary categories of modules that are likely to be offered by a major ERP vendor. What would be categories of ERP modules that are likely to be used in your organization and explain why?

ENTERPRISE RESOURCE PLANNING SYSTEMS: ERP

- ระบบสารสนเทศที่เชื่อมโยงกันทั้งองค์กร แต่ละแผนกเข้าด้วยกัน คลอบคลุมถึงระบบ TPS ด้วย

- ระบบ ERP ทำการ integrated business applications ต่างๆเข้าด้วยกัน สนับสนุนฟังก์ชั่นทุกฟังก์ชั่นทั่วทั้งองค์กร คลอบคลุมทั้งฟังก์ชั่นที่เกี่ยวข้องกับระบบบัญชีด้วย เช่น General ledger (บัญชีทั่วไป), accounts payable (บัญชีรายจ่าย), accounts receivable (บัญชีรายรับ), material requirements planning: MRP (การวางแผนการผลิต), order management (การจัดการคำสั่งซื้อของลูกค้า), inventory control (ระบบจัดการสต็อกสินค้า/สินค้าคงคลัง), human resources management (ระบบจัดการทรัพยากรบุคคล)

ส่วนใหญ่ระบบ ERP จะซื้อซอฟต์แวร์สำเร็จรูปจากผู้ขายความแตกต่างของระบบ ERP ระบบ ERP มีหลากหลายบริษัทที่ผลิตระบบนี้ขึ้นมา มีความแตกต่างกันคือ

1. ERP modules มีความหลากหลายเพื่อจะให้ธุรกิจที่แตกต่างกัน ทั้งประเภทและขนาด สามารถที่จะเลือกประเภทของ modules และสามารถนำมาประกอบกันและนำไป ประยุกต์ใช้ได้เลย

2. ERP modules สามารถปรับปรุงเปลี่ยนแปลงให้สอดคล้องกับกระบวนการของแต่ละ ธุรกิจที่มีความแตกต่างกันอย่างสิ้นเชิงได้เช่นกัน

ระบบ ERP โดยทั่วไป มีลักษณะ

- ยากในการ implement และค่าใช้จ่ายค่อนข้างสูง รวมทั้งต้องมีความเชี่ยวชาญจากผู้เชี่ยวชาญภายนอกด้วยเช่นกัน

- ผู้ผลิตรายใหญ่ของระบบ ERP ในปัจจุบัน คือ SAP เป็นบริษัทตั้งต้นในเยอรมัน ปัจจุบันยังคงใช้งานได้ดี และเป็นซอฟต์แวร์ที่ผูกขาด ด้านเทคโนโลยี/รูปแบบฟอร์มต่างๆ ไม่สามารถที่จะเชื่อมกับระบบอื่นๆได้ เช่น PeopleSoft, Inc. Oracle

ในองค์กรที่ผมทำอยู่ เป็นองค์กรที่ประกอบธุกรกิจเกี่ยวกับการผลิตและจำหน่ายปูนซิเมนต์เป็นสินค้าหลัก ในองค์กรมีโครงสร้างแบ่งการทำงานที่ชัดเจนตามหลักสากลทั่วไปประกอบไปด้วย ฝ่ายผลิต ฝ่ายซ่อมบำรุง ฝ่ายบริหาร ฝ่ายการตลาด การจัดซื้อ และการบัญชี รวมทั้ง MIS (Management Information System) ในส่วนของ ซอฟต์แวร์ องค์กรได้ซื้อ ซอฟต์แวร์สำเร็จรูปจากต่างชาติมาใช้งานในส่วนของ Back office โดยตัดบางโมดุลที่ไม่ได้ใช้งานออกไป เพื่อความเหมาะสมกับความต้องการขององค์กรและความคุ้มค่าในการลงทุนขององค์กร อย่างเช่น ระบบงานขาย ในส่วนของระบบงานขายนี้ทางองค์กรได้พัฒนา Software ขึ้นใช้งานเองใหม่ทั้งระบบ โดยทำงานอยู่บนระบบ Windows ( System เดิมใช้บน UNIX มาประมาณ 20 ปี) การทำงานจะมีการ on-line ข้อมูลกับสำนักงานใหญ่ และศูนย์จ่ายต่าง ๆ กับส่วนของโรงงานการผลิต ปัจจุบันกำลังอยู่ในช่วงของการย้ายแพลท์ฟอร์ม ใหม่ทั้งระบบ ในอนาคตองค์กรมีแนวโน้มที่จะ ซื้อ ERP modules เพื่มเติมจากที่มีอยู่อย่างเช่นระบบการจัดการทรัพยากรบุคคล การจัดการคำสั่งซื้อของลูกค้า เนื่องจากปัจจุบันองค์กรได้มีการขยายกิจการอย่างมาก โดยมีการเพิ่มกำลังคน ขยายโครงสร้าง เพิ่มตัวสินค้าและการผลิต มีการมุ่งเน้นทำให้องค์กรก้าวไปสู่การเป็นองค์กรแห่งการเรียนรู้ มุ่งเน้นการดำเนินงานนโยบายการผลิต และส่งมอบสินค้าอยางมี คุณภาพจนถึงมือลูกค้า