Compensating transaction
વ્યવસાયિક પ્રક્રિયાના અમલીકરણમાં એક અથવા વધુ વ્યવહારોનો સમાવેશ થાય છે. દરેક વ્યવહારમાં ઘણી વ્યક્તિગત કામગીરીઓનો સમાવેશ થઈ શકે છે, તેમ છતાં, સમગ્ર રીતે, તે પ્રણાલીને સુસંગત સ્થિતિઓ વચ્ચે ખસેડે છે. પ્રણાલીઓના બે જૂથો છે જ્યાં વળતર વ્યવહાર લાગુ થઈ શકે છેઃ ડેટાબેઝના સંદર્ભમાં આ ઘણીવાર વ્યવહારો અને કમિટ/રોલબેક પદ્ધતિનો ઉપયોગ કરીને સરળતાથી પ્રાપ્ત થાય છે. વળતર લેવડદેવડના તર્કને કમિટ/રોલબેકને ટેકો આપતા ડેટાબેઝની ટોચ પર વધારાના તરીકે અમલમાં મૂકી શકાય છે. તે કિસ્સામાં, આપણે વ્યવસાયિક વ્યવહારની સૂક્ષ્મતામાં ઘટાડો કરી શકીએ છીએ. 2. કમિટ/રોલબેક મિકેનિઝમ વિના ઉપલબ્ધ સિસ્ટમો માટે, વળતર વ્યવહાર સાથે નિષ્ફળ વ્યવહારને પૂર્વવત્ કરી શકાય છે, જે સિસ્ટમને તેની પ્રારંભિક સ્થિતિમાં પાછા લાવશે. સામાન્ય રીતે, આ માત્ર એક ઉકેલ છે જેનો જાતે અમલ કરવો પડે છે અને તે ખાતરી આપી શકતું નથી કે સિસ્ટમ હંમેશા સુસંગત સ્થિતિમાં સમાપ્ત થાય છે. જો વળતરનો વ્યવહાર પણ નિષ્ફળ જાય તો શું થાય છે તે સિસ્ટમ ડિઝાઈનરને ધ્યાનમાં લેવાની જરૂર પડી શકે છે. વળતરના વ્યવહારોનો ઉપયોગ એવા કિસ્સામાં પણ થાય છે જ્યાં વ્યવહાર લાંબા સમય સુધી ચાલે છે (સામાન્ય રીતે સાગા વ્યવહારો તરીકે ઓળખાય છે), ઉદાહરણ તરીકે, વપરાશકર્તા ઇનપુટની જરૂર હોય તેવી વ્યવસાય પ્રક્રિયામાં. આવા કિસ્સાઓમાં, ડેટા કાયમી સંગ્રહ માટે પ્રતિબદ્ધ હશે, પરંતુ પછીથી તેને પાછું ખેંચવાની જરૂર પડી શકે છે, કદાચ વપરાશકર્તાએ કામગીરીને રદ કરવાનું પસંદ કર્યું હોવાથી. પરંપરાગત રોલબેક્સથી વિપરીત, સામાન્ય રીતે લાંબા ગાળાના વ્યવહારને પાછો લાવવા અને સિસ્ટમને તેની મૂળ સ્થિતિમાં પુનઃસ્થાપિત કરવા માટે ચોક્કસ વ્યવસાયિક તર્કની જરૂર પડશે. આ પ્રકારનો વ્યવહાર વિતરિત વ્યવહારોથી અલગ છે (ઘણીવાર બે તબક્કાના પ્રતિબદ્ધ પ્રોટોકોલનો ઉપયોગ કરીને અમલમાં મૂકવામાં આવે છે), કારણ કે બંને પ્રકારના વ્યવહારોના પરિણામે બહુવિધ ડેટા સ્ટોર્સ અપડેટ થઈ શકે છે, વળતર વ્યવહારો લાંબા સમય સુધી અપડેટ્સની મંજૂરી આપે છે. વળતર વ્યવહારો ઘણીવાર વેબ સેવાઓમાં ડિઝાઇન કરવામાં આવે છે જે વ્યવસાય પ્રક્રિયાઓના અમલમાં ભાગ લે છે જે સેવા-લક્ષી આર્કિટેક્ચર સોલ્યુશનનો ભાગ છે. બિઝનેસ પ્રોસેસ એક્ઝેક્યુશન લેંગ્વેજ રેફરન્સ ડેટા સિંક્રોનાઇઝેશન ટ્રાન્ઝેક્શન પ્રોસેસિંગ પણ જુઓ.