ระบบที่ทำงานในแบบ web application นั้นมีส่วนที่ต้องคำนึงถึงเป็นอย่างมากคือ จำนวนผู้ใช้งานสูงสุดที่ใช้งานระบบพร้อม ๆ กัน เพราะระบบนี้เป็นที่พัฒนาในแบบ web application ดังนั้นผู้ใช้งานสูงสุดอาจจะมีจำนวนเป็นหลาย 100 หรือ หลาย 1000 คนในเวลาเดียวกันได้ ยิ่งในช่วงที่ประเมินผลงาน หรือในช่วงของการคำนวณเงินเดือน เป็นต้น โดยขึ้นอยู่กับการกำหนดนโยบายขององค์กรว่าต้องการเปิดให้ทำงานในแบบ Employee Self Service มากเท่าใด ซึ่งพอจะสามารถจะประมาณการได้จากจำนวน User ได้คราว ๆ ว่าประมาณ 5-10% ที่อาจจะมีโอกาสใช้งานระบบพร้อม ๆ กัน เมื่อเป็นเช่นนั้นสิ่งที่ต้องคำนึงต่อจากนี้จะมีอยู่ 2 ประเด็นหลักคือ
ระยะเวลาในการตอบสนองของระบบ หมายถึงหลังจากเวลาที่ผู้ใช้งานยืนยันคำสั่งในการปฏิบัติงาน เช่นต้องการให้ค้นหาข้อมูล, ลบข้อมูล หรือบันทึกข้อมูลนั้นมีระยะเวลาในการตอบกลับเป็นเวลานานเท่าใด
ความเสถียรของระบบ หมายถึงระบบมีความสามารถที่พร้อมทำงานอยู่เสมอตลอดเวลา ซึ่งนี้เป็นจุดสำคัญสำหรับการทำงานในแบบ Employee Self Service เพราะถ้าระบบมีปัญหาบ่อย ๆ ทำให้ User ไม่สามารถทำงานได้ จะทำให้เกิดปัญหากับความเชื่อมั่นในระบบ
ซึ่งทั้งสองประเด็นนี้บริการของ SiamHR Outsourcing มีแนวทางที่จะป้องกันปัญหาทั้งสองอย่างนี้ ไม่ให้เกิดด้วยแนวความคิดในการทำ Load Balancing & Clustering System ซึ่งเป็นเทคโนโลยีขั้นสูงในการออกแบบระบบคอมพิวเตอร์
What is Load Balancing System?
ระบบบริการ SiamHR Outsorucing ได้ออกแบบแนวความคิดในการกระจายผู้ใช้งานไปให้เครื่อง Server หลาย ๆ เครื่องช่วยในการทำงานในส่วนนี้ โดยระบบ นำแนวความคิดนี้ไปใช้ในสองส่วนคือ ส่วนงานบริการทางจอภาพ (Web Tier) เช่นการขอดู, แก้ หรือเพิ่มข้อมูลต่าง ๆ ซึ่งระบบจะกระจายผู้ใช้งานไปให้ Server ที่อยู่ในกลุ่ม Web Server ให้อัตโนมัติ
ซึ่งจะทำให้การตอบสนองทางจอภาพมีประสิทธิภาพ อีกส่วนหนึ่งที่นำไปใช้คือ การทำงานในส่วนของ Processing (Processing Tier) เพราะบางหน้าจอถึงแม้จะเป็นการสั่งงานผ่านทางจอภาพ แต่จะเป็นการสั่งงานที่มีผลในการทำงานที่ใช้เวลาของเครื่องนาน ๆ เพราะต้องทำงานกับงานที่มีความซับซ้อน หรือข้อมูลที่เป็นปริมาณมาก ๆ เช่นการสั่งตรวจสอบหาข้อผิดพลาดของการรูดบัตร, การคำนวณเงินเดือน ซึ่งงานในส่วนนี้ ระบบจะทำการแบ่งงานออกเป็นส่วน ๆ แล้วนำไปใส่ไว้ในคิวงาน เพื่อให้เครื่อง Server ในกลุ่ม Process หยิบงานในคิวนี้ไปทำซึ่งจะเป็นการช่วยกันทำงานของ Server ตัวอย่างเช่น คำนวณเงินเดือน 1,000 คน ระบบจะแตกงานออกเป็น 10 รายการ ๆ ละ 100 คน เพื่อให้เครื่อง Server นำไปคำนวณ ดังนั้นถ้ายิ่งมีเครื่อง Server ในกลุ่มนี้มาก ๆ งานจะยิ่งเสร็จเร็วยิ่งขึ้นตามอัตราส่วน จะเห็นได้ว่าระบบได้ออกแบบมาเพื่อรองรับงานที่มีจำนวนผู้ใช้ในเวลาเดียวกันจำนวนมาก ๆ ได้อย่างมีประสิทธิภาพ
What is Clustering System?
ในส่วนของระบบการทำงานในแบบ Clustering คือการป้องกันในกรณีที่เครื่อง Server หยุดทำงาน ณ เวลาใด ๆ เครื่อง Server อีกเครื่องหนึ่งจะทำงานแทนทันที ซึ่งในกรณีนี้บริการเราได้ออกแบบให้สามารถรองรับการทำงานในแบบนี้ได้ทั้ง 3 Tiers คือ Web Tier, Processing Tier และ Database Tier ซึ่งจะทำให้เครื่องมีความเสถียรในการทำงานมากที่สุด