2009-12-22 40 views
7

व्यवसाय प्रक्रिया को लागू करने की बात आती है जब आप (डेवलपर के दृष्टिकोण से) क्या पसंद करते हैं?बीपीएमएस या सिर्फ सादा प्रोग्रामिंग?

एक बिजनेस प्रोसेस मैनेजमेंट सिस्टम (बीपीएमएस) या केवल आवश्यक टूल और ढांचे के साथ आपका पसंदीदा आईडीई (उदाहरण के लिए एक रिपोर्टिंग टूल)?

आपके व्यक्तिगत टूल और ढांचे के साथ आईडीई की तुलना में बीपीएमएस का सबसे बड़ा लाभ आपके दृष्टिकोण से क्या है?

ठीक है। शायद मुझे और अधिक विशिष्ट होना चाहिए ... मुझे एक विशिष्ट बीपीएमएस पता होना चाहिए जो नियमों को कॉन्फ़िगर करके व्यवसाय प्रक्रिया को कार्यान्वित करना आसान बनाना चाहिए। लेकिन मेरे लिए डेवलपर के रूप में सिस्टम के साथ काम करना मुश्किल है। मैं उन टेक्स्ट फाइलों के साथ काम करना चाहता हूं जिन्हें मैं रिफैक्टर कर सकता हूं और मैं जो नौकरी करना चाहता हूं उसके लिए सही तकनीक या ढांचा चुनने में सक्षम होना चाहता हूं। इसके बजाय सिस्टम मुझे कॉन्फ़िगर करने के लिए मजबूर करता है।

नियमों जहाँ मैं जावा का उपयोग कर सकते हैं, लेकिन फिर भी मैं IntelliSense आदि के बिना सिस्टम संपादक से चिपक है

तो यह मुझे मेरे ही सवाल का जवाब करने के लिए सुराग - मैं उपयोग करना चाहते हैं औजारों का उपयोग करने के बजाय मुझे बीपीएमएस (कम से कम एक जिसे मैं जानता हूं) के साथ काम करने के बजाय उपयोग किया जाता है क्योंकि इससे मुझे इससे मदद मिलती है। मुझे पता है कि बीपीएमएस एक ढांचा है जिससे बचाना मुश्किल है! इस समय, मैं किसी भी बीपीएमएस पर ग्रिल जैसे ढांचे को पसंद करूंगा।

तो शायद अधिक विशिष्ट प्रश्न यह है: क्या आप वही महसूस करते हैं या क्या बीपीएमएस हैं जो डेवलपर की मधुमक्खी में आपको समर्थन देते हैं और डेवलपर की तरह सोचते हैं या उनमें से अधिकतर आपको अपना काम अलग तरीके से करने के लिए मजबूर करते हैं?

+0

यह भी देखें http://stackoverflow.com/questions/214122/is-bpm-in-your-ind – rdmueller

उत्तर

7

सुनिश्चित नहीं है कि आप वास्तव में क्या पूछते हैं, लेकिन पसंद बीपीएम बनाम सादा प्रोग्रामिंग आवश्यकताओं पर निर्भर करेगा। एक "बिजनेस प्रोसेस" सॉफ्टवेयर इंजीनियरिंग में अपेक्षाकृत अस्पष्ट शब्द है। निर्णय/नियम सरल, जटिल अपनी प्रक्रिया में सन्निहित हैं, विन्यास, हार्ड-कोडेड -

  • नियम की जटिलता:

    यहाँ अपनी आवश्यकताओं का मूल्यांकन करने के लिए कुछ मानदंड हैं?

  • प्रक्रिया की अस्थिरता - आपकी प्रक्रिया कितनी बार बदलती है? परिवर्तन करने में सक्षम होना चाहिए कौन?
  • एकीकरण की आवश्यकता - क्या आपकी प्रक्रिया एकाधिक विषम सेवाओं का उपयोग करके महसूस हुई है, या सभी एक ही भाषा में लागू हैं?
  • तुल्यकालिक/asynchrounous - अपने प्रक्रिया अतुल्यकालिक क्रियाओं को संचालित करने की आवश्यकता के साथ "लंबे समय से चल" है?
  • मानवीय कार्यों - अपने प्रक्रिया कार्य सौंपा जा रहा है/उनकी भूमिकाओं/जिम्मेदारियों के अनुसार लोगों के लिए रूट के साथ, मानव बातचीत शामिल करता है?
  • प्रक्रिया की निगरानी - नियंत्रण आप मौजूदा प्रक्रिया उदाहरणों पर चाहते हैं के स्तर क्या है निष्पादित किया जा रहा? क्या आपको कार्यों, आदि का लेखा परीक्षा करने की आवश्यकता है?
  • त्रुटि हैंडलिंग - पिछले अंक पर निर्भर करता है, आप कैसे त्रुटियों के साथ सौदा, या दोषपूर्ण प्रक्रिया निष्पादन का पुन: प्रयास करने योजना बनाई है?

