2011-05-25 11 views
11

हम वर्तमान में एक आवेदन .. कि एक गैर सरल अनुमोदन प्रक्रिया है, जो अनुमोदन के कई स्तरों शामिल है, लौटने, समीक्षा, सूचनाएं आदि का उपयोग करता है का निर्माण कर रहेडब्ल्यूएफ को गोद लेने वाले वेब ऐप के लिए सबसे अच्छा डिज़ाइन क्या है?

क्योंकि कहा आवश्यकता के

, हम उपयोग करने के लिए कहा गया था प्रक्रिया पारदर्शिता की सुविधा के लिए वर्कफ़्लो ढांचे का भी।

प्रोटोटाइप पर हमने सफलतापूर्वक वर्कफ़्लो को शामिल किया है और यह ठीक काम करता है। हालांकि, हम उन कार्रवाइयों को निर्धारित नहीं कर सकते जो उपयोगकर्ता के लिए उपलब्ध हो। उदाहरण के लिए, मेरे पास निम्नलिखित रिसीव ऑपरेशंस हैं: बनाएं(), managerApprove(), RAApprove(), ORMApprove() .. अब यदि मैं उन्हें सही उपयोगकर्ता नाम का उपयोग करके क्रम में कॉल करता हूं तो वे काम करेंगे। जाहिर है, अगर मैं उन्हें क्रम में नहीं बुलाता, तो यह एक FaultException फेंक देगा क्योंकि यह सही स्थिति में नहीं है। प्रश्न यह है कि, मुझे कैसे पता चलेगा कि यूआई में खुलासा करने के लिए कौन से फ़ंक्शंस उपलब्ध हैं - कहें, अगर यह वर्तमान में प्रबंधक अनुमोदन की प्रतीक्षा कर रहा है तो बस प्रबंधक के लिए एक स्वीकृति बटन दिखाएं ...

एक कामकाज के रूप में, मैंने बनाया है एक और डब्ल्यूसीएफ सेवा जो डाटाबेस से वही डेटा पुनर्प्राप्त करती है और फिर सही यूआई स्थिति निर्धारित करती है (जो उपयोगकर्ता द्वारा किए जा सकते हैं)। मुझे लगता है कि यह तर्क का एक दोहराव है, क्योंकि यह पहले से ही डब्ल्यूएफ में माना जाता है।

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

किसी भी मदद की बहुत सराहना की जाएगी ... मैं वास्तव में डब्ल्यूएफ 4 के लिए नया हूं।

अद्यतन:

मेरा सहकर्मी मेरे सवाल का इस तरह से रख:

कि WF को गोद ले एक वेब अनुप्रयोग के लिए सबसे अच्छा डिजाइन क्या है?

मुख्य कारण WF विचार किया जा रहा है - वर्कफ़्लो शामिल लंबे चल रहे हैं - वर्कफ़्लो मानव workflows हैं - वे असली लोग की कार्रवाई का समन्वय करने की जरूरत है -

भी इस प्रक्रिया पारदर्शिता, कार्यप्रवाह कैसे एकीकृत करना चाहिए यूआई के साथ? - यूआई कैसे पता चलेगा कि किस राज्य में होना चाहिए और कौन से पेज दिखाना चाहते हैं?

उत्तर

5

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

+0

मुझे लगता है कि यह एक तरीका है। लेकिन यह एक हैक की तरह लगता है। – Mel

+0

आप सही हैं क्योंकि यह है। यदि ऐसा करने का कोई अच्छा तरीका नहीं है तो नौकरी पूरी हो जाती है। – Maurice

+0

मैं उम्मीद कर रहा था कि एक बेहतर तरीका था ... मुझे यह धारणा मिल रही है कि डब्ल्यूएफ वास्तव में डिजाइन को चोट पहुंचा रहा है .. ऐसा लगता है कि हम डब्ल्यूएफ का उपयोग करके सही काम कर रहे हैं लेकिन "गलत" चीजों को करने के लिए भी मजबूर हैं एक दुष्प्रभाव के रूप में। – Mel

0

एक बहुत ही सरल दृष्टिकोण अनुमोदन की स्थिति का प्रबंधन करके वर्कफ़्लो अनुकरण करेगा। कल्पना करें कि स्वीकृति प्रक्रिया के विभिन्न चरणों ("निर्माण", "प्रबंधक अनुमोदन", "आरए अनुमोदन", आदि) को स्वीकृति देने के लिए अलग-अलग उपयोगकर्ताओं के लिए आपके पास अलग-अलग बटन/पृष्ठ हैं। यह एक बहुत पुराना स्कूल दृष्टिकोण है।

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

यदि आप वर्कफ़्लो फाउंडेशन का उपयोग करना चाहते हैं, तो मॉरीस ने सुझाव दिया है कि सबसे आसान तरीका है।

दूसरा विकल्प अन्य टूल्स का उपयोग करना है जो अधिक स्केल करेंगे और डब्ल्यूएफ से अधिक लचीला होंगे। मैंने डब्ल्यूएफ (हालांकि सबसे पुरानी रिलीज नहीं), बिज़टॉक और शेयरपॉइंट का उपयोग किया है।

यदि आपके समाधान को अन्य अनुप्रयोगों के साथ बातचीत करने की आवश्यकता है, तो मैं बिज़टॉक का उपयोग करके अनुशंसा करता हूं।

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