ค่าของเครื่องมือเวิร์กโฟลว์คืออะไร? [ปิด]


22

ฉันยังใหม่ต่อการพัฒนาของ Workflow และฉันไม่คิดว่าฉันจะได้รับ "ภาพรวมขนาดใหญ่" หรือบางทีอาจจะพูดให้แตกต่างกันเครื่องมือเหล่านี้ไม่ได้ "คลิก" ในหัว

ดังนั้นดูเหมือนว่า บริษัท ต้องการสร้างแบบธุรกิจเพื่ออธิบายกระบวนการและในบางคนตัดสินใจว่าพวกเขาสามารถใช้เครื่องสถานะเช่นโปรแกรมเพื่อควบคุมกระบวนการจากเส้นและกล่องเช่นไดอะแกรม สิบปีต่อมาเครื่องมือเหล่านี้มีขนาดใหญ่และซับซ้อนมาก (บริษัท ของฉันกำลังเล่นกับ WebSphere และฉันได้เข้าร่วมการฝึกอบรมเป็นสัตว์ประหลาดแม้กระทั่งเครื่องมือเวิร์กโฟลว์รุ่นที่เรียกว่า "minimalist" เช่น Activiti มีขนาดใหญ่และซับซ้อนแม้ว่าจะไม่ซับซ้อนเท่ากับสัตว์ร้ายที่เป็นของ WebSphere)

อะไรเป็นประโยชน์อย่างมากในการทำเช่นนี้? ฉันสามารถเข้าใจไดอะแกรมเส้นและกล่องอย่างง่ายที่มีประโยชน์ แต่สิ่งเหล่านี้เท่าที่ฉันสามารถบอกได้ว่าเป็นภาษาการเขียนโปรแกรมแบบเห็นภาพ ณ จุดนี้พร้อมเงื่อนไขและลูป โปรแกรมเมอร์ที่นี่ดูเหมือนจะทำงานเป็นจำนวนมากในไลน์และเลเยอร์กล่องซึ่งสำหรับฉันแล้วดูเหมือนว่าจะเป็นภาษาการเขียนโปรแกรมเชิงภาพขั้นพื้นฐานจริงๆ

หากคุณกำลังจะไปที่ไกลทำไมไม่ใช้ภาษาสคริปต์บางอย่าง? มีคนขว้างลูกน้อยออกไปด้วยการอาบน้ำหรือเปล่า? เส้นและกล่องถูกนำไปสู่ระดับที่ไร้สาระหรือฉันแค่ไม่เข้าใจคุณค่าทั้งหมดนี้หรือไม่?

ฉันต้องการเห็นข้อโต้แย้งในการป้องกันเรื่องนี้โดยคนที่ทำงานกับเทคโนโลยีนี้และเข้าใจว่าทำไมมันถึงมีประโยชน์ ฉันไม่เห็นคุณค่าของมัน แต่ฉันรู้ว่าฉันใหม่กับสิ่งนี้เช่นกันและอาจยังไม่ได้รับมัน


1
"เครื่องมือเวิร์กโฟลว์" ไม่มีอะไรนอกจาก "เครื่องมือการเขียนโปรแกรมแบบเห็นภาพ" และฉันคิดว่าโพสต์บล็อกนี้บอกพอ: blog.davor.se/blog/2012/09/09/Visual-programming
Doc Brown

1
เครื่องมือเวิร์กโฟลว์ Nope เป็นเครื่องมือในการเปลี่ยนกระดาษและวิธีการทำงานของผู้คนในรูปแบบมาตรฐาน นึกถึงโรงพยาบาลคงไม่ดีถ้าเอกสารทางการทั้งหมดผ่านเส้นทางที่เท่าเทียมกันโดยไม่มีใครชอบเอกสารเส้นทาง X หรือพูด / พูดโทรศัพท์โดยตรงเกี่ยวกับงานที่ได้มาตรฐานมักเป็นข้อกำหนดทางกฎหมาย
user613326

@ user613326: โดยสุจริตคุณควรอ่านคำถามอีกครั้ง มันเกี่ยวข้องตรงกับสิ่งที่ผมเขียน - เครื่องมือเวิร์กโฟลว์เพื่อควบคุมและดำเนินการขั้นตอนการทำงานไม่เพียง แต่สำหรับการสร้างแบบจำลองพวกเขา ฉันไม่ปฏิเสธประโยชน์ของการสร้างแบบจำลองเวิร์กโฟลว์ (โดยเฉพาะในรูปแบบอิเล็กทรอนิกส์แทนที่จะใช้ดินสอและกระดาษ) หรือทำให้เป็นมาตรฐาน แต่เมื่อเริ่มใช้เครื่องมือสำหรับ "การเขียนโปรแกรมเชิงภาพ" ฉันไม่คาดหวังผลลัพธ์ที่ดีกว่าดังที่อธิบายไว้ข้างต้น บล็อก
Doc Brown

คำตอบ:


8

จากมุมมองของนักพัฒนาคุณมีสิทธิ์พูดได้ว่าสภาพแวดล้อม "ภาพ" เหล่านี้ยากที่จะทำงานด้วย ขั้นตอนการทำงานของ SharePoint 2010 ที่ฉันใช้นั้นได้นำเสนอแนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับการสร้างซอฟต์แวร์องค์กรที่ดี - ไม่มีการทดสอบอัตโนมัติไม่มีการใช้รหัสซ้ำซอฟต์แวร์ที่อ่านไม่ได้ ... สิ่งใดที่ซับซ้อนกว่าเทมเพลตที่ล้าสมัย ในขณะที่คุณกำลังประสบ

