อ่าน 3 นาที
ตรรกะทางธุรกิจ
ใน ซอฟต์แวร์ คอมพิวเตอร์ ตรรกะทางธุรกิจ หรือ ตรรกะโดเมน คือส่วนหนึ่งของโปรแกรมที่เข้ารหัส กฎทางธุรกิจ ในโลกแห่งความเป็นจริง ซึ่งกำหนดวิธี การสร้าง จัดเก็บ และเปลี่ยนแปลง...
ตรรกะทางธุรกิจ
ในซอฟต์แวร์คอมพิวเตอร์ตรรกะทางธุรกิจหรือตรรกะโดเมนคือส่วนหนึ่งของโปรแกรมที่เข้ารหัสกฎทางธุรกิจ ในโลกแห่งความเป็นจริง ซึ่งกำหนดวิธี การสร้าง จัดเก็บ และเปลี่ยนแปลงข้อมูลโดยจะแตกต่างจากส่วนอื่นๆ ของซอฟต์แวร์ที่อาจเกี่ยวข้องกับรายละเอียดระดับต่ำกว่า เช่น การจัดการฐานข้อมูลการแสดงผลส่วนติดต่อผู้ใช้โครงสร้างพื้นฐานของระบบ หรือการเชื่อมต่อส่วนต่างๆ ของโปรแกรมโดยทั่วไป
รายละเอียดและตัวอย่าง
ตรรกะทางธุรกิจ:
- กำหนดวิธีการที่วัตถุทางธุรกิจโต้ตอบซึ่งกันและกัน
- บังคับใช้เส้นทางและวิธีการในการเข้าถึงและอัปเดตวัตถุทางธุรกิจ
กฎทางธุรกิจ:
- สร้างแบบจำลอง ของวัตถุทางธุรกิจ ในชีวิตจริง (เช่น บัญชี เงินกู้ แผนการเดินทาง และสินค้าคงคลัง)
ตรรกะทางธุรกิจประกอบด้วย: [ 1 ]
- เวิร์กโฟลว์คือลำดับขั้นตอนของการส่งต่อเอกสารหรือข้อมูลจากผู้เกี่ยวข้องรายหนึ่ง (บุคคลหรือระบบซอฟต์แวร์) ไปยังอีกรายหนึ่ง
ควรแยกตรรกะทางธุรกิจออกจากกฎทางธุรกิจ[ 2 ]ตรรกะทางธุรกิจเป็นส่วนหนึ่งของระบบองค์กรที่กำหนดวิธีการแปลงหรือคำนวณข้อมูล และวิธีการส่งต่อข้อมูลไปยังบุคคลหรือซอฟต์แวร์ (เวิร์กโฟลว์) กฎทางธุรกิจเป็นการแสดงออกอย่างเป็นทางการของนโยบายทางธุรกิจ สิ่งใดก็ตามที่เป็นกระบวนการหรือขั้นตอนถือเป็นตรรกะทางธุรกิจ และสิ่งใดก็ตามที่ไม่ใช่ทั้งกระบวนการหรือขั้นตอนถือเป็นกฎทางธุรกิจ การต้อนรับผู้มาเยือนใหม่เป็นกระบวนการ (เวิร์กโฟลว์) ที่ประกอบด้วยขั้นตอนต่างๆ ที่ต้องดำเนินการ ในขณะที่การกล่าวว่าผู้มาเยือนใหม่ทุกคนต้องได้รับการต้อนรับถือเป็นกฎทางธุรกิจ นอกจากนี้ ตรรกะทางธุรกิจเป็นเชิงกระบวนการ ในขณะที่กฎทางธุรกิจเป็นเชิงประกาศ[ 3 ]
ตัวอย่างเช่น เว็บไซต์ อีคอมเมิร์ซอาจอนุญาตให้ผู้เข้าชมเพิ่มสินค้าลงในตะกร้าสินค้า ระบุที่อยู่จัดส่ง และป้อนข้อมูลการชำระเงิน ตรรกะทางธุรกิจของเว็บไซต์อาจรวมถึงขั้นตอนการทำงานดังต่อไปนี้:
- ลำดับเหตุการณ์ที่เกิดขึ้นระหว่างการชำระเงิน ตัวอย่างเช่น แบบฟอร์มหลายหน้าที่เริ่มต้นด้วยการขอที่อยู่จัดส่ง จากนั้นขอที่อยู่สำหรับการเรียกเก็บเงิน หน้าถัดไปจะเป็นวิธีการชำระเงิน และหน้าสุดท้ายจะแสดงข้อความแสดงความยินดี
นอกจากนี้เว็บไซต์ยังมีข้อกำหนดทางธุรกิจอีกด้วย:
- การเพิ่มรายการสินค้ามากกว่าหนึ่งครั้งจากหน้ารายละเอียดสินค้าจะเพิ่มจำนวนสินค้าชิ้นนั้นขึ้น
- รูปแบบเฉพาะที่ที่อยู่ อีเมล และข้อมูลบัตรเครดิตของผู้เข้าชมต้องปฏิบัติตาม
- โปรโตคอลการสื่อสารเฉพาะสำหรับการติดต่อกับเครือข่ายบัตรเครดิต
ซอฟต์แวร์เว็บไซต์ยังประกอบด้วยโค้ดอื่นๆ ที่ไม่ถือว่าเป็นส่วนหนึ่งของตรรกะทางธุรกิจหรือกฎทางธุรกิจ:
- เนื้อหาเสริมที่ไม่เกี่ยวข้องกับข้อมูลธุรกิจหลัก เช่น โค้ดHTMLที่กำหนดสี รูปลักษณ์ ภาพพื้นหลัง และโครงสร้างการนำทางของเว็บไซต์
- โค้ดจัดการข้อผิดพลาดทั่วไป (เช่น โค้ดที่แสดงหน้าข้อผิดพลาด HTTP 500)
- โค้ดเริ่มต้นที่จะทำงานเมื่อเว็บเซิร์ฟเวอร์เริ่มทำงานเว็บไซต์ ซึ่งจะทำการตั้งค่าระบบ
- ตรวจสอบโครงสร้างพื้นฐานเพื่อให้แน่ใจว่าทุกส่วนของเว็บไซต์ทำงานได้อย่างถูกต้อง (เช่น ระบบการเรียกเก็บเงินใช้งานได้หรือไม่)
- โค้ดทั่วไปสำหรับสร้างการเชื่อมต่อเครือข่าย ส่งข้อมูลไปยังฐานข้อมูลวิเคราะห์ข้อมูลที่ผู้ใช้ป้อนผ่านเหตุการณ์ HTTP POST เป็นต้น
ตรรกะทางธุรกิจและระดับ/ชั้นต่างๆ

