Workflow pattern
વર્કફ્લો પેટર્ન એ સોફ્ટવેર એન્જિનિયરિંગ અથવા બિઝનેસ પ્રોસેસ એન્જિનિયરિંગના ક્ષેત્રમાં વ્યાખ્યાયિત ડિઝાઇન પેટર્નનું વિશિષ્ટ સ્વરૂપ છે. વર્કફ્લો પેટર્ન ખાસ કરીને પુનરાવર્તિત સમસ્યાઓ અને ખાસ કરીને વર્કફ્લો એપ્લિકેશન્સના વિકાસ સાથે સંબંધિત સાબિત ઉકેલો અને વધુ વ્યાપક રીતે, પ્રક્રિયા-લક્ષી એપ્લિકેશન્સનો સંદર્ભ આપે છે. કન્સેપ્ટ વર્કફ્લો પેટર્ન એ આર્થિક વિકાસની વિભાવનાઓ છે. તેમનો ઉપયોગ જાળવણીને સરળ બનાવવા અને મોડેલિંગ કાર્યને ઘટાડવાની વ્યૂહરચનાઓનું પાલન કરવું જોઈએ. વર્કફ્લો વાસ્તવિક સમયમાં કરવામાં આવે છે. નિયંત્રણની પદ્ધતિઓએ કામની લાક્ષણિક ગતિને ટેકો આપવો આવશ્યક છે. ડિઝાઇન પેટર્ન વર્કફ્લોના અમલમાં વિલંબ કરે છે. એકત્રીકરણ વર્કફ્લો પેટર્નને સામાન્ય રીતે સાંકળો તરીકે એકત્રિત કરી શકાય છે અને શરૂ કરવા અને સમાપ્ત કરવા માટેની શરતોને સ્પષ્ટપણે વ્યાખ્યાયિત કરવી આવશ્યક છે. એપ્લિકેશન વર્કફ્લો પેટર્ન વિવિધ સંદર્ભમાં લાગુ કરી શકાય છે, તેથી ખોટી અર્થઘટનને રોકવા માટે ઉપયોગ માટેની શરતોને સ્પષ્ટ રીતે વ્યાખ્યાયિત કરવી અને બતાવવી આવશ્યક છે. વેન ડેર આલ્સ્ટ વર્ગીકરણ વર્કફ્લો પેટર્નનો એક જાણીતો સંગ્રહ છે જે વિલ વાન ડેર આલ્સ્ટ એટ અલ દ્વારા પ્રસ્તાવિત છે. (2003) તેમના પેપર વર્કફ્લો પેટર્નમાં. 2000-02 માં પ્રકાશિત અગાઉની આવૃત્તિઓ સાથે. પેટર્નનો આ સંગ્રહ પ્રક્રિયા-લક્ષી એપ્લિકેશન વિકાસના એક ચોક્કસ પાસા પર ધ્યાન કેન્દ્રિત કરે છે, એટલે કે વર્કફ્લો/પ્રક્રિયામાં પ્રવૃત્તિઓ વચ્ચે નિયંત્રણ પ્રવાહ નિર્ભરતાનું વર્ણન. આ પેટર્નને નીચેની શ્રેણીઓમાં વહેંચવામાં આવી છેઃ મૂળભૂત નિયંત્રણ પેટર્ન ક્રમ-સમાંતર વિભાજન ક્રમમાં બે અથવા વધુ પ્રવૃત્તિઓ ચલાવો-કોઈપણ ક્રમમાં બે અથવા વધુ પ્રવૃત્તિઓ ચલાવો અથવા સમાંતર સુમેળ કરો-બે અથવા વધુ પ્રવૃત્તિઓને સુમેળ કરો જે કોઈપણ ક્રમમાં અથવા સમાંતર અમલ કરી શકે છે; અગાઉની તમામ પ્રવૃત્તિઓ પૂર્ણ ન થાય ત્યાં સુધી અનુગામી પ્રવૃત્તિઓના અમલ સાથે આગળ વધો નહીં; જેને અવરોધ સુમેળ તરીકે પણ ઓળખવામાં આવે છે. વિશિષ્ટ પસંદગી-જ્યારે પ્રક્રિયાનો અમલ વિશિષ્ટ પસંદગી સુધી પહોંચે ત્યારે ઉપલબ્ધ ડેટાના આધારે ઘણા વિકલ્પોમાંથી એક અમલીકરણ માર્ગ પસંદ કરો સરળ વિલિનીકરણ-આગળ વધતા પહેલા પ્રવૃત્તિઓના સમૂહમાંથી એક પૂર્ણ થાય ત્યાં સુધી રાહ જુઓ; એવું માનવામાં આવે છે કે આ પ્રવૃત્તિઓમાંથી માત્ર એક જ અમલમાં આવશે; સામાન્ય રીતે, આ પ્રવૃત્તિઓ વિશિષ્ટ પસંદગી અથવા વિલંબિત પસંદગીમાંથી ઉદ્ભવતા વિવિધ માર્ગો પર હોય છે (નીચે જુઓ) સમાપ્ત કરો-નિર્ધારિત ઘટના અથવા સ્થિતિ પરિવર્તન પર પ્રવૃત્તિઓનું અમલીકરણ સમાપ્ત કરો અદ્યતન શાખાઓ અને સુમેળ પેટર્ન બહુવિધ પસંદગી-ઘણા વિકલ્પોમાંથી ઘણા અમલીકરણ માર્ગો પસંદ કરો શરતી પસંદગી-ભેદભાવપૂર્ણ સ્થિતિ શરતો અનુસાર ઘણા વિકલ્પોમાંથી એક અમલીકરણ માર્ગ પસંદ કરો સુમેળ કરો-ઘણા અમલીકરણ માર્ગો મર્જ કરો; જો ઘણા માર્ગો લેવામાં આવે તો સુમેળ કરો; સરળ માર્ગ માટે તે જ કરો. ભેદભાવ કરનાર-આગળ વધતા પહેલા પ્રવૃત્તિઓના સમૂહમાંથી એક પૂર્ણ થવાની રાહ જુઓ; જો રાહ જોવાતી ઘણી પ્રવૃત્તિઓ ચલાવવામાં આવે, તો ભેદભાવ કરનાર માત્ર એક જ વાર ગોળીબાર કરે છે. એન-આઉટ-ઓફ-એમ જોઇન-ડિસ્ક્રિમિનેટરની જેમ જ પરંતુ હવે એક કરતા મોટી કોઈ કુદરતી સંખ્યા માટે N પરિમાણ સેટ કરીને આગળ વધતા પહેલા અગાઉની પ્રવૃત્તિઓમાંથી એકથી વધુ પૂર્ણ થાય ત્યાં સુધી રાહ જોવી શક્ય છે. માળખાકીય પેટર્ન મનસ્વી ચક્ર-પ્રક્રિયા મોડેલમાં અસ્તિત્વમાં હોઈ શકે તેવા લૂપ્સના પ્રકારો પર કોઈ માળખાકીય પ્રતિબંધો લાદશો નહીં. સ્પષ્ટ રીતે સમાપ્ત કરો-પ્રક્રિયાના એક ઉદાહરણને સમાપ્ત કરો જો કરવા માટે બીજું કંઈ ન હોય તો બહુવિધ ઉદાહરણો (એમ. આઈ.) એમ. આઈ. ને સુમેળ કર્યા વિના સમાપ્ત કરો-એક પ્રવૃત્તિના ઘણા ઉદાહરણો ઉત્પન્ન કરો પછીથી એમ. આઈ. ને અગાઉના જાણીતા ડિઝાઇન સમયના જ્ઞાન સાથે સુમેળ કર્યા વિના-એક પ્રવૃત્તિના ઘણા ઉદાહરણો ઉત્પન્ન કરો જ્યારે ઉદાહરણોની સંખ્યા ડિઝાઇન સમયે (સુમેળ સાથે) એમ. આઈ. ને અગાઉના જાણીતા રનટાઇમ જ્ઞાન સાથે ઓળખવામાં આવે છે-એક પ્રવૃત્તિના ઘણા ઉદાહરણો ઉત્પન્ન કરો જ્યારે રનટાઇમ દરમિયાન કોઈ સમયે સંખ્યાબંધ ઉદાહરણો નિર્ધારિત કરી શકાય છે (જેમ કે ફોર લૂપમાં પરંતુ સમાંતરમાં) એમ. આઈ. અગાઉના રનટાઇમ જ્ઞાન વિના-એક પ્રવૃત્તિના ઘણા ઉદાહરણો ઉત્પન્ન કરો જ્યારે સંખ્યાબંધ ઉદાહરણો નિર્ધારિત કરી શકાતા નથી (જેમ કે WHILE લૂપમાં પરંતુ સમાંતરમાં) રાજ્ય-આધારિત પેટર્ન ડિફર્ડ ચોઇસ કયા થ્રેડનો અમલ કરવાનો છે તે પસંદગી તે સમયે ઉપલબ્ધ માહિતી પર આધારિત નથી કે જ્યારે અમલ વિલંબિત પસંદગી સુધી પહોંચી ગયો હોય, પરંતુ તે ઘટના દ્વારા નક્કી કરવામાં આવે છે (દા. ત. એપ્લિકેશન વપરાશકર્તા કાર્યસૂચીમાંથી કાર્ય પસંદ કરે છે, અથવા પ્રક્રિયા અમલીકરણ એન્જિન દ્વારા પ્રાપ્ત થતો સંદેશ). ઇન્ટરલીવ્ડ પેરેલલ રાઉટીંગ-કોઈપણ ક્રમમાં સંખ્યાબંધ પ્રવૃત્તિઓ ચલાવો (દા. ત. સંસાધનોની ઉપલબ્ધતાના આધારે), પરંતુ આમાંની કોઈપણ પ્રવૃત્તિઓ એક સાથે ન ચલાવો. સીમાચિહ્નરૂપ-સીમાચિહ્નરૂપ પહોંચે તે પહેલાં કોઈપણ સમયે ચોક્કસ પ્રવૃત્તિને મંજૂરી આપો, જેના પછી પ્રવૃત્તિને હવે અમલમાં મૂકી શકાતી નથી. રદ કરવાની રીત પ્રવૃત્તિ રદ કરો-સક્ષમ પ્રવૃત્તિના અમલને બંધ કરો કેસ રદ કરો-ચાલતી પ્રક્રિયાના અમલને બંધ કરો રાહ જોવી રદ કરો-પૂર્વ સમાપ્તિ ઘટના વિના ચાલતી પ્રક્રિયાના અમલને ચાલુ રાખો ઉપરોક્ત વર્કફ્લો પેટર્નનો ઉપયોગ પ્રક્રિયા-લક્ષી એપ્લિકેશનોના વિકાસને ટેકો આપતા વ્યાપારી ઉત્પાદનોની કાર્યક્ષમતાનું મૂલ્યાંકન કરવા માટે કરવામાં આવ્યો છે. તેનો ઉપયોગ બી. પી. ઈ. એલ., બી. પી. એમ. એન., યુ. એમ. એલ. પ્રવૃત્તિ આકૃતિ, એક્સ. પી. ડી. એલ. વગેરે સહિત સંખ્યાબંધ સૂચિત ધોરણોનું મૂલ્યાંકન કરવા માટે પણ કરવામાં આવે છે. એ નોંધવામાં આવ્યું છે કે આ તમામ પેટર્ન તમામ એપ્લિકેશન ડોમેન્સમાં સુસંગત નથી, તેથી આપેલ એપ્લિકેશન માટે કોઈ ચોક્કસ ભાષા અથવા સિસ્ટમ પસંદ કરવા માટે ઉપરોક્ત વર્કફ્લો પેટર્નનો ઉપયોગ કરતી વખતે કાળજી લેવી આવશ્યક છે. વર્કફ્લો પેટર્નનો ઉપયોગ વર્કફ્લો લેંગ્વેજ અને YAWL (હજુ સુધી અન્ય વર્કફ્લો લેંગ્વેજ) નામની ઓપન-સોર્સ સિસ્ટમની ડિઝાઇનમાં પ્રારંભિક જરૂરિયાતો તરીકે પણ કરવામાં આવે છે. વર્કફ્લો પેટર્નના ઉપરોક્ત સમૂહમાં કેટલાક વિસ્તરણની દરખાસ્ત કરવામાં આવી છે. ખાસ કરીને, આ પેટર્ન વિકસાવનારા તે જ સંશોધન જૂથોએ વર્કફ્લો ડેટા પેટર્ન, વર્કફ્લો રિસોર્સ પેટર્ન, વર્કફ્લો એક્સેપ્શન હેન્ડલિંગ પેટર્ન અને સર્વિસ ઇન્ટરેક્શન પેટર્નનો સમૂહ પણ પ્રસ્તાવિત કર્યો છે. અન્ય વર્ગીકરણ વર્કફ્લો પેટર્નનું બીજું વર્ગીકરણ નીચે મુજબ છેઃ સ્વતંત્ર/પૂલ્ડ જ્યાં અનુસૂચિત કાર્યનો દરેક ઘટક એકબીજાથી સ્વતંત્ર રીતે પૂર્ણ થાય છે અને કોઈ પણ ઘટક અન્ય કોઈપણ ઘટક પર ચોક્કસ નિર્ભરતા ધરાવતો નથી. એક ઉદાહરણ એ હશે કે જ્યાં સ્ટાફ કાઉન્ટર પર સેવા આપી રહ્યો હોય-રાઉલ તેની કતારમાં જેમીની કતારમાં ગ્રાહકને સેવા આપવાની રાહ જોયા વિના તેની કતારમાં ગ્રાહકને સેવા આપી શકે છે. અનુક્રમિક જ્યાં અનુસૂચિત કાર્યનો દરેક ઘટક અગાઉના ઘટક પર આધારિત હોય. આ કિસ્સામાં અગાઉનો ઘટક અનુગામી ઘટકો દ્વારા કાર્યપ્રવાહની પ્રગતિને નિયંત્રિત કરે છે. એક ઉદાહરણ ઉત્પાદન લાઇન પર હશે-જ્યાં સુધી વેરોનિકા રેડિએટરને સ્થાને ન મૂકે ત્યાં સુધી બેટી મોડેલ ટી ફોર્ડ પર રેડિએટર કેપ લગાવી શકતી નથી. પરસ્પરાવલંબી/નેટવર્ક જ્યાં અનુસૂચિત કાર્યનો દરેક ઘટક પૂર્ણ થઈ રહેલા એક અથવા સંખ્યાબંધ અન્ય ઘટકો પર આધારિત હોય. આ કિસ્સામાં અગાઉના ઘટકો અનુગામી ઘટકો દ્વારા કાર્યપ્રવાહને નિયંત્રિત કરે છે. એક ઉદાહરણ પ્રોજેક્ટ ટીમ હશે-સારાહને તેના કાર્યને અમલમાં મૂકતા પહેલા કેવિન અને જ્યોર્જ દ્વારા ઘણા કાર્યો પૂર્ણ થવાની રાહ જોવી પડશે. અન્ય પરિપ્રેક્ષ્યો વર્કફ્લો પેટર્ન નિયંત્રણ-પ્રવાહ સુધી મર્યાદિત નથી. અન્ય (વર્કફ્લો) પેટર્ન સંગ્રહોમાં નીચેનાનો સમાવેશ થાય છેઃ સંસાધન પેટર્ન, ડેટા પેટર્ન, અપવાદ પેટર્ન, સેવા ક્રિયાપ્રતિક્રિયા પેટર્ન. સમાંતરતા અને પાઇપલાઇનિંગ પેટર્ન. આ પેટર્ન સંગ્રહનો ઉપયોગ વિવિધ વર્કફ્લો પ્રક્રિયાઓનું મૂલ્યાંકન કરવા માટે કરવામાં આવ્યો છે, બંને વ્યાવસાયિક (વેબસ્ફેયર, ઓરેકલ બી. પી. ઈ. એલ., સ્ટાફવેર, એસ. એ. પી. વર્કફ્લો, વિન્ડોઝ વર્કફ્લો ફાઉન્ડેશન, વગેરે) અને ઓપન સોર્સ. વર્કફ્લો સિસ્ટમ્સ અમલીકરણ પેટર્ન ટેવેક્સી એ ક્લાઉડ-આધારિત વર્કફ્લો સિસ્ટમ છે જે ગેલેક્સી અને ટેવર્ના વચ્ચે આંતરસંચાલનક્ષમતાને સક્ષમ કરવા માટે પેટર્ન-આધારિત અભિગમનો અમલ કરે છે, બાયોઇન્ફોર્મેટિક્સ ડોમેનમાં લોકપ્રિય બે વર્કફ્લો એન્જિન, વાયએડબ્લ્યુએલ, હજુ સુધી અન્ય વર્કફ્લો લેંગ્વેજ, કેમેલિયન (પ્રોગ્રામિંગ લેંગ્વેજ), કાર્યાત્મક પ્રોગ્રામિંગ માટે વર્કફ્લો આધારિત ગ્રાફિકલ લેંગ્વેજ. સંદર્ભો વધુ વાંચન માર્લોન ડુમસ, વિલ વાન ડેર આલ્સ્ટ અને આર્થર એચ. એમ. ટેર હોફસ્ટેડ એડ. (2005). પ્રક્રિયા-જાગૃત માહિતી પ્રણાલીઓ. જ્હોન વિલી એન્ડ સન્સ. . વોલ્કર ક્રેમ્બર્ગ (2006) આઈ. બી. એમ. વેબસ્ફિયર બી. પી. ઈ. એલ. નું પેટર્ન-આધારિત મૂલ્યાંકનઃ વર્કફ્લો પેટર્ન પર આધારિત આઈ. બી. એમ. ના વેબસ્ફિયર ઇન્ટિગ્રેશન ડેવલપરનું મૂલ્યાંકન. બાહ્ય કડીઓ વર્કફ્લો પેટર્ન બી. પી. એમ. એન. 2 મૂળ 20 વર્કફ્લો પેટર્ન સોફ્ટવેર ડિઝાઇન પેટર્ન વર્કફ્લો ટેકનોલોજીના ઉદાહરણો