แต่จากมุมมองของธุรกิจเวิร์กโฟลว์มีประโยชน์อย่างมากในทางทฤษฎี หากต้องการอ้างอิงจากเอกสารทางเทคนิคนี้ประสิทธิภาพความรับผิดชอบการควบคุมและความสะดวกในการใช้เวิร์กโฟลว์อัตโนมัติจะช่วยเพิ่มประสิทธิภาพการผลิตได้อย่างมาก ลองนึกภาพว่ากระบวนการอนุมัติหรือการขึ้นเครื่องบินแบบไม่มีประสิทธิภาพจะมีประสิทธิภาพมากน้อยเพียงใดหากไม่มีระบบอัตโนมัตินี้ นอกจากนี้การกำหนดเวิร์กโฟลว์นั้นมีคุณค่าสำหรับองค์กรที่พยายามควบคุมกระบวนการทางธุรกิจ

สถานะปัจจุบันของซอฟต์แวร์เวิร์กโฟลว์ไม่ใช่ความผิดของธุรกิจ พวกเขาแค่ต้องการทำให้ชีวิตของพวกเขาง่ายขึ้นและขั้นตอนการทำงานก็ยอดเยี่ยมสำหรับสิ่งนั้น ฉันจะโทษพวกเราส่วนใหญ่แผนกไอที:

  1. สำหรับธุรกิจที่ไม่โปร่งใสมากขึ้นเกี่ยวกับความซับซ้อนและความเปราะบางของระบบ เราซ่อนความซับซ้อนทั้งหมด
  2. สำหรับการไม่สามารถ "เกาของเรา" ด้วยโซลูชันเวิร์กโฟลว์ที่ใช้งานง่ายและใช้งานง่าย นี่อาจเป็นการพูดจาโผงผางกับแพ็คเกจองค์กรขนาดใหญ่อย่าง SharePoint และ SAP แต่ก็ดีกว่าโซลูชันที่กำหนดเอง

2
การเชื่อมโยงยังคงมีอยู่ - ไม่มีโอกาสที่จะเห็นว่ากระดาษขาวมีประสบการณ์ในโลกแห่งความเป็นจริงเมื่อทรัพยากรขาดหายไป
Doc Brown

7

มีเพียงคนเดียวที่ได้รับประโยชน์จริง ๆ ขนาดใหญ่ของมันคือ การแยกความกังวลเกี่ยวกับ

ดังนั้นแทนที่จะตรรกะกระบวนการประมวลผลถูกฝังอยู่ในระบบของเรามันจะกลายเป็นและการกำหนดค่าภายนอก แผนที่โดยทั่วไป คุณสามารถเปลี่ยนได้ (มากขึ้น) โดยอิสระคุณสามารถมีหลายกระบวนการหลายรุ่นของกระบวนการหลายรุ่นหลายกระบวนการที่ทำงานในเวลาเดียวกันและนั่นคือทั้งหมดที่ออกจากกล่องในทางออกที่ดี


ในอดีตแนวคิดของ SoC ได้รับรางวัลหลายครั้ง - เริ่มต้นจากหลักการ Unix "ทำสิ่งหนึ่ง แต่ทำดี" และถูกนำมาใช้อีกครั้งและอีกครั้ง - เช่นมีส่วนประกอบเซิร์ฟเวอร์เฉพาะเช่น ESB, ระบบการคงอยู่ที่แตกต่างกัน การตรวจสอบเช่นแยก CSS จาก HTML เป็นต้น

กระบวนการทางธุรกิจของคุณและกฎการไหลนั้นมักจะมีความสัมพันธ์กับข้อมูลของคุณ UI "หน้าจอ" หรือ "ลำดับชั้น" ของผู้ใช้ ดังนั้นจึงเหมาะสมอย่างยิ่งที่จะพัฒนาและเปลี่ยนแปลงแยกจากด้านอื่น ๆ ของระบบ นั่นคือหลักฐานที่BPMปรากฏในต้นปี 1990

ตั้งแต่นั้นมาเครื่องมือและภาษาจำนวนมากถูกสร้างขึ้นเพื่อรองรับแนวคิดนี้โดยที่รู้จักกันดีว่าBPMN - ภาษากราฟิกสำหรับการสร้าง "ผังงาน" ที่แมปกับกระบวนการโดยตรง ในขณะที่คนบ่นว่าใหญ่และเทอะทะ (มีมากกว่า 100 สัญลักษณ์ในคำศัพท์) และสนับสนุนวิธีการที่ทันสมัยเช่นS-BPM (มีเพียง 5 สัญลักษณ์ฐาน) การปฏิบัติในอุตสาหกรรมปัจจุบันคือการติดกับ BPMN หรืออนุพันธ์ย่อยหรือพี่น้อง

คุณไม่พอใจกับ BPMN:

