Bir çok programlama teknolojisi, verilerin tutarlı şekilde seyrini devam etirip ettirmediğini ve karşılaşılan hataların veya umulmadık olayların ortaya çıkıp çıkmadığını belirlemek için 'transactions' kullanır.Ve 'Windows Workflow Foudtion' yapmış oldunu 'Workflows'da 'transactions' tanımlamnıza imkan tanıyacak.
Örneyin para ödeme sistemlerini(ATM)gözönünde bulundurursak,bir müşterinin kredi kart borç durumunu,ödenmiş olan borçları ve tüm bular hakkında gerekli bilgiyi(kartın durumu hakkında) e-mail ile gönderen bir 'Workflow' oluşturabiliriz.Bir müşteri kredi kart borcunu ödemek isterken işlev halinde olan 'Workflow' diagramında herhangi bir hatanın oluşması,müşterinin ödemek istediği borcu ödemiş olarak göstermediği gibi müşteri kredi kartında ilave borçların çıkmasınada vesile olabilir.Ve hatta 'Workflow' örneyinin bağlı olduğu veri tabanı yeniden başlayacak olursa da aynı durumun gerçekleşebileceğini düşünebiliriz.
İşte bu gibi senaryoların ortaya çıkmasını engellemek için 'TransactionContext activity' kullanarak 'Workflows' içine 'Transaction' oşuşturabiliriz. Ve 'TransactionContext' aktivitesinde bulunan birçok aktiviteyi 'Workflow' uygulamasına ekleyebiliriz.Şayet sistemin işlevinde henhangi bir başarısızlı ortaya çıkarsa,'Workflow' eklenen başlangıç durumunda ki'Transaction' otomatikmen diskalifiye edilip,müşterinin sistem üzerinde gerçekleştirmiş olduğu işlemler ilk başlangıç durumun getirilir.
Örneyin bu durum bir müşterinin herhangi bir kart borcunu ödemek istemesi sırasında ortaya çıkabilir.Bu sırada sistem işlevini gerçekleştiren 'Workflow' diagramı bir nedenden ötürü yeniden başlasa da müşterinin sistemde ki varolan verilerinde herhangi bir kaybın olması söz konusu olamaz.Daha açık şekilde belirtmek gerekirse, müşteri tüm işlemlerini gerçekleştirirken,her hangi bir nedenden dolayı sistemin yeniden başlaması 'Wokflow' da bulunan 'Transaction' olası bir veri kaybını engeller.
No comments:
Post a Comment