Pages

Tuesday, October 19, 2010

Persistence Servis Nedir?



'Windows Workflow Foundation' ile biçimlendirebileceğiniz herhangi bir iş projesi herhangi bir hatadan dolayı günler veya aylar sürebilir.Örneyin ,bir gelişimcinin çözüme ulaşmadan önce ,uzun zaman diliminde bir kaç işlemi hatalı şekilde takip etmiş olduğu farkına varıp, ortaya çıkarmış olduğu bir problemi, arka plana atması iş projesinin seyrini uzatabilir.Bu gibi zaman dilimlerinde 'Workflow' işlevseliğini kullanmak bence sorunun çözümüne yarar sağlamz.Başka bir örnek verecek olursak;Sistemi iş ortamında test edici görevini üstlenmiş bir kişinin iş günü sonunda bir problemin olduğunu farketmesi olarak tabir edebilriz.Ve ertesi sabah gelişimci kardeşimizin problemi tesbit edene kadar,hedef örnek bir geceliğine (inactive) durumunda kalacak bu sistemde geri dönülmez hatalara yol açabilir.



Host(üzerinde çalışilan program) uygulama projelerinde,uzun dönem çalışılan veya işe yaramaz bir 'Workflow' örneyini muhafaza etmek mantıklı gibi görünmüyor.Bence birçok gereksiz 'Workflow' örneyini host durumdaki uygulamada muhafaza etmek bellek israfına yol açmaktan başka bir işe yaramaz.Üstelik host uygulama projesi,yapılmak istenen 'Workflow' örneyinin bitmeden uygulamayı yeniden başlatabilir.Ve host projesi yeniden başladığında,'Workflow' örnekleri doğal olarak durur.Bu 'Workflows' dizaynı kapsamında istenmeyen birşeydir.



Bu problemin çözümü, yapmış oldumuz 'Workflow' uygulamalarını kaydetmek için Windows Workflow Foundation'da bulunan 'Persistence servisleri kullanmamız gerektiğidir.Böylece bir 'Workflow' örneyinin 'Workflow runtime' ile ön belleğe kaydının alınması gerektiğinde ,'Workflow', dorudan 'Workflow Runtime' belleginden yüklenmiycekdir.Daha ziyade daha sonra 'Workflow' aktive edilmek istendiğinde 'Persisten servis' kullanılarak 'Workflow runtime' ön belleğine 'Workflow' kayıt kayıt edilebilir.



'Window Workflow Foundation,SQL Server veri tabanına Workflow örneklerini kayıt edebilen (SQLWorkflowPersistenceServisclss) bulundurur.Yinede 'Workflows' başka bir bölgeye kaydetmek niyetinde olabiliriz,bu durumda kendimiz özel 'persistence service' oluşturmamız mümkün.





No comments:

Post a Comment