इन सवालों के जवाब के आधार पर, आप महसूस कर सकते हैं कि आपके प्रक्रिया में कुछ कार्यों और निर्णयों कि एक क्रम में क्रियान्वित किया जा सकता के साथ एक simple state चार्ट के करीब है, या आप महसूस कर सकते हैं कि आप अधिक सविस्तार कुछ चाहिए , और आप अपने आप को फिर से लागू नहीं करना चाहते हैं।

बीच सादा प्रोग्रामिंग और एक पूर्ण कलियाना बीपीएम समाधान (जैसे Oracle BPM suite जो BPEL होता है, rule engine, आदि), देखते हैं मध्यवर्ती समाधानjBPM या Windows Workflow Foundation और शायद दूसरों की एक बहुत कुछ इस तरह के रूप। ये मध्यवर्ती समाधान अक्सर अच्छे व्यापार-बंद होते हैं।

4

बीपीएमएस - बहुत आम व्यापार मामला, उपयोग केस पहले ही लागू हो चुके हैं। तो आपको बस यह जानना होगा कि इसका उपयोग कैसे करें। सामान्य वर्कफ़्लो के लिए, आपको कोड की एक पंक्ति भी लिखने की आवश्यकता नहीं है, हालांकि अधिकतर आपको उन चीजों को कवर करने के लिए कुछ स्क्रिप्ट लिखनी होंगी जिन्हें अभी तक कार्यान्वित नहीं किया गया है।

सादा प्रोग्रामिंग - कोड को हैक करने के लिए आईडीई का उपयोग करें। सकारात्मक पक्ष: अधिक नियंत्रण। नकारात्मक? बॉयलरप्लेट कोड को फिर से लिखने पर कई बार खर्च किया जाता है। और आपको उन्हें बनाए रखना होगा।

तो संक्षेप में, मैं एक बिजनेस प्रोसेस मैनेजमेंट सिस्टम पसंद करूंगा। एक जिसे मैं अनुशंसा करता हूं वह ProcessMaker है। इसमें एक अंतर्ज्ञानी प्रक्रिया डिजाइनर है जो आपको वर्कफ़्लो को ड्रैग और ड्रॉप के साथ डिज़ाइन करने की अनुमति देता है। और प्रक्रिया प्रक्रियाओं को बढ़ाने के लिए आप हमेशा trigger लिख सकते हैं। यह ओपन सोर्स भी है।

+1

तो आप बीपीएमएस के साथ बेहतर शुरुआत करते हैं क्योंकि आपके पास पहले से ही आपका सिस्टम है और आपको इसकी आवश्यकता नहीं है लॉगिन स्क्रीन, सत्र हैंडलिंग इत्यादि के बारे में परवाह है ... लेकिन अगर आपको कई प्रक्रियाओं को लागू करना है, तो क्या यह अभी भी मान्य है? मेरा मतलब है कि पहली प्रक्रिया के साथ, आपने अपना बॉयलरप्लेट कोड लागू किया है जिसे आप दूसरे के लिए पुन: उपयोग कर सकते हैं ... – rdmueller

+1

हां, बीपीएमएस के साथ यह अभी भी – Graviton

10

मेरे अनुभव में बीपीएमएस सिस्टम द्वारा प्रदान किए गए विकास वातावरण तीसरे दर, अनुत्पादक हैं, और व्यावहारिक रूप से आपको बनाए रखने के लिए कड़ी मेहनत करने के लिए मजबूर करते हैं, खराब डिजाइन किए गए कोड (उनकी सीमाओं के कारण)। बीपीएमएस सिस्टम द्वारा प्रदान की जाने वाली लगभग सभी "फीचर्स" (यूआई, इंटीग्रेशंस इत्यादि) मैं परिचित हूं (उस कंपनी द्वारा बेचे जाने वाले उस कंपनी द्वारा बेचा गया) हमारे द्वारा भुगतान किए गए पैसे के लायक नहीं था।

यदि आपको डेवलपर के रूप में बीपीएमएस का उपयोग करने के लिए मजबूर होना पड़ता है, तो मेरी सलाह है कि आप पारंपरिक रूप से जावा या नेट जैसे पारंपरिक विकास वातावरण में अपना अधिक आवेदन करें, बीपीएमएस पर्यावरण में जितना संभव हो उतना कम बनाएं खुद, और दोनों को एकीकृत करें। बीपीएमएस में जाने वाली एकमात्र चीजें व्यवसाय प्रक्रिया को कम करने के लिए न्यूनतम हैं।