โปรแกรมเมอร์ที่นี่ดูเหมือนจะทำงานเป็นจำนวนมากในไลน์และเลเยอร์กล่องซึ่งสำหรับฉันแล้วดูเหมือนว่าจะเป็นภาษาการเขียนโปรแกรมเชิงภาพขั้นพื้นฐานจริงๆ

แต่มันก็ไม่ได้แย่ขนาดนั้น) มีทฤษฎีอยู่เบื้องหลัง และเวอร์ชัน 2.0 ใช้ข้อมูลเชิงลึกที่ดีจากข้อบกพร่อง 1.0

หากคุณกำลังจะไปที่ไกลทำไมไม่ใช้ภาษาสคริปต์บางอย่าง?

กระบวนทัศน์ที่ไม่จำเป็นและภาษาสคริปต์ไม่ใช่คำตอบที่ดีที่สุดเสมอไป ดังที่คุณเห็นในภาษาที่ประกาศ (เช่น HTML, CSS, SQL, Drools หรือภาษาภายในของ Nginx, Graddle และ Maven, หุ่นเชิด ฯลฯ ) โค้ดผลลัพธ์อาจเล็กกว่าและสะอาดกว่าเวอร์ชั่นที่เขียนด้วยภาษาที่เหมาะสม เช่น Java หรือ C ++ "

สำหรับประเด็นอื่น ๆ ของคุณ:

เท่าที่ฉันสามารถบอกได้ว่าเป็นภาษาการเขียนโปรแกรมด้วยภาพ ณ จุดนี้พร้อมเงื่อนไขและลูป

คุณดูเหตุการณ์และทริกเกอร์หรือไม่ BPMN เป็นภาษาและคุณต้องเรียนรู้ก่อนใช้หรืออย่างน้อยก็ทำความคุ้นเคยกับมัน

ภายใต้ประทุน BPMN คือ XML ดังนั้นคุณจึงสามารถแก้ไขได้ด้วยตัวเองหรือสร้าง และคุณสามารถควบคุมเวอร์ชันได้เนื่องจาก XML เป็นแบบข้อความ อย่างไรก็ตามเพียงแค่มี XML ที่สามารถแปลเป็นผังงานไม่ได้ดูเหมือนว่า goona จะช่วยคุณได้และถูกต้องการเขียน parser หรือเครื่องมือแก้ไขของคุณเองเป็นงานที่ยากและมีราคาแพงพร้อมผลประโยชน์ที่น่าสงสัย

โชคดีที่มีเครื่องมือในตลาดอยู่แล้วซึ่งน่าสนใจมาก


Activitiนั้นฟรีและเป็นที่นิยมในหมู่นักพัฒนาและเจ้าของธุรกิจเนื่องจากราคาเริ่มต้น ( ศูนย์ ) ความพร้อมใช้งานของข้อมูลและความอ่อนน้อมถ่อมตน จุดสุดท้ายนั้นไม่เหมือนใครจริงๆเพราะ Activi ให้ความสำคัญกับการจัดการกระบวนการทางธุรกิจของคุณเท่านั้นโดยไม่ต้องพยายามผูกมัดคุณกับโซลูชันทั้งหมด นอกจากนี้ยังเป็นแบบเปิด - ดังนั้นคุณต้องรู้จัก Java และ REST เพื่อให้ทำงานได้ ข้อเสียคือฝั่งไคลเอ็นต์การรวมและตรรกะของแอปพลิเคชั่น / ธุรกิจและสถาปัตยกรรมทั้งหมดนั้นเป็นของนักพัฒนาดังนั้นหากทีมพัฒนาของคุณอ่อนแอ - เตรียมความพร้อมสำหรับความล้มเหลว ค่าใช้จ่ายโดยรวมในการเป็นเจ้าของสามารถสูงอย่างน่าประหลาดใจสำหรับเครื่องมือฟรี ;)

อีกด้านหนึ่งของสเปกตรัมคือPega (Pega PRPC) ราชาแห่งระบบ BPM (ตาม Gartner และ Forester) ซึ่งดูดีอย่างน่าประหลาดใจสำหรับอายุของมัน พฤติกรรมนี้และครัวอ่างล้างจานยังสามารถ CRM, OCR และ (ถ้าฉันไม่เข้าใจผิด) ความสามารถในการรู้จำเสียงพูด, การวิเคราะห์การทำนายการจัดการกฎธุรกิจและตัวแก้ไข UI WYSIWYG มันมาพร้อมกับป้ายราคาร้ายแรง ไม่เพียง แต่จะเสียค่าใช้จ่ายมหาศาลเท่านั้น แต่การพัฒนาทั้งหมดกำลังดำเนินการภายในเว็บแอพซึ่งหมายความว่าคุณต้องใช้เบราว์เซอร์ซึ่งก็คือ IE8 (รวมถึงปลั๊กอินบางตัวและแฮ็กที่น่าเกลียดเช่นใช้ Excel เพื่อแก้ไขตารางข้อมูล) นอกจากนี้ยังมีการแก้ไข Java, Javascript หรือ HTML / CSS ด้วยเว็บเบราว์เซอร์ดังนั้นบอกลาการทดสอบหน่วยการเน้นโค้ด IDE การปรับโครงสร้างใหม่และของเล่นการเขียนโปรแกรมทั้งหมดที่คุณชอบ

ด้านที่ดีของมัน คุณสามารถติดตั้งระบบที่ซับซ้อนได้ภายใน [ PDF , ดูหน้า 22] และใช่ไม่รับประกันผลลัพธ์

ไอบีเอ็มมีบ้างเมื่อเร็ว ๆ นี้ (accoring ก้าวเวลาองค์กร) ได้ซื้อ Lombardi และขณะนี้นำเสนอวิธีการแก้ปัญหาการแข่งขันสูงมาก ( แต่แล้วคุณจะต้องซื้อทุกอย่าง IBM , you'know) Appianเป็นผู้ค้ารายใหม่ที่มีข้อมูลเชิงลึกที่น่าสนใจและข้อเสนอแนะในเชิงบวก แต่วิธีที่พวกเขาเขียน (สองภาษา DSL เพิ่มเติมนอกเหนือจากที่มองเห็น) เพียงแค่ไม่ดึงดูดฉัน

มีผู้เล่นคนอื่นและวิธีแก้ปัญหาของพวกเขา ส่วนใหญ่เป็นธรรมดาที่น่ากลัว เช่น - ดวงตาสมองและหัวใจของคุณจะมีเลือดออกอย่างแท้จริงเมื่อคุณมองไปที่พวกเขา ดังนั้นเชื่อมั่นในความกล้าหาญของคุณและอย่าทำให้ผู้พัฒนาและผู้ใช้เกลียดคุณ


หมายเหตุปิด:

ระบบ BPM นั้นเหมือนกันสำหรับกระบวนการต่าง ๆ Photoshop สำหรับรูปภาพ อย่ากลัวที่จะมองเห็น อย่าทำให้งานไม่เหมาะกับมัน (จำเว็บไซต์ที่สร้างขึ้นทั้งหมดใน Photoshop ซึ่งถัดจากการแก้ไขเป็นไปไม่ได้?) ทำให้มันง่ายและไม่สร้างข้อบกพร่อง;)


3

หลายปีที่ผ่านมาก่อนที่พวกเราส่วนใหญ่จะเกิดนักพัฒนาซอฟต์แวร์จะต้องเขียนรหัสของตัวเองเพื่อเก็บข้อมูล หากคุณต้องการบันทึกสถานะของโปรแกรมก็ถือว่าเป็นส่วนหนึ่งของฟังก์ชั่นของรหัสนักพัฒนาซอฟต์แวร์จำนวนมากจึงเขียนโค้ดเพื่อจัดการข้อมูลและบันทึกและอ่านและอื่น ๆ

แล้วบางคนก็รู้ว่านี่เป็นสิ่งที่เกิดขึ้นมากมาย - นั่นคือตรรกะในการบันทึก, จัดระเบียบ, อ่านและค้นหาข้อมูลเป็นส่วนประกอบที่ใช้กันทั่วไปซึ่งควรเป็นส่วนประกอบของตัวเอง และเราได้ฐานข้อมูล

ในช่วง 10 ถึง 15 ปีที่ผ่านมาแผนกไอทีได้ตระหนักว่าตรรกะในการออกแบบท่าเต้นและ / หรือกระบวนการทางธุรกิจเป็นเรื่องปกติที่ควรเป็นส่วนประกอบของตัวเองซึ่งนำไปสู่เครื่องมือเวิร์กโฟลว์ที่หลากหลายทุกประเภท

ประโยชน์หลัก 3 ประการของเครื่องมือเวิร์กโฟลว์คือ:

  1. เวลาที่ต้องใช้ในการสร้างและปรับใช้การเปลี่ยนแปลง : คุณสามารถพัฒนาและเปลี่ยนแปลงตรรกะของเวิร์กโฟลว์ได้โดยไม่ต้องเสี่ยงด้านเทคนิคแบบเดียวกับที่คุณมีเมื่อเปลี่ยนชิ้นส่วนของรหัส
  2. ความโปร่งใส : นักวิเคราะห์ธุรกิจสามารถใช้ตรรกะทางธุรกิจในระบบที่ใช้ BPM ได้ทันทีในขณะที่นักพัฒนาเท่านั้นที่จะสามารถอ่านตรรกะทางธุรกิจในระบบที่ใช้รหัสเป็นหลัก
  3. การใช้องค์ประกอบทางเทคนิคซ้ำ : เครื่องมือ BPM มักใช้ร่วมกับระบบที่มี Service Oriented Architecture โดยการแยกตรรกะทางธุรกิจออกจากส่วนประกอบทางเทคนิค - โดยเฉพาะอย่างยิ่งสำหรับระบบขององค์กรซึ่งต้องใช้กระบวนการทางธุรกิจที่แตกต่างกันหลายร้อยหรือหลายพัน - คุณสามารถนำองค์ประกอบทางเทคนิคมาใช้ซ้ำได้ในขณะที่ใช้เวลาค่อนข้างน้อยในการพัฒนาตรรกะทางธุรกิจ เครื่องมือ).

อย่างไรก็ตามหนึ่งในปัญหาที่พบบ่อยที่สุดที่ฉันพบเมื่อใช้งานเวิร์กโฟลว์และการใช้เครื่องมือ BPM คือนักพัฒนายังคงพยายาม "ฝัง" ตรรกะทางธุรกิจในโค้ดที่ไม่โปร่งใส

สิ่งที่ฉันเห็นอยู่ตลอดเวลาคือนักพัฒนาซอฟต์แวร์ยังคงพยายามเพิ่มตรรกะทางธุรกิจด้วยวิธีการทางเทคนิคที่เป็นไปได้แทนวิธีที่โปร่งใสที่สุด นี่เป็นเรื่องธรรมดาเนื่องจากนักพัฒนามักจะสะดวกสบายกับโค้ดมากกว่าด้วยเครื่องมือเวิร์กโฟลว์ นอกจากนี้ยิ่งคุณเก็บเหตุผลในทางเทคนิคมากเท่าไหร่คุณก็ยิ่งต้องการนักพัฒนามากขึ้นเท่านั้น น่าเสียดายนี่คือสิ่งที่แย่ที่สุดที่นักพัฒนาสามารถทำกับระบบ BPM เพราะเขาหรือเธอกำลังตัดประโยชน์หลักของการใช้ BPM

สุดท้ายเครื่องมือ BPM ส่วนใหญ่ยังไม่เพียงพอที่นักวิเคราะห์ธุรกิจสามารถพัฒนาเวิร์กโฟลว์ได้ด้วยตนเองอย่างไรก็ตามนั่นคือเป้าหมายที่ตั้งไว้ ในอุดมคติแล้วนักวิเคราะห์ธุรกิจจะพัฒนาไดอะแกรมเวิร์กโฟลว์ / กระบวนการทางธุรกิจและนักพัฒนาจะทำงานเฉพาะในองค์ประกอบทางเทคนิคที่เรียกโดยเอ็นจินเวิร์กโฟลว์


1
ขอบคุณสำหรับการตอบกลับของคุณ. ดังนั้น, มีเครื่องมือเวิร์กโฟลว์พื้นฐานอยู่รอบ ๆ กราฟโดยตรง, และมีเครื่องมือเวิร์กโฟลว์ที่ซับซ้อน, ซึ่งเป็นตัวแทนภาพของภาษาทัวริงที่สมบูรณ์แบบ สิ่งที่ฉันไม่เข้าใจคือถ้าคุณต้องการภาษาการเขียนโปรแกรมทัวริงที่สมบูรณ์ ... ทำไมไม่ลองด้วยภาษาการเขียนโปรแกรมที่ใช้งานทั่วไปอย่างแท้จริง? หากคุณใช้ลูปและเงื่อนไขทำไมคุณไม่ทำอย่างนั้นในการพูดว่า ... Python?
user16549

2
เนื่องจากการแสดงภาพของภาษาโปรแกรมทัวริงที่สมบูรณ์สามารถเข้าถึงได้โดยผู้ชมกลุ่มใหญ่กว่านักพัฒนาซึ่งหมายความว่า บริษัท ที่ใช้เครื่องมือเหล่านี้จะต้องจ้างนักพัฒนาสำหรับส่วนประกอบทางเทคนิคเท่านั้นและสามารถให้ผู้เชี่ยวชาญด้านโดเมนทำหน้าที่ส่วนที่เหลือ อีกทั้งการแสดงออกด้วยภาพนั้นโปร่งใสทันทีซึ่งแตกต่างจากรหัสใด ๆ
มาร์โค

คุณได้พิจารณาแล้วว่าเหตุผลที่แท้จริงสำหรับนักพัฒนาที่ใช้ตรรกะทางธุรกิจในรหัสแทนที่จะเป็น "เส้นและกล่อง" ไม่ใช่เพราะ "นักพัฒนารู้สึกสะดวกสบายในรหัส" แต่เครื่องมือเวิร์กโฟลว์กราฟิกที่มีอยู่ส่วนใหญ่ไม่เหมาะสำหรับการอธิบายโลกแห่งความจริง เวิร์กโฟลว์ในลักษณะที่ปฏิบัติได้ (ซึ่งหมายความว่ามีข้อยกเว้นทั้งหมดการจัดการความล้มเหลวการจัดการความล้มเหลวบางส่วนการสร้างภาพสถานะข้อกำหนดที่ไม่สามารถใช้งานได้และอื่น ๆ )?
Doc Brown

@DocBrown เครื่องมือทั้งหมดในเวิร์กโฟลว์คือการหลีกเลี่ยงสถานการณ์ที่นักพัฒนาใช้ตรรกะทางธุรกิจ ตามหลักการแล้วผู้พัฒนาระบบจะใช้เวลาในการปรับใช้องค์ประกอบด้านเทคนิคและให้นักวิเคราะห์ธุรกิจ (ด้วยความช่วยเหลือจากเครื่องมือเวิร์กโฟลว์) พัฒนาและบำรุงรักษาส่วนประกอบทางตรรกะทางธุรกิจ
Marco

@Marco: ข้อสรุปที่ฉันได้จากสิ่งที่คุณเขียนคือเครื่องมืออยู่ไกลจากการตอบสนองความคาดหวังมิฉะนั้นนักพัฒนาจะไม่ได้รับมอบหมายให้พัฒนาตรรกะกระบวนการทำงาน
Doc Brown

1

ข้อความด้านล่างคือประสบการณ์ส่วนตัวของฉันในการใช้เครื่องมือเวิร์กโฟลว์โดยเฉพาะ Oracle BPM Suite (10.3G & 11G) ก่อนอื่นต้องระบุคำถามของคุณคือการมุ่งเน้นไปที่เครื่องมือเวิร์กโฟลว์ซึ่งเปิดใช้งานการสร้างแบบจำลองกระบวนการแบบปฏิบัติการได้เครื่องมือเหล่านี้เป็นส่วนหนึ่งของระบบการจัดการกระบวนการทางธุรกิจ (BPMS) การสร้างแบบจำลองกระบวนการเฉพาะนี้มีการพัฒนาอย่างแน่นอนและคุณสามารถอ้างถึงเป็นภาษาการเขียนโปรแกรมด้วยภาพ

ประโยชน์หลักคือความคล่องตัวในการทำความเข้าใจและการเปลี่ยนแปลงตรรกะกระบวนการ

ด้วยแบบจำลองกระบวนการทางธุรกิจคุณครอบคลุมการอธิบายภาพของตรรกะกระบวนการและในเวลาเดียวกันก็เป็นส่วนประกอบแบบบูรณาการที่ปฏิบัติการได้ สิ่งนี้จะช่วยให้โปรแกรมเมอร์ทั้งในและนอกสำนักงานเร็วขึ้นเนื่องจากเอกสารน้อยกว่าเกี่ยวกับการเปลี่ยนเงื่อนไข (เกตเวย์หรือกฎธุรกิจ) และการไหลของกระบวนการโดยทั่วไปจะต้องมีการบันทึกไว้เนื่องจากเป็นส่วนหนึ่งของการพัฒนา

นอกจากนี้คุณได้แนบความสามารถในการรายงาน / ตรวจสอบสิ่งที่คุณจะต้องพัฒนาเป็นรายบุคคลสำหรับแต่ละแอปพลิเคชันซึ่งครอบคลุมโดย BPMS ส่วนใหญ่

นอกจากนี้ในอะแดปเตอร์บริการสภาพแวดล้อมการพัฒนา BPM ส่วนใหญ่จะสร้างไว้ล่วงหน้า (เช่น JMS, บริการเว็บ, JDBC เป็นต้น) ช่วยให้สามารถพัฒนาโซลูชั่นมิดเดิลแวร์ได้เร็วขึ้นในขั้นตอนทีละขั้นตอน

การติดตามแพลตฟอร์มเวิร์กโฟลว์จะได้รับประโยชน์มากมายดังกล่าวข้างต้น - วิธีการที่ใช้แพลตฟอร์มสำหรับการทำงานอัตโนมัติของเวิร์กโฟลว์


0

มูลค่า

คุณค่าของข้อเสนอคือสามารถสร้างหรือแก้ไขเวิร์กโฟลว์ได้อย่างรวดเร็วและง่ายดายเพื่อให้เหมาะกับลักษณะการเปลี่ยนแปลงของธุรกิจ ส่วนสำคัญของการตระหนักถึงคุณค่าของข้อเสนอนี้คือกระบวนการทางธุรกิจเป็นหน่วยของทรัพยากรในระบบ

เวิร์กโฟลว์เป็นหน่วยของทรัพยากรหมายความว่ากระบวนการทางธุรกิจถูกกำหนดให้เป็น 'หน่วย' เดียว เพื่อให้เข้าใจสิ่งที่ฉันหมายถึงโดยสิ่งนี้พิจารณาโปรแกรมคอมพิวเตอร์ใด ๆ ที่เขียนขึ้นสำหรับธุรกิจ มันใช้กระบวนการทางธุรกิจอย่างแน่นอน แต่ตรรกะสำหรับกระบวนการนั้นมีแนวโน้มที่จะแพร่กระจายไปรอบ ๆ ซอร์สโค้ดในระดับหนึ่ง เครื่องมือเวิร์กโฟลว์ควรอนุญาตให้กระบวนการถูกกำหนดไว้ในที่เดียวที่มีอยู่ อาจอยู่ในไฟล์กำหนดค่าเดียวไฟล์เดียวหรือแยกออกมาจากไดอะแกรมภาพเดียวหรืออาจหมายความว่าเวิร์กโฟลว์อยู่ในโมดูลรหัสเดียวที่สามารถเสียบเข้าด้วยกันหรือแม้กระทั่งสลับหรือกำหนดค่าได้ทันที

เหตุใดจึงไม่อาจตระหนักถึงคุณค่า

คุณค่าของข้อเสนอนี้สามารถถูกทำลายได้โดยความยากลำบากในการครอบคลุมกรณีที่ไม่ใช่วานิลลารวมกับเทคโนโลยี UI ที่เปลี่ยนแปลงอย่างรวดเร็วมากการปฏิบัติที่ไม่ดีเช่นการใช้เครื่องมือเวิร์กโฟลว์เป็นเสื้อคลุมเท่านั้นและวางตรรกะจริงในรหัสต่อไป

การออกแบบเครื่องมือที่ไม่ดีเองอาจเป็นปัจจัย จำกัด ตัวอย่างจะเป็นเครื่องมือที่ต้องใช้พารามิเตอร์ทั้งหมดที่ผ่านระหว่างกระบวนการให้อยู่ใน Java Map โดยมีข้อ จำกัด เกี่ยวกับค่าที่คุณสามารถวางบนแผนที่ได้จริงแทนที่จะเป็นพารามิเตอร์วิธีเก่าแบบธรรมดา (ฉันคิดถึงอีกหนึ่ง เครื่องมือยอดนิยมโดยเฉพาะที่ทำสิ่งนี้)

ฉันคิดว่ามันยุติธรรมที่จะพูดว่า IBM ในฐานะผู้เล่นรายใหญ่ที่มีระบบนิเวศเทคโนโลยีขนาดใหญ่ซึ่งดีกว่างานอื่น ๆ หากพวกเขายังควบคุมเทคโนโลยี UI และฐานข้อมูลและเทคโนโลยี SOA ที่ใช้ร่วมกับเครื่องมือเวิร์กโฟลว์พวกเขาจะมีโอกาสที่ดีขึ้นในการสร้างระบบนิเวศที่รวมเข้าด้วยกันเป็นอย่างดีและสร้างโอกาสที่จะใช้ประโยชน์จาก ความคิดนี้

เป็นความจริงอย่างแน่นอนว่าความพยายามในการเขียนการเชื่อมต่อระหว่างเครื่องมือเวิร์กโฟลว์และส่วนอื่น ๆ ของระบบสามารถปฏิเสธข้อเสนอทั้งหมดได้อย่างสมบูรณ์ การพิจารณาว่ามีวิธีที่ดีกว่าในการทำสิ่งต่างๆ

การเขียนโปรแกรมคือเวิร์กโฟลว์

ความจริงก็คือการเขียนโปรแกรม (ในภาษาที่จำเป็นอย่างน้อย) จะทำงานอยู่แล้ว คุณอาจมีรหัสที่ใช้เวิร์กโฟลว์ซึ่งเกี่ยวข้องกับการจัดการเทคโนโลยีระบบ การเข้าถึงไฟล์และเรียกใช้แบบสอบถาม SQL และอื่น ๆ คุณอาจมีรหัสที่ใช้กระบวนการทางธุรกิจ การตั้งค่าสถานะของเอกสารและส่งผ่านไปยังผู้ตรวจทานเช่น

การรับรู้นี้และการออกแบบรหัสของคุณเพื่อแยกข้อกังวลที่แยกต่างหากเหล่านี้ออกจากกันนั้นยากที่จะดึงออกมาได้อย่างสมบูรณ์ แต่คุณสามารถทำสิ่งนั้นได้อย่างยาวนาน

ฉันเห็นด้วยกับคุณบางครั้งเราใช้เครื่องมือเหล่านี้เพราะมีคนอื่นคิดว่ามันเป็นความคิดที่ดีและพวกเขาก็ซับซ้อนเกินไปและทำให้งานของเรายากขึ้น ฉันไม่คิดว่าเป็นเช่นนั้นเสมอไปมันต้องมีการพิจารณาอย่างรอบคอบเพื่อตัดสินใจว่ามันคุ้มค่าหรือไม่


1
"ฉันไม่คิดว่าจะเป็นเช่นนั้นเสมอไป" - คุณสามารถสำรองข้อมูลนี้ด้วยประสบการณ์การใช้งานจริงได้ไหม? นั่นจะน่าสนใจ
Doc Brown

@DocBrown น่าเสียดายที่ไม่ใช่ ฉันเคยได้ยินคนอื่นอ้างว่าประสบความสำเร็จด้วยเครื่องมือเหล่านี้และการเปลี่ยนแปลงอย่างรวดเร็วของกระบวนการใหม่ ประสบการณ์ตรงเดียวที่ฉันมีจากพวกเขานั้นมีความพยายามอย่างมากใช้เวลานานและมหาศาลซึ่งทำให้ฉันสงสัยถึงคุณค่าของพวกเขาอย่างจริงจัง ฉันจะต่อต้านการตั้งชื่อผู้จำหน่ายเครื่องมือตั้งแต่ฉันเคยทำงานให้พวกเขา แต่ความรู้สึกของฉันคือความผิดพลาดจำนวนมากเกิดขึ้นกับตัวเครื่องมือเองและวิธีการเขียนโปรแกรมที่น่าอึดอัดใจมากขึ้น
user2800708

@DocBrown ฉันควรเพิ่มมันได้รับการแนะนำว่าเราใช้เครื่องมือดังกล่าวในโครงการทำงานปัจจุบันของฉัน ฉันกำลังพยายามพิจารณาว่ามันคุ้มค่าหรือไม่เมื่อเทียบกับการหมุนโค้ดของเราเอง บางสิ่งที่เบากว่าเครื่องมือขนาดใหญ่อาจคุ้มค่าที่จะสำรวจเท่านี้ฉันก็ไม่รู้ว่ามันจะเป็นยังไง
user2800708

@DocBrown น่าสังเกตว่าคำถามนี้มีความโปรดปรานที่ระบุว่า "กำลังมองหาคำตอบที่วาดจากแหล่งข้อมูลที่น่าเชื่อถือและ / หรือเป็นทางการ" ในแง่ของการนี้หมดจดคำตอบเก็งกำไรไม่ได้ดูประโยชน์อย่างยิ่ง (สงสัยสิ่งที่อาจจะเป็นเหตุผลที่จะลงคะแนนเสียงมันขึ้น)
ริ้น

-2

ไม่ชัดเจนว่าคุณใช้เครื่องมือใดอยู่ ฉันเดาว่าคุณอาจอ้างถึงชุดเครื่องมือทั่วไปที่เรียกว่าเครื่องมือสร้างแบบจำลองกระบวนการทางธุรกิจ มีเหตุผลที่ดีสำหรับการใช้เครื่องมือดังกล่าว ธุรกิจคุณภาพใด ๆ จะกำหนดหน้าที่ของตัวเองในแง่ของกระบวนการและนักวิเคราะห์เช่นเดียวกับผู้เชี่ยวชาญทางธุรกิจสามารถวาดกระบวนการดังกล่าวได้อย่างสะดวกสบาย (จนกว่าคุณจะผูกไว้กับมาตรฐาน ... ) คุณสามารถสร้างกระบวนการดังกล่าวในระดับความคิดโดยปราศจากความรู้เกี่ยวกับการเขียนโปรแกรมเว็บและหากคุณมีเครื่องมือที่เหมาะสมคุณอาจสามารถแปลงกระบวนการเป็นแอปพลิเคชั่นที่ใช้งานได้เช่นกัน (ผู้มีประสบการณ์ต้องเข้าร่วม แน่นอน). ดังนั้นความคิดที่ดี

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

มีวิธีมาตรฐานที่หลาย ๆ บริษัท ใช้ในปัจจุบันเรียกว่า BPMN 2.0 (สัญลักษณ์กระบวนการสร้างแบบจำลองกระบวนการทางธุรกิจ) ฉันขอแนะนำให้คุณทำความเข้าใจกับสัญลักษณ์นี้หากเครื่องมือของคุณใช้งานอยู่

บอดี้จัดการกระบวนการทางธุรกิจความรู้เป็นทรัพยากรที่มีชื่อเสียงที่คุณอาจต้องการที่จะต้องพิจารณาเช่นกัน

ข้างต้นครอบคลุมด้านธุรกิจ ด้านเทคนิคต้องการ SOA และ BPEL ฉันไม่แน่ใจว่าฉันสามารถให้คำแนะนำกับที่นี่และตอนนี้แม้ว่า


2
OP ถูกกล่าวขวัญเครื่องมือที่เขามีอยู่ในใจและผู้ที่ยังไม่ได้สร้างแบบจำลองหรือเครื่องมือการจำลอง ในความเป็นจริงเครื่องมือ BPM นั้นส่วนใหญ่จะใช้สำหรับ "การสร้างแบบธุรกิจเพื่ออธิบายกระบวนการ" และ OP จะเห็นคุณค่าในนั้น คำถามเกี่ยวกับเครื่องมือในการควบคุมกระบวนการเหล่านั้น
Doc Brown

@DocBrown ชี้แจงชื่นชม
NoChance

1
@doc Brown - เครื่องมือในการดำเนินการตามองค์ประกอบการควบคุมคำถามโดยใช้โมเดลและไดอะแกรมต่างๆเป็น "รหัส"! (มันใช้ได้ผลเช่นเดียวกับที่คุณคาดหวัง - ดังนั้นการฉีกขาดของเส้นผมและการกัดฟันจาก OP)
James Anderson

-2

ในตัวอย่างง่ายๆตามประวัติศาสตร์

ยุคหิน

ในตอนแรกคุณมี บริษัท เล็ก ๆ ที่มีคนบอกว่าต้องทำอะไรและพวกเขาก็ทำ บางครั้งสิ่งผิดปกติและ Person X หรือ Y ถูกตำหนิ (ไม่แน่ใจว่าใครเป็นคนทำ)

อินเทอร์เน็ตและอีเมลต่อไปถูกคิดค้น

ตอนนี้ผู้คนเขียนสิ่งที่ต้องทำและคนเหล่านั้นมักจะมีปัญหากับอีเมลของพวกเขาอ่านผิดหรือเพียงแค่ลบอีเมลโดยไม่ต้องอ่าน บ่อยครั้งที่สิ่งต่าง ๆ ที่ไม่ได้ตำหนิบนอีเมลที่ไม่ดี

เวิร์กโฟลว์วิวัฒนาการมาจากการบริหาร โดยการกำหนดมาตรฐานการกระทำในที่สุดผู้คนจะได้เห็นว่าขั้นตอนใดบ้างที่หยุดกระบวนการและในเวลาเดียวกัน สิ่งนี้ทำงานได้ดีจนกระทั่งคนต้องการเปลี่ยนกระบวนการมาตรฐานหรือจนกว่าจะมีคน XY บางคนที่ไม่ทราบสาเหตุทำให้เกิดการร้องขอฐานข้อมูลที่ไม่เหมาะสมทำให้ฐานข้อมูลเสียหายส่งการผลิตกลับไปสู่ยุคหิน


1
นี่เป็นเพียงความคิดเห็นของคุณหรือคุณสามารถสำรองข้อมูลได้ หมายเหตุคำถามในปัจจุบันมีการระบุว่า "มองหาคำตอบจากแหล่งข้อมูลที่น่าเชื่อถือและ / หรือเป็นทางการ"
ริ้น

มันขึ้นอยู่กับประวัติศาสตร์มันเป็นตัวอย่างที่จะเฮฮา แต่ทุกคนไม่เข้าใจกระบวนการทำงานและอารมณ์ขันด้วยกันฉันเห็น
user613326
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.