ตรรกะทางธุรกิจสามารถอยู่ได้ทุกที่ในโปรแกรม ตัวอย่างเช่น เมื่อกำหนดรูปแบบที่อยู่แบบใดแบบหนึ่งแล้ว อาจมีการสร้างตารางฐานข้อมูลที่มีคอลัมน์ที่ตรงกับฟิลด์ที่ระบุไว้ในตรรกะทางธุรกิจ และเพิ่มการตรวจสอบประเภทข้อมูลเพื่อให้แน่ใจว่าไม่มีข้อมูลที่ไม่ถูกต้องถูกเพิ่มเข้าไป
ตรรกะทางธุรกิจมักเปลี่ยนแปลง ตัวอย่างเช่น ชุดรูปแบบที่อยู่ที่เป็นไปได้อาจเปลี่ยนแปลงไปเมื่อผู้ค้าปลีกออนไลน์เริ่มจัดส่งสินค้าไปยังประเทศใหม่ ดังนั้นจึงมักเป็นที่พึงปรารถนาที่จะทำให้โค้ดที่ใช้ตรรกะทางธุรกิจแยกออกจากกัน หรือมีการเชื่อมโยงแบบหลวมๆซึ่งจะทำให้การเปลี่ยนแปลงตรรกะทางธุรกิจมีแนวโน้มที่จะต้องการการเปลี่ยนแปลงโค้ดเพียงเล็กน้อย ในส่วนเดียวของโค้ดเท่านั้น โค้ดที่อยู่ห่างกันแต่มีการเชื่อมโยงอย่างแน่นหนายังสร้างความเสี่ยงมากขึ้นที่โปรแกรมเมอร์จะทำการเปลี่ยนแปลงที่จำเป็นเพียงบางส่วนและพลาดส่วนใดส่วนหนึ่งของระบบ ทำให้เกิดการทำงานที่ไม่ถูกต้อง[ 4 ]
สถาปัตยกรรมแบบหลายระดับ (Multitier architecture)ทำให้การแยกส่วนนี้เป็นรูปธรรมมากขึ้น โดยการสร้างเลเยอร์ตรรกะทางธุรกิจ (Business logic layer)ซึ่งแยกออกจากระดับหรือเลเยอร์อื่นๆ เช่นเลเยอร์การเข้าถึงข้อมูล (Data access layer)หรือเลเยอร์บริการ (Service layer ) แต่ละเลเยอร์จะ "รู้" เพียงข้อมูลขั้นต่ำเกี่ยวกับโค้ดในเลเยอร์อื่นๆ เพียงพอที่จะทำงานที่จำเป็นให้สำเร็จ ตัวอย่างเช่น ใน รูปแบบ โมเดล-วิว-คอนโทรลเลอร์ (Model-View-Controller)เลเยอร์คอนโทรลเลอร์และวิวอาจถูกทำให้มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ โดยมีตรรกะทางธุรกิจทั้งหมดรวมอยู่ที่โมเดล ในตัวอย่างอีคอมเมิร์ซ คอนโทรลเลอร์จะกำหนดลำดับของหน้าเว็บในขั้นตอนการชำระเงิน และยังรับผิดชอบในการตรวจสอบว่าข้อมูลอีเมล ที่อยู่ และการชำระเงินเป็นไปตามกฎทางธุรกิจ (แทนที่จะปล่อยให้เป็นหน้าที่ของฐานข้อมูลเองหรือโค้ดการเข้าถึงฐานข้อมูลระดับล่าง)
รูปแบบทางเลือกอื่นๆ ก็เป็นไปได้เช่นกัน ตัวอย่างเช่น สำหรับเอนทิตีทางธุรกิจที่ค่อนข้างเรียบง่าย มุมมองและตัวควบคุมทั่วไปสามารถเข้าถึงอ็อบเจ็กต์ในฐานข้อมูล ซึ่งตัวมันเองนั้นมีตรรกะทางธุรกิจที่เกี่ยวข้องทั้งหมดเกี่ยวกับรูปแบบที่ยอมรับได้และการเปลี่ยนแปลงที่เป็นไปได้ (เรียกว่าแบบจำลองฐานข้อมูล )
โครงสร้างแบบหลายระดับบางแบบใช้เลเยอร์แอปพลิเคชันหรือเลเยอร์บริการ ที่แยกต่างหาก หรือพิจารณาว่าเลเยอร์ตรรกะทางธุรกิจเป็นสิ่งเดียวกันกับเลเยอร์ใดเลเยอร์หนึ่งในสองเลเยอร์นั้น
เครื่องมือและเทคนิค
ตรรกะทางธุรกิจสามารถแยกออกมาจากโค้ดขั้นตอนโดยใช้ระบบการจัดการกฎทางธุรกิจ (BRMS) [ 5 ]
แนวทางการพัฒนาซอฟต์แวร์โดยใช้กฎทางธุรกิจ (Business Rules: BRMS ) ใช้ระบบ BRMS และบังคับใช้การแยกส่วนตรรกะทางธุรกิจออกจากโค้ดส่วนอื่นอย่างเข้มงวดระบบจัดการส่วนติดต่อผู้ใช้ (User Interface Management: UIMS)เป็นอีกเทคโนโลยีหนึ่งที่ใช้เพื่อบังคับใช้การแยกส่วนระหว่างตรรกะทางธุรกิจและโค้ดส่วนอื่นอย่างเข้มงวดปุ่มกดวิเศษ (Magic Pushbutton ) ถือเป็น "รูปแบบที่ไม่พึงประสงค์" (Anti-pattern): เทคนิคที่สร้างข้อจำกัดที่ไม่พึงประสงค์ซึ่งทำให้การเขียนโค้ดตรรกะทางธุรกิจในลักษณะที่บำรุงรักษาได้ง่ายทำได้ยาก
แบบจำลองโดเมนคือการแสดงข้อมูลเชิงนามธรรมของประเภทการจัดเก็บข้อมูลที่จำเป็นตามกฎทางธุรกิจ
ดูเพิ่มเติม
อ่านเพิ่มเติม
- Brett McLaughlin (มีนาคม 2002). "ตรรกะทางธุรกิจ ตอนที่ 1" . การสร้างแอปพลิเคชัน Java ระดับองค์กร เล่มที่ 1: สถาปัตยกรรม . O'Reilly and Associates. ISBN 0-596-00123-1.— แมคลาฟลินกล่าวถึงรูปแบบฟาซาดสำหรับการใช้งานเลเยอร์ธุรกิจของแอปพลิเคชัน
- Kathy Bohrer (พฤศจิกายน 1997). "มิดเดิลแวร์แยกตรรกะทางธุรกิจ" . Object Magazine . 7 (9). นิวยอร์ก สหรัฐอเมริกา: SIGS Publications, Inc.: 41– 46. ISSN 1055-3614 .
- Harumi Kuno; Mike Lemon; Alan Karp และ Dorothea Beringer (2001). "การสนทนา + อินเทอร์เฟซ = ตรรกะทางธุรกิจ". ใน F. Casati; D. Georgakopoulos และ M.-C. Shan (บรรณาธิการ). เทคโนโลยีสำหรับบริการอิเล็กทรอนิกส์: การประชุมเชิงปฏิบัติการนานาชาติครั้งที่สอง TES 2001 กรุงโรม ประเทศอิตาลี 14-15 กันยายน 2001 รายงานการประชุม . Lecture Notes in Computer Science. เล่มที่ 2193. Springer Berlin / Heidelberg. ISSN 0302-9743 .
- Volker Turau (2002). "กรอบการทำงานสำหรับการสร้างแอปพลิเคชันป้อนข้อมูลบนเว็บโดยอัตโนมัติโดยใช้ XML"รายงานการประชุมสัมมนา ACM ประจำปี 2002 เรื่องการประยุกต์ใช้คอมพิวเตอร์ ณ กรุงมาดริด ประเทศสเปน: แอปพลิเคชันบนเว็บและอีคอมเมิร์ซสำนักพิมพ์ ACM หน้า 1121–1126 . ISBN 1-58113-445-2.— Turau นำเสนอเฟรมเวิร์กแอปพลิเคชันที่พัฒนาขึ้นโดยใช้Java ServletsและJavaServer Pagesซึ่งช่วยให้สามารถแยกส่วนตรรกะทางธุรกิจและตรรกะการนำเสนอออกจากกันได้ ทำให้การพัฒนาแต่ละส่วนสามารถดำเนินไปพร้อมกันในเส้นทางที่ค่อนข้างเป็นอิสระแต่ทำงานร่วมกันได้
- Pau, L.-F. & Vervest, PHM (2003-12-08). "การจัดการกระบวนการทางธุรกิจบนเครือข่าย: การฝังตรรกะทางธุรกิจในเครือข่ายการสื่อสาร". รายงานชุดวิจัยด้านการจัดการของ ERIM. มหาวิทยาลัยอีราสมัส . hdl : 1765/1070 .
{{cite journal}}: อ้างอิงวารสารต้องใช้|journal=( ความช่วยเหลือ ) — Pau และ Vervest พัฒนาแนวทางสำหรับการฝังตรรกะทางธุรกิจลงในเครือข่ายการสื่อสารที่เป็นพื้นฐานของแอปพลิเคชันแบบกระจายที่มีผู้มีส่วน ร่วมหลายคน เพื่อเพิ่มประสิทธิภาพการจัดสรรทรัพยากรทางธุรกิจจากมุมมองของเครือข่าย
ลิงก์ภายนอก
- แนวทางปฏิบัติสำหรับชั้นธุรกิจ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ตรรกะทางธุรกิจ
ใน ซอฟต์แวร์ คอมพิวเตอร์ ตรรกะทางธุรกิจ หรือ ตรรกะโดเมน คือส่วนหนึ่งของโปรแกรมที่เข้ารหัส กฎทางธุรกิจ ในโลกแห่งความเป็นจริง ซึ่งกำหนดวิธี การสร้าง จัดเก็บ และเปลี่ยนแปลง...
ตรรกะทางธุรกิจและระดับ/ชั้นต่างๆ
ตรรกะทางธุรกิจสามารถอยู่ได้ทุกที่ในโปรแกรม ตัวอย่างเช่น เมื่อกำหนดรูปแบบที่อยู่แบบใดแบบหนึ่งแล้ว อาจมีการสร้างตารางฐานข้อมูลที่มีคอลัมน์ที่ตรงกับฟิลด์ที่ระบุไว้ในตรรกะทางธุรกิจ...
เครื่องมือและเทคนิค
ตรรกะทางธุรกิจสามารถแยกออกมาจากโค้ดขั้นตอนโดยใช้ ระบบการจัดการกฎทางธุรกิจ (BRMS) [ 5 ]
ดูเพิ่มเติม
แผนภูมิดราคอน ตรรกะการย้ายตำแหน่ง การสร้างแบบจำลองกระบวนการทางธุรกิจ ตัวควบคุมโมเดล-วิว-