+0

पर जाने के लिए तेज़ है, यह मेरा अनुभव भी है। केवल एक समस्या यह है कि वर्कफ़्लो इंजन और पारंपरिक विकास के बीच कोई साफ इंटरफ़ेस नहीं है। और मुझे लगता है कि ऐसा नहीं हो सकता है, क्योंकि दोनों (वर्कफ़्लो और एप्लिकेशन) प्रवाह को चलाने की कोशिश करते हैं ... – rdmueller

8

मैंने पिछले और हाल ही में जेबीपीएम के साथ बिज़टकॉक के साथ काम किया है। मेरी राय निम्नलिखित कारणों के लिए BPMS के खिलाफ पक्षपाती है:

  1. खड़ी सीखने की अवस्था: एक प्रक्रिया के काम करने के लिए, मैं समझने के लिए है प्रणाली और संपादक काम करता है। डेवलपर को सिस्टम को समझने के लिए काफी मुश्किल है, अकेले एक व्यावसायिक उपयोगकर्ता को छोड़ दें। ड्रैग और ड्रॉप और दृश्य प्रतिनिधित्व एक महान डेमो उपकरण है। यह निश्चित रूप से प्रबंधकों को प्रभावित करता है (जो अंततः इसके लिए भुगतान करते हैं), लेकिन एक डेवलपर की उत्पादकता बस गिरती है।

  2. गैर कार्यप्रवाह बदलते डेवलपर्स: मैंने नहीं देखा है एक बीपीएम समाधान यह दोषरहित है। हालांकि यह कोड की तरह नहीं दिखता है, फिर भी बॉक्स पर राइट क्लिक करें और आपको कुछ कोड डालना होगा, अन्यथा यह काम नहीं करेगा। तो आपको इसे करने के लिए निश्चित रूप से डेवलपर की आवश्यकता है। सबसे अच्छा हिस्सा यह है कि यह न तो डेवलपर अनुकूल है और न ही व्यावसायिक उपयोगकर्ता के अनुकूल है, सिर्फ डेमो उपयोगकर्ता के अनुकूल है।

  3. Testablity और पुनर्रचना: यह ड्राइव एक BPMS परीक्षण करने के लिए लगभग असंभव है। आपके पास 'यूनिट टेस्ट फ्रेमवर्क' विज्ञापन है, लेकिन उनमें से अधिकांश हैक्स और उपयोग करने में कठोर हैं।हाल ही में मैंने जेबीपीएम की कोशिश की; मैंने इसे काम करने के लिए बहुत सारे गोंद कोड और नकली वर्कफ़्लो हैंडलर लिखना समाप्त कर दिया। हालांकि मेरे लिए सौदा ब्रेकर रिफैक्टरिंग कर रहा है। यदि व्यवसाय मूल रूप से इस बात को ध्यान में रखता है कि व्यवसाय प्रक्रिया को कैसे देखना चाहिए, तो शुभकामनाएं बक्से को दोबारा व्यवस्थित करना, क्योंकि उन्हें फिर से व्यवस्थित करना काम नहीं करेगा, बक्से से बंधे सभी चर को भी फिर से व्यवस्थित करने की आवश्यकता है। मैं आईडीई की शक्ति और मेरी व्यावसायिक प्रक्रिया को दोबारा करने के लिए परीक्षण पसंद करूंगा।

यदि आपके एप्लिकेशन में वर्कफ़्लो है, तो आप वर्कफ़्लो लाइब्रेरी (लगातार स्थिति के साथ या बिना) का प्रयास कर सकते हैं। यह अभी भी बीपीएम के साथ आने वाले सभी ब्लोट के बिना आपके वर्कफ़्लो का प्रबंधन करेगा। यदि किसी व्यापार उपयोगकर्ता को कोड को समझने की आवश्यकता होती है, तो व्यवसाय को अच्छी प्रक्रिया फ़्लोचार्ट तैयार करने दें और उन्हें अच्छे डोमेन संचालित कोड में अनुवादित करने दें। डेवलपर्स और व्यवसाय को एक साथ लाने के लिए ककड़ी शैली स्वीकृति परीक्षण का प्रयोग करें। एक बीपीएम सिर्फ कुछ चीज करने की कोशिश करता है और उन सभी चीजों को बुरी तरह से खत्म कर देता है।

संबंधित मुद्दे