<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://cagdasdavulcu.spaces.live.com/mmm2008-05-17_13.22/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fcagdasdavulcu.spaces.live.com%2fcategory%2fWindows%2bWorkflow%2bFoundation%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Çağdaş DAVULCU: Windows Workflow Foundation</title><description /><link>http://cagdasdavulcu.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catWindows%2bWorkflow%2bFoundation</link><language>en-US</language><pubDate>Fri, 27 Jun 2008 06:01:54 GMT</pubDate><lastBuildDate>Fri, 27 Jun 2008 06:01:54 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://cagdasdavulcu.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>9042701556601207285</live:id><live:alias>cagdasdavulcu</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>İlk Windows Workflow Foundation Projemiz</title><link>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!216.entry</link><description>&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Windows Workflow Foundation ile ilgili güzel bir uygulama makalemi &lt;a href="http://www.yazilimuzmani.com"&gt;www.yazilimuzmani.com&lt;/a&gt; sitesinde yayınladım. Resim eklemekte zorlandığım için bloğuma koyamıyorum. İlgilenenler okuyabilirler. Aşağdaki adrestedir.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.yazilimuzmani.com/Articles/Details.aspx?aId=1000001483"&gt;http://www.yazilimuzmani.com/Articles/Details.aspx?aId=1000001483&lt;/a&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=9042701556601207285&amp;page=RSS%3a+%c4%b0lk+Windows+Workflow+Foundation+Projemiz&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=cagdasdavulcu.spaces.live.com&amp;amp;GT1=cagdasdavulcu"&gt;</description><comments>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!216.entry#comment</comments><guid isPermaLink="true">http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!216.entry</guid><pubDate>Mon, 17 Dec 2007 21:52:53 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://cagdasdavulcu.spaces.live.com/blog/cns!7D7E2127CB1639F5!216/comments/feed.rss</wfw:commentRss><wfw:comment>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!216.entry#comment</wfw:comment><dcterms:modified>2007-12-17T21:52:53Z</dcterms:modified></item><item><title>Windows Workflow Foundation – Out-Of-The-Box Activiteleri(2)</title><link>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!215.entry</link><description>&lt;p&gt;&lt;br&gt;&lt;strong&gt;Olay yakalama &lt;br&gt;&lt;/strong&gt;o       EventDriven Activity &lt;br&gt;o       Listen Activity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Akış kontrolü &lt;/strong&gt;&lt;br&gt;o       ConditionalActivityGroup &lt;br&gt;o       IfElse Activity &lt;br&gt;o       IfElseBranch Activty &lt;br&gt;o       Paralel Activity &lt;br&gt;o       Replicator Activity &lt;br&gt;o       Sequence Activity &lt;br&gt;o       Suspend Activity &lt;br&gt;o       Terminate Activity &lt;br&gt;o       While Activity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Hata yajalamak &lt;/strong&gt;&lt;br&gt;o       Fault Handler Activity &lt;br&gt;o       Throw Activity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Özel iş akşışı mantığı &lt;/strong&gt;&lt;br&gt;o       Code Activity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Web servisleri&lt;/strong&gt; &lt;br&gt;o       InvokeWebService Activity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Kurallar&lt;/strong&gt; &lt;br&gt;o       Policy Activity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Durum yönetimi &lt;/strong&gt;&lt;br&gt;o       SetState Activity &lt;br&gt;o       State Activity &lt;br&gt;o       StateInitialization Activity &lt;br&gt;o       StateFinalizationActivity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Yerel servis iletişimi &lt;/strong&gt;&lt;br&gt;o       HandleExternalEvent Activity &lt;br&gt;&lt;br&gt;&lt;strong&gt;Transaction&lt;/strong&gt; &lt;br&gt;o       CompensateActivity&lt;br&gt;o       TransactionScope Activity &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=9042701556601207285&amp;page=RSS%3a+Windows+Workflow+Foundation+%e2%80%93+Out-Of-The-Box+Activiteleri(2)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=cagdasdavulcu.spaces.live.com&amp;amp;GT1=cagdasdavulcu"&gt;</description><comments>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!215.entry#comment</comments><guid isPermaLink="true">http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!215.entry</guid><pubDate>Mon, 17 Dec 2007 21:34:16 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://cagdasdavulcu.spaces.live.com/blog/cns!7D7E2127CB1639F5!215/comments/feed.rss</wfw:commentRss><wfw:comment>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!215.entry#comment</wfw:comment><dcterms:modified>2008-06-26T10:40:41Z</dcterms:modified></item><item><title>Windows Workflow Foundation – Out-Of-The-Box Activiteleri(1)</title><link>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!214.entry</link><description>&lt;div&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;Windows Workflow Foundation&lt;/b&gt; ile uygulama geliştirmeye başlamadan önce &lt;b&gt;Toolbox&lt;/b&gt; üzerinde bulunan ve &lt;b&gt;Out-Of-The-Box&lt;/b&gt; aktiviteleri olarak adlandırılan aktiviteler ile ilgili fikriniz olması gerekir. Aslında microsoft tarafından tam olarak söylene şu: “Daha verimli Workflow Foundation uygulamaları geliştirmek istiyorsanız, örnmeye &lt;b&gt;Out-Of-The-Box&lt;/b&gt; aktivitelerinden başlayın”.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Bu yazımda sizlere &lt;b&gt;Out-Of-The-Box&lt;/b&gt; aktivitelerinden söz edeceğim ve &lt;b&gt;Out-Of-The-Box&lt;/b&gt; aktivitelerini gruplandıracağım. &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:26pt"&gt;&lt;font color="#000000"&gt;Out-Of-The-Box Activiteleri&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;1.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Code Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;font color="#000000"&gt; &lt;/font&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;&lt;/b&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;b&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;b&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/b&gt;  
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;Code Activity&lt;/b&gt; workflow içerisine kendi kodumuzu eklemeye yarayan aktivite türüdür. &lt;b&gt;Code Activity&lt;/b&gt;’i kullanarak yazdığımız kodlar eşzamanlı bir şekilde çalışırlar ve bu nedenden dolayı workflow’un çalışmaya devam etmesi için &lt;b&gt;Code Activity&lt;/b&gt;’nin sonlanması gerekmektedir. &lt;b&gt;Code Activity&lt;/b&gt; bir bakıma &lt;b&gt;Custom Activity&lt;/b&gt; olarak ta düşünülebilirler. &lt;b&gt;Code Activity&lt;/b&gt; içerisinde yazılan kodların tekrar kullanımları çok düşüktür hatta sadece o workflow içerisinde kullanılabilirler. Son olarak &lt;b&gt;Code Activity&lt;/b&gt; iş akışınız içerisndeki Business Logic’i enkapsüle edilen yapılardan biridir.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;2.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Compensate Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;Compensating Activity&lt;/b&gt; ile ilgili ayrıntılara girmek isterseniz ilk önce &lt;b&gt;Com+&lt;/b&gt;&lt;span&gt;  &lt;/span&gt;teknolojinsin bir bölümü olan &lt;b&gt;Compensating Resource Managers&lt;/b&gt; bölümüne göz gezdirerek &lt;b&gt;compensate&lt;/b&gt; mantığını öğrenmeniz sizin için iyi olacaktır. &lt;b&gt;CompensateActivity&lt;/b&gt;’i workflow içerisinde bir hata ile karşılaştıktan sonra gerçekleştirilen işlemleri geri almak için kullanırız. Bunu hata çıkarak sonlanan &lt;b&gt;transaction&lt;/b&gt;’ın &lt;b&gt;RollBack&lt;/b&gt; edilmesi gibi de algılayabilirsiniz. &lt;b&gt;Compensate Activity&lt;/b&gt;’i sadece &lt;b&gt;CompensationHandlerActivity&lt;/b&gt;, &lt;b&gt;CancellationHandlerActivity&lt;/b&gt; ve k içerisinde kullanabilirsiniz. &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;3.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Conditional Activity Group:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;İçerisine eklediğimiz aktiviteleri belirli bir koşul temelinde çalıştıran aktivite türüdür. Aslında içerisine eklenen aktiviteleri &lt;b&gt;Child Activity&lt;/b&gt; olarak adlandırırız ve &lt;b&gt;CAG&lt;/b&gt;’ın yaptığı şey de tanımlanmış &lt;b&gt;Child Activity&lt;/b&gt; serisini sırayla çalıştırmaktır. &lt;b&gt;Conditional Activity Group&lt;/b&gt;, &lt;b&gt;CAG&lt;/b&gt; olarak bilinir. &lt;b&gt;CAG&lt;/b&gt;’ın içerisinde bulunan tüm aktivitelerinde &lt;b&gt;WhenCondition&lt;/b&gt; adı verilen koşul yapısı bulunur. Bizlerin &lt;b&gt;CAG&lt;/b&gt; içerisine eklediğimiz her aktivite için &lt;b&gt;When&lt;/b&gt; koşulunu implement etmemiz gerekir. Bunun haricinde &lt;b&gt;CAG&lt;/b&gt; içerisine eklenmiş her aktivitenin opsiyonel olan ve adına &lt;b&gt;UntilCondition&lt;/b&gt; denilen koşullar bulunmaktadır. Çalışma esnasında &lt;b&gt;Until&lt;/b&gt; koşulu yerine getirildiğinde, o sırada çalışan tüm aktiviteler iptal edilir.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;4.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Delay Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;b&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;b&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Workflow’unuzu milisaniye bazında bekletme işlemini yapan aktivitedir. Workflow’unuz çalıştırma işini yapmadan önce belirlediğiniz süre boyunca bekletilir. &lt;b&gt;Delay Activity&lt;/b&gt; genelde workflow’unuz içerisindeki uzun sürebilecek olan akışlarda, dışarıdan çağrılan nesnelerin işlemlerini tamamlamasını beklediğimiz durumda kullanılır.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;5.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;EventDriven Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;b&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;b&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;EventDriven Activity&lt;/b&gt; beklide WWF’in en önemli aktivitelerinden biridir. Öncelikli görevi &lt;b&gt;State Machine Workflow&lt;/b&gt; ile &lt;b&gt;Sequence Workflow&lt;/b&gt; arasındaki geçişi sağlamaktır. Diğer yaptığı iş ise içerisinde barındırdığı alt aktiviteleri belirtilen olay gerçekleştiğinde çalıştırmaktır. Daha çok &lt;b&gt;State Machine Workflow&lt;/b&gt; senaryolarında geçerlidir. Son olarak &lt;b&gt;EventDriven Activity&lt;/b&gt; ile çalışırken, &lt;b&gt;EventDriven Activity&lt;/b&gt;’e ekleyeceğimiz al aktivitelerin &lt;b&gt;IEventActivty&lt;/b&gt; interface’ini implement etmiş olmasına dikkat etmeliyiz. Bizlere sunulan aktiviteler içerisinde &lt;b&gt;HandleExternalEvent&lt;/b&gt; ve &lt;b&gt;Delay&lt;/b&gt; aktiviteleri bu interface’i implement emiştir.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;6.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Fault Handler Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;Fault Handler&lt;/b&gt; aktivitesi C# içerisindeki catch bloğu gibi çalışan bir aktivitedir. Temel olarak hataları, istisnai durumları ya da özel olarak belirttiğimiz nesneleri izler. Hata çıktığında içerisinde barındırdığı alt aktiviteleri çalıştırır. &lt;b&gt;FaultHandler&lt;/b&gt; aktivitesinin hangi hatayı izlemesi gerektiğini &lt;b&gt;Fault&lt;/b&gt; özelliğine değer atayarak belirleyebiliriz. Workflow’unuz içerisine &lt;b&gt;FaultHandler&lt;/b&gt; aktivitesinden ekleyebilmeniz için, aktiviteniz üzerine sağ tuş ile tıklayıp &lt;b&gt;View Fault Handlers&lt;/b&gt; menüsünü seçmeniz gerekmektedir.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;7.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;IfElse Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Workflow içerisindeki koşuk aktivitesidir. Yaptığı şey belirli bir koşul altında bulunan koşul bölümlerinden birini çalıştırmak. Altında bulunan ilk bölüm mutlaka bir koşul bulundurmalıdır. Aslında ilk bölüm kodumuzun If bloğunu temsil eder. Altında bulunan son bölüm ise else bloğunu temsil eder. Burada koşuk tanımlamamız zorunlu değildir. &lt;b&gt;IfElse&lt;/b&gt; aktivitesi içerisindeki alt bölümlerde farklı akışlar tanımlamak mümkündür.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;8.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Invoke Web Service Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Dışarıdaki bir web servisi çağırmak için kullanılan aktivitedir. Bu aktiviteyi kullanabilmeniz için projeniz içerisine bir adet web reference eklemeniz gerekmektedir. Web reference’ı ekledikten sonra &lt;b&gt;InvokeWebServie&lt;/b&gt; aktivitesinin &lt;b&gt;ProxyClass&lt;/b&gt; özelliğine değer atayın ve &lt;b&gt;InvokeWebServie&lt;/b&gt; aktivitesinin &lt;b&gt;MethodName&lt;/b&gt; özelliğine web servisin çağırmak istediğiniz metodun adını yazın. Bu şekilde workflow’unuz içerisinden herhangi bir web servisini çağırabilirsiniz.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;9.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;    &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Listen Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;En az iki aktiviteden oluşması &lt;b&gt;Listen Activity&lt;/b&gt;, içerisinde sadece &lt;b&gt;EventDriven Activity&lt;/b&gt; tutabilir. &lt;b&gt;Listen Activity&lt;/b&gt; barındırdığı &lt;b&gt;EventDriven&lt;/b&gt; aktivitelerinin olaylarını yakalamalarını bekler. Altında bulunan &lt;b&gt;EventDriven&lt;/b&gt; akitivelerinden biri kendi olayını yakaladığında diğer &lt;b&gt;EventDriven&lt;/b&gt; bölümleri iptal edilir. &lt;b&gt;Listen Activity&lt;/b&gt; bir akış akış aktivitesidir ve &lt;b&gt;State Machine Workflow&lt;/b&gt; uygulamaları içerisinde kullanılmaz.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;10.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Paralel Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;İçinde en az iki tane &lt;b&gt;Sequence Activity&lt;/b&gt; bulunduran &lt;b&gt;Paralel Activity&lt;/b&gt;, aynı anda birden fazla &lt;b&gt;Sequence Activity&lt;/b&gt;’nin bağımsız olarak çalıştırılmasını sağlar. &lt;b&gt;Paralel&lt;/b&gt; aktivite içinde bulunan &lt;b&gt;Sequence&lt;/b&gt; aktivitelerinin hepsinin çalışması bittiğinde, &lt;b&gt;Paralel Activity&lt;/b&gt; de görevini tamamlamış olur. Burada dikkat edilmesi gereken nokta birden fazla &lt;b&gt;Sequence&lt;/b&gt;’in aynı veriye erişmeye çalışmasının problem oluşturabileceği.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;11.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Policy Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Workflow içerisinde kurallar tanımlayabildiğimiz aktivitedir. &lt;b&gt;Policy&lt;/b&gt; aktivitesi bizlere kural tabanlı iş akışı tanımlama imkânı sunar. Genelde proje içerisinde koşul tabanlı bir durumla karşılaştığımızda &lt;b&gt;IfElse&lt;/b&gt; aktivitesi ya da &lt;b&gt;Policy&lt;/b&gt; aktivitesi kullanırız. İçerisinde akış geçen durumlarda &lt;b&gt;IfElse&lt;/b&gt; aktivitesi kullanarak mevcut akışın farklı bir yöne doğru ilerlemesini sağlarız. Akış içerisinde küçük kontrol mekanizmaları kullanacaksak ve koşul sonunda akış içerisinde bir değişiklik olmayacaksa &lt;b&gt;Policy&lt;/b&gt; aktivitesini kullanmamız doğru olur.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;12.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Replicator Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;Replicator Activity&lt;/b&gt; C# içerisindeki foreach deyimine benzer. Tek bir alt aktiviteden birden fazla kopya oluşturur ve kopyaları çalıştırır. Bir veri koleksiyonu içerisindeki nesne tabanlı alt aktiviteden birden fazla örnek oluşturur ve bu örnekleri çalıştırır. Asıl kullanım yeri &lt;b&gt;Data-Driven&lt;/b&gt; iş akışlarıdır. &lt;b&gt;Replicator&lt;/b&gt; &lt;b&gt;Activity&lt;/b&gt; işleri hem &lt;b&gt;Sequential&lt;/b&gt; hem de &lt;b&gt;Paralel&lt;/b&gt; olarak yapabilme özelliğine sahiptir.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;13.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Sequence Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;İçerisinde bulundurduğu aktiviteleri belirlediğimiz sıra ile çalıştırmaya yarayan aktivite türüdür. Yalnız tek bir alt bölüm bulundurabilir yani &lt;b&gt;IfElse&lt;/b&gt; aktivitesi gibi istediğimiz kadar alt bölüm ekleyemeyiz. &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;14.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;SetState Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;State Machine Workflow&lt;/b&gt; içerisinde kullanılan &lt;b&gt;SetState Activity&lt;/b&gt;, daha önceden tanımladığımız &lt;b&gt;State&lt;/b&gt; aktiviteleri arasındaki geçişi sağlayan aktivitedir. &lt;b&gt;SetState&lt;/b&gt; aktivitesinin &lt;b&gt;TargetStateName&lt;/b&gt; özelliğine geçiş yapılacak &lt;b&gt;State&lt;/b&gt; aktivitesinin değerini vererek, &lt;b&gt;SetState&lt;/b&gt; aktivitesini yönlendirmiş oluruz.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;15.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;State Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;State Activity&lt;/b&gt;, &lt;b&gt;State Machine&lt;/b&gt; Workflow yapısının en önemli parçasıdır. Biz &lt;b&gt;State Machine Workflow&lt;/b&gt; yapılarını &lt;b&gt;State&lt;/b&gt; akitivileri ile kurarız. Kendi içinde de &lt;b&gt;State Activity&lt;/b&gt; barındırabilme özelliğne sahiptir. &lt;b&gt;StateInitialization&lt;/b&gt;, &lt;b&gt;StateFinalization&lt;/b&gt; ve &lt;b&gt;State&lt;/b&gt; olmak üzere 3 ayrı duruma sahiptir. &lt;b&gt;StateInitialization&lt;/b&gt; başlangıç durumunu ifade eder. &lt;b&gt;StateFinalization&lt;/b&gt; bitiş durumunu ifade eder. &lt;b&gt;State&lt;/b&gt; ise ara durumları ifade eder. &lt;b&gt;State&lt;/b&gt; aktiviteleri arasındaki gezinimi &lt;b&gt;StateInitialization&lt;/b&gt; aktivitesi, &lt;b&gt;StateFinalizatin&lt;/b&gt; aktivitesi ve &lt;b&gt;EventDriven&lt;/b&gt; aktivitesi ile yaparız.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;16.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;StateInitialization Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;State&lt;/b&gt; başladığında herhangi bir &lt;b&gt;EventDriven&lt;/b&gt; aktivitesi çalışmadan iş akışımız içerisinde bazı işler yapmak istersek burada &lt;b&gt;StateInitialization&lt;/b&gt; aktivitesini kullanırız. &lt;b&gt;StateInitialization&lt;/b&gt; aktivitesi tam olarak &lt;b&gt;State&lt;/b&gt; aktivitesine ilk girildiğinde çalışmaktadır. Bu aktiviteyi &lt;b&gt;State&lt;/b&gt; aktivitesi içerisinde sadece bir kere kullanabilirisiniz.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;17.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Suspend Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Çalışan iş akışı içersinde hata çıktığında, iş akışını beklemeye alabiliriz. Bu sırada iş akışına gelen mesajlar sıraya alınır. İş akışının sunulduğu istemci tarafında &lt;b&gt;WorkflowRuntime&lt;/b&gt; nesnesinin &lt;b&gt;WorkflowSuspended&lt;/b&gt; olayı fırlatılır. Böylelikle bir iş akışının ne zaman beklemeye alındığını görebilir ve hatanın çıkma nedenini anlayabiliriz. İş akışının çalışmaya devam etmesi için de iş akışını yeniden başlatmamız gerekmektedir. Bu işi &lt;b&gt;WorkflowInstance&lt;/b&gt; sınıfının &lt;b&gt;Resume&lt;/b&gt; metodunu çalıştırarak yaparız.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;18.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Terminate Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Bir akış aktivitesi olan &lt;b&gt;Terminate Activity&lt;/b&gt;, uygulama içerisinde hata çıktığında iş akışını durdurur. &lt;b&gt;Suspend Activity&lt;/b&gt; ile karıştırmamak gerekir. Çünkü &lt;b&gt;Suspend&lt;/b&gt; aktivitesi iş akışı içerisinde ciddi bir hata ile karşılaşıldığında iş akışını bekletir. &lt;b&gt;Terminate Activity&lt;/b&gt; ise iş akışını durdurur yani sonlandırır. Aynı zamanda bu aktivite çıkan hatayı loglar. Çalışan iş akışının sonlandığını &lt;b&gt;WorkflowRuntime&lt;/b&gt; nesnesinin &lt;b&gt;WorkflowTerminated&lt;/b&gt; olayı ile yakalamak mümkündür.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;19.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Throw Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Hata yakalama aktiviteleri grubunda olan &lt;b&gt;Throw Activity&lt;/b&gt;, iş akışı içerisinde çıkan hatayı başka bir aktiviteye bildirmek için kullanılır. &lt;b&gt;Throw&lt;/b&gt; aktivitesini &lt;b&gt;catch&lt;/b&gt; bloğu içerisinde hata fırlatmak için kullandığımız throw anahtar kelimesine benzetebiliriz. &lt;b&gt;Throw&lt;/b&gt; aktivitesini herhangi bir aktivitenin &lt;b&gt;View Fault Handler&lt;/b&gt; bölümü içerisinde kullanmak doğru olacaktır.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;20.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;Transaction Scope Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Akış aktiviteleri grubunda olan &lt;b&gt;Transaction Scope Activity&lt;/b&gt;, içerisindeki aktiviteleri aynı &lt;b&gt;transaction&lt;/b&gt; kapsamı altında çalıştırarak, bu aktivitelerin tek bir iş gibi çalışmasını sağlar. Çalışma esnasında &lt;b&gt;Transaction Scope&lt;/b&gt; kapsamındaki aktivitelerin herhangi birinde bir problem ile karşılaşılırsa gerçekleştirilen işlemler geri alınır ve kapsam içerisindeki aktiviteler işe başlamadan hangi durumda iseler o duruma getirilirler.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt left 45.0pt"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;span&gt;&lt;font color="#000000"&gt;21.&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New"&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;While Activity:&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt;C#’tan da bildiğimiz &lt;b&gt;While&lt;/b&gt; deyimi, &lt;b&gt;Windows Workflow Foundation&lt;/b&gt; içerisinde &lt;b&gt;While Activity&lt;/b&gt; olarak karşımıza çıktı. &lt;b&gt;While&lt;/b&gt; aktivitesinin koşulu &lt;b&gt;true&lt;/b&gt; olduğu sürece, içerisine yerleştirdiğimiz aktiviteleri çok hızlı bir şekilde çalıştırmak için tasarlanmış bir aktivitedir. &lt;b&gt;While&lt;/b&gt; aktivitesinin çalışma koşulu &lt;b&gt;Policy&lt;/b&gt; aktivitesi ile ya da &lt;b&gt;Code&lt;/b&gt; aktivitesi ile sağlanabilir.&lt;/font&gt; 
&lt;div style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:1pt;border-left:medium none;padding-top:0cm;border-bottom:windowtext 1pt solid;mso-element:para-border-div"&gt;
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=9042701556601207285&amp;page=RSS%3a+Windows+Workflow+Foundation+%e2%80%93+Out-Of-The-Box+Activiteleri(1)&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=cagdasdavulcu.spaces.live.com&amp;amp;GT1=cagdasdavulcu"&gt;</description><comments>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!214.entry#comment</comments><guid isPermaLink="true">http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!214.entry</guid><pubDate>Mon, 17 Dec 2007 21:33:09 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://cagdasdavulcu.spaces.live.com/blog/cns!7D7E2127CB1639F5!214/comments/feed.rss</wfw:commentRss><wfw:comment>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!214.entry#comment</wfw:comment><dcterms:modified>2007-12-17T21:37:24Z</dcterms:modified></item><item><title>Windows Workflow Foundation</title><link>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!213.entry</link><description>&lt;div&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;&lt;span style="font-size:26pt"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Günümüzde geliştirilen uygulamalarda akışların yönetimini tasarım seviyesinden çok kod içerisinden yapmaktaydık. WWF ile iş akışı kavramı tasarım seviyesine çekilerek yazılım mimarlarının, proje yöneticilerinin ve kernel developerların daha görsel iş akışı tasarımları yapabilmelerini sağlamak isteniyor. Görsellik ile bu kişilerin analiz yapma becerilerini ön plana çıkararak geliştirilen uygulamaların başarı oranını da yükseleceği de tahmin edilmekte. &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Eğer belirli bir iş akışı ile ilerleyen bir uygulama geliştiriyorsanız, uygulamanız içerisindeki kuralları yönetecek olan WWF’i kullanabilirsiniz. Eğer uygulamanız insan etkileşimlerini kapsayan serilerden oluşuyorsa, WWF’in state machine diyagramlarını kullanarak bildirim(declarative) programlama stili ile uygulamanızı geliştirebilirsiniz. Eğer size yüksek esneklikte özelleştirilebilir bir uygulama gerekiyorsa, iş akışlarının doğasından gelen bildirim(declarative) mantığı, çalışma akışı ile iş akışını birbirinden ayırmanız için bir silah olabilir.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;b&gt;&lt;i&gt;Not:&lt;/i&gt;&lt;/b&gt;&lt;i&gt; .Net Framework 3.0 ile eskiden daha çok kullanılan impreative programlamanın yerini declarative programlamanın aldığı açık olarak görülmektedir. &lt;/i&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;i&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/i&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Ayrıca Windows Workflow Foundation ile Microsoft’un geliştirmiş olduğu diğer ürünler ile iletişim sağlayabilir ve dağıtık uygulamalar da geliştirebilirsiniz. Microsoft Biztalk Server ve Share Point Services WWF ile birlikte çalışmaya tasarlanmışlardır.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;span style="font-size:20pt"&gt;&lt;font color="#000000"&gt;&lt;strong&gt;Neden Windows Workflow Foundation Kullanalım?&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font size=2&gt;        &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Yeni iş akışları geliştirmek için bizlere esnek ve güçlü bir framework sunar.&lt;/b&gt; Böylelikle sizler de zamanınızı ve enerjinizi kendi framework ünüzü oluşturmak için harcarsınız.&lt;/font&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt 35.4pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font size=2&gt;        &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Kendi uygulamanızın tutarlı olmasına katkıda bulunur.&lt;/b&gt; Yeni bir uygulama geliştirirken ya da mevcut bir uygulamaya bakım yaparken kendi içerisindeki programlama modelinin tutarlılığı ve bizlere sunduğu araçlar, verimliliğinizi arttırır.&lt;/font&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font size=2&gt;        &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Sequential ve State Machine iş akışı tiplerini destekler. &lt;/b&gt;Bu başlık ile ilgili yazım içerisinde yeterince açıklama yaptığımı düşündüğüm için daha fazla açıklama yapmayacağım&lt;span style="font-family:Wingdings"&gt;&lt;span&gt;J&lt;/span&gt;&lt;/span&gt;.&lt;/font&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;font color="#000000"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font size=2&gt;        &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Workflowların kalıcılığını destekler. &lt;/b&gt;WWF içerisinde tanımladığınız bir workflowu belirli bir noktada kaydedip daha sonra tekrar uygulamanı içerisine yükleyebilirisiniz. &lt;b&gt;&lt;i&gt;Not:&lt;/i&gt;&lt;/b&gt;&lt;i&gt; Workflowların serialize olabildiğini biliyor muydunuz?&lt;/i&gt; &lt;/font&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font size=2&gt;        &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Windows Workflow Foundation &lt;i&gt;Domain-Specific&lt;/i&gt; model kullanılarak problem çözmeyi destekler. &lt;/b&gt;Microsoft sizi kendi özel activite bileşenlerinizi geliştirmeniz için teşvik eder. Özelleştirilmiş bileşenler sizin problemlerinizi adreslerler ve uygulamayı geliştirdiğiniz alanlar altında sizin sunduğunuz ortak çözümlerle çözülürler.&lt;/font&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font size=2&gt;        &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Workflowlar genişletilebilir bir temel üzerine kurulmuştur.&lt;/b&gt; Sizlere sunulan mevcut aktiviteleri kullanarak kendi aktivitelerinizi geliştirebilirsiniz.&lt;/font&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;font color="#000000"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family:Symbol"&gt;&lt;span&gt;·&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font size=2&gt;        &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Tasarım zamanında ya da çalışma zamanında kaynak kodda hiçbir değişiklik yapmadan iş akışını değiştirebilirsiniz. &lt;/b&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Bunların sizi ikna etmeye yetecek kadar fazla olması nedeniyle madde sayısını arttırmıyorum &lt;font face="Courier New"&gt;&lt;span style="font-family:Wingdings"&gt;&lt;span&gt;J&lt;/span&gt;&lt;/span&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=9042701556601207285&amp;page=RSS%3a+Windows+Workflow+Foundation&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=cagdasdavulcu.spaces.live.com&amp;amp;GT1=cagdasdavulcu"&gt;</description><comments>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!213.entry#comment</comments><guid isPermaLink="true">http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!213.entry</guid><pubDate>Wed, 12 Dec 2007 13:49:50 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://cagdasdavulcu.spaces.live.com/blog/cns!7D7E2127CB1639F5!213/comments/feed.rss</wfw:commentRss><wfw:comment>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!213.entry#comment</wfw:comment><dcterms:modified>2007-12-17T21:41:50Z</dcterms:modified></item><item><title>İş Akışı(Workflow) Tipleri</title><link>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!212.entry</link><description>&lt;div&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;&lt;span style="font-size:20pt"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;İş akışı kavramının ne olduğu üzerine konuştuktan sonra uygulamamız içerisinde tanımlayacağımız iş akışlarının tiplerini de belirlememiz gerekir. Bu bölümde iş akışını belirlerken kullanacağımız &lt;b&gt;Ordered Workflow(Sequential Workflow)&lt;/b&gt;, &lt;b&gt;Event-Driven Workflow(State Machine Workflow)&lt;/b&gt; ve &lt;b&gt;Data-Driven Workflow&lt;/b&gt; iş akışı tiplerini göreceğiz.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;1- Ordered Workflow(Sequential Workflow)&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Karşımıza daha çok Sequential(sıralı) Workflow adıyla çıkacak olan iş akışı tipinin özelliği içerisinde bulundurduğu aktiviteleri(&lt;b&gt;activity&lt;/b&gt;) sıralı(adım adım) olarak çalıştırmasıdır. Ordered Workflow’lar bir tetikleyici ile başlayan ve bir daha önceden tanımlanmış bir adımdan diğer bir adıma geçerek ilerleyen iş sırası olarak da tanımlanabilir. Bu iş içerisinde kontrol ya da karar yapısı içerebilir. If bloğu ya da while döngüsü gibi…&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Elimizde müşterimize yollayacağımız bir dokümanın olduğunu varsayalım. Bu dokümanın ilk önce A kişisinin dokümanı gözden geçirmesi, B kişisinin onaylaması ve C kişisinin de bu dokümanı müşterimize yollaması gerekiyorsa Sequential Workflow ideal bir seçim olacaktır.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;2- Event-Driven Workflow(State Machine Workflow)&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Çoğunlukla &lt;b&gt;&lt;i&gt;finite state machine(FSM)&lt;/i&gt;&lt;/b&gt;&lt;i&gt; &lt;/i&gt;olarak adlandırılır. Bir başlangıç durumundan belirli bir olay ya da aktiviteyi temel alarak başka bir duruma geçme şeklinde çalışan mekanizmaya sahiptir. &lt;span&gt; &lt;/span&gt;Belirli bir durum içerisinde fırlatılan daha önceden tanımlanmış bir olay, mevcut durumu önceden tanımlanmış başka bir duruma geçirerek uygulama içerisindeki etkileşimi sağlar. &lt;b&gt;&lt;i&gt;State Machine Workflow’da amaç mevcut durumu değiştirmektir&lt;/i&gt;&lt;/b&gt;. Bir uyarıda bulunmak gerekirse, State Machine Workflow içerisinde bir durumun değişmesi için önceden tanımlanmış olayın fırlatılması zorunluluğu vardır. &lt;b&gt;Event-Driven Workflow&lt;/b&gt; kavramı da oradan gelmektedir.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Yukarıdaki &lt;b&gt;State Machine Workflow&lt;/b&gt;’u inceleyelim. Siparişin oluşturulması ile &lt;i&gt;WaitinForOrder&lt;/i&gt; durumundan &lt;i&gt;OrderOpen&lt;/i&gt; durumuna geçiliyor. Sipariş güncellenirse &lt;i&gt;OrderOpen&lt;/i&gt;, sipariş işleme sokulursa da &lt;i&gt;OrderProcessed&lt;/i&gt; durumuna geçiliyor. Fark ettiyseniz olaylar ve olaylar gerçekleştiğinde devreye giren aktiviteler aracılığıyla mevcut durum değiştiriliyor. Amacım &lt;b&gt;State Machine Workflow&lt;/b&gt; tipine bir giriş yapmak. Bu konuya daha sonra tekrar döneceğim.&lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:16pt"&gt;&lt;font color="#000000"&gt;3- Data-Driven Workflow&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt;Sizlere Data-Driven Workflow mantığını bir senaryoyu örnek göstererek anlatacağım. En uygun senaryo &lt;b&gt;&lt;i&gt;“Stok Eksiği”&lt;/i&gt; &lt;/b&gt;senaryosu: &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;i&gt;&lt;font color="#000000"&gt;“Seri üretim hattı üzerinde küçük aletler yapılıyor ve kullanılan program stoklarda yeteri kadar malzemenin olduğunu söylüyor. Stok yöneticisi depoya üretimde kullanılan malzemeleri getirmeye gittiğinde yeteri kadar stok olmadığını yani stoklarda eksik olduğunu görüyor.”&lt;/font&gt;&lt;/i&gt; 
&lt;div style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:1pt;border-left:medium none;padding-top:0cm;border-bottom:windowtext 1pt solid;mso-element:para-border-div"&gt;
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt;&lt;font color="#000000"&gt;Yukarıdaki senaryoda yaşanan problemler eğer Data-Driven Workflow yöntemi ile belirlenerek geliştirilmiş olsaydı bu durumun neden kaynaklandığını anlayabilir, hatta bu durum oluşmadan önlemleri alınabilirdi. &lt;/font&gt;
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt;&lt;font color="#000000"&gt;Örneğin stoklarda kullanılan malzemelerden birkaçının bozuk çıkma ihtimali durumunda ne yapılacağının kestirilmesi ya da stoklardaki malzemenin belirli bir kritik seviye altına indiğinde uygulamanın nasıl davranması gerektiği senaryolarına göre uygulamanın davranış şekillerini belirlemek. (Örn: tedarikçi firmaya otomatik olarak sipariş verme, stok yöneticisine bu durumu haber verme ya da stok yöneticisinin belirli aralıklarla stok miktarını raporlama görevlerinin eklenmesi gibi…). &lt;/font&gt;
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt;&lt;font color="#000000"&gt; &lt;/font&gt; 
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt;&lt;font color="#000000"&gt;Fark ettiyseniz Data-Driven Workflow, Sequential Workflow ya da State Machine Workflow gibi fiziksel olarak açıklayabileceğimiz bir iş akışı değil. Kavramsal bir konu ve iş akışlarını geliştirirken göz önünde bulundurmamız gereken bir durumdur.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=9042701556601207285&amp;page=RSS%3a+%c4%b0%c5%9f+Ak%c4%b1%c5%9f%c4%b1(Workflow)+Tipleri&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=cagdasdavulcu.spaces.live.com&amp;amp;GT1=cagdasdavulcu"&gt;</description><comments>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!212.entry#comment</comments><guid isPermaLink="true">http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!212.entry</guid><pubDate>Wed, 12 Dec 2007 13:49:04 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://cagdasdavulcu.spaces.live.com/blog/cns!7D7E2127CB1639F5!212/comments/feed.rss</wfw:commentRss><wfw:comment>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!212.entry#comment</wfw:comment><dcterms:modified>2007-12-17T21:35:07Z</dcterms:modified></item><item><title>Workflow Nedir?</title><link>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!211.entry</link><description>&lt;font color="#000000"&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt; &lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Microsft’un .Net Framework 3.0 ile getirdiği Windows Workflow Foundation, yazılım mimarlarının, analistlerin ve kernel developerların projelerindeki iş akışlarını belirlemekte zorlandığı noktalarda bir kurtarıcı gibi devreye giren ve Enterprise uygulamalarda işlerin ölçeklenebilmesini sağlayan bir teknolojidir. Bu yazı içerisinde Workflow kavramı ve Windows Workflow Foundation konularının mantığından söz edeceğim. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Sizlere WWF teknolojisi ile ilgili bilgi vermeden önce &lt;b&gt;İş Akışı(Workflow) &lt;/b&gt;kavramından söz etmek istiyorum. Nasıl veri tabanı ile ilgili bir şeyler öğrenmeye başlamadan veri nedir öğrenmemiz gerekiyorsa, Windows Workflow Foundation ile ilgili bir şeyler öğrenmeden önce Workflow kavramını öğrenmemiz gerekir. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Workflow ile ilgili bölümü okumaya başlamadan önce Microsoft tarafından geliştirilen Windows Workflow Foundation (WWF), uygulama çalışırken iş akışını real-time olarak değiştirebilme imkânını sunmuştur. Özellikle Content Management uygulamalarının vazgeçilmeyecek teknolojisi olacaktır. Windows Workflow Foundation konusu ile ilgili tüm detayları sizlerle paylaşmadan önce özellikle bilmeniz gereken kavram iş akışıdır. Aşağıdaki bölümü Windows Workflow Foundation’ın abc’si gibi düşünerek okumanızı tavsiye ederim. Aşağıda sizlerle paylaştığım bilgiler yaklaşık 5 wwf kitabı, MSDN ve Microsoft uygulama geliştirme ekiplerinde çalışan kişilerin kaynaklarını araştırarak edindiğim bilgilerin harmanlanmasından oluşmaktadır. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt; &lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;font size=2&gt;&lt;b&gt;&lt;span style="font-size:20pt"&gt;İş Akışı (Workflow) Nedir?&lt;/span&gt;&lt;/b&gt; &lt;/font&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt; &lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Türkçe karşılığıyla iş akışı anlamına gelen &lt;b&gt;Workflow&lt;/b&gt;, tasarımınız içerisinde bulunan öğelerin bir iş içerisinde bulunabileceği durumları gösterir. &lt;b&gt;Workflow&lt;/b&gt; bir öğenin aktörler arasındaki dolaşımı esnasında izleyebileceği adımların bir araya gelmesidir. Genelde bu işlemler iş dünyasında geçerli olan ve tamamlanma kıstasına sahip adımlardan oluşur. Kısaca adımlar, kurallar ve kararlar bütünüdür. 
&lt;div style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:1pt;border-left:medium none;padding-top:0cm;border-bottom:windowtext 1pt solid;mso-element:para-border-div"&gt;
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt; &lt;/div&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;Örnek1: “Pizza siparişi verme işlemi…”&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt 18pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;1-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Kasiyere sipariş vermek istediğiniz pizza türünü söylersiniz. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;2-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Kasiyer verdiğiniz sipariş bilgilerini pizza yapma işiyle ilgilenen kişiye bildirir. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;3-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Pizza malzemeleri hamur üzerine eklenir. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;4-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Pizza fırına koyulur. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;5-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Pizza pişer. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;6-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Pizzayı yapan kişi pizzayı kasiyere verir. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;7-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Kasiyer pizzayı bize verir. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Burada akış kasiyer ile başlar, daha sonra pizzayı yapacak kişi ile devam eder. Tekrar kasiyere döner ve son olarak pizza elimizdedir. 
&lt;div style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:1pt;border-left:medium none;padding-top:0cm;border-bottom:windowtext 1pt solid;mso-element:para-border-div"&gt;
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt; &lt;/div&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;Örnek2: “Bir iş yerinde çalışan kişinin avans istemesi işlemi…”&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;Senaryo1:&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;1-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Kişi yetkilisinden avans ister. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;2-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Yetkili kişi bu isteği değerlendirir. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;3-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Eğer yetkili kişi bu isteği uygun görürse muhasebe bölümünden o kişinin avans alıp alamayacağını sorgular. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;4-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Eğer o kişi avans alabilecek seviyedeyse muhasebe bölümü kişinin istediği avans miktarını kişinin hesabına yatırır. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;5-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Kişinin hesabına para yatırıldıktan sonra o kişinin yetkilisine bu işlem bildirilir. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;6-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Bu işlem avans isteyen kişiye bildirilir ve işlem sonlanır. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;Senaryo2:&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;1-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Kişi yetkilisinden avans ister. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;2-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Yetkili kişi bu isteği değerlendirir. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;3-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Yetkili kişi bu isteği geri çevirir. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;Senaryo3:&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;1-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Kişi yetkilisinden avans ister. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;2-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Yetkili kişi bu isteği değerlendirir. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;3-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Eğer yetkili kişi bu isteği uygun görürse muhasebe bölümünden o kişinin avans alıp alamayacağını sorgular. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;4-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Muhasebe bölümü bu işlemin o anda uygun olmadığını söyler. 
&lt;p style="margin:0cm 0cm 0pt 36pt;text-indent:-18pt;text-align:justify;tab-stops:list 36.0pt"&gt;&lt;span&gt;5-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Yetkili kişi muhasebe bölümünün uygun olmadığı gerekçesiyle avans isteyen kişiye avans alamayacağını söyler. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Buna benzeyen daha birçok senaryo oluşturulabilir. Sadece yukarıda belirttiğim 3 senaryoyu inceleyecek olursak, ana işin &lt;b&gt;“avans isteme”&lt;/b&gt; olduğunu çok rahat bir şekilde görürüz. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify;tab-stops:115.0pt"&gt;&lt;span&gt;                                      &lt;/span&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Avans isteme işi içerisindeki akışı senaryolardan çıkarabiliriz. İş akışı çözümlemesi içerisindeki yaklaşımımız bu iş içerisindeki durumları açığa çıkarmak olmalıdır. Yukarıdaki avans isteme senaryosunda avans durumlarını aşağıdaki gibi belirleyebiliriz. 
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;&lt;b&gt;Avans Durumları:&lt;/b&gt; 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;span&gt;1-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Talep Edildi 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;span&gt;2-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Yetkili Değerlendirmesinde 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;span&gt;3-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Muhasebe Değerlendirmesinde 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;span&gt;4-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Onaylandı 
&lt;p style="margin:0cm 0cm 0pt 53.4pt;text-indent:-18pt;text-align:justify;tab-stops:list 53.4pt"&gt;&lt;span&gt;5-&lt;span style="font:7pt 'Times New Roman'"&gt;&lt;font face="Courier New" size=2&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;Geri Çevrildi 
&lt;div style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:1pt;border-left:medium none;padding-top:0cm;border-bottom:windowtext 1pt solid;mso-element:para-border-div"&gt;
&lt;p style="border-right:medium none;padding-right:0cm;border-top:medium none;padding-left:0cm;padding-bottom:0cm;margin:0cm 0cm 0pt;border-left:medium none;padding-top:0cm;border-bottom:medium none;text-align:justify"&gt; &lt;/div&gt;
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;  
&lt;p style="margin:0cm 0cm 0pt;text-align:justify"&gt;Yukarıda belirttiğim iki örnekte de iş akışı, insanlar arasındaki etkileşim üzerine kurulmuştur. Bu durum her zaman insanlar arasındaki etkileşim için olmayabilir. İş akışı içerisinde iki dağıtık uygulamanın birbirleri arasındaki etkileşimi de olabilir. Bunlara en güzel örnek &lt;b&gt;içerik yönetimi uygulamaları&lt;/b&gt;dır. 
&lt;p style="margin:0cm 0cm 0pt"&gt; &lt;/font&gt; 
&lt;p style="margin:0cm 0cm 0pt"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=9042701556601207285&amp;page=RSS%3a+Workflow+Nedir%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=cagdasdavulcu.spaces.live.com&amp;amp;GT1=cagdasdavulcu"&gt;</description><comments>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!211.entry#comment</comments><guid isPermaLink="true">http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!211.entry</guid><pubDate>Tue, 11 Dec 2007 14:51:28 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://cagdasdavulcu.spaces.live.com/blog/cns!7D7E2127CB1639F5!211/comments/feed.rss</wfw:commentRss><wfw:comment>http://cagdasdavulcu.spaces.live.com/Blog/cns!7D7E2127CB1639F5!211.entry#comment</wfw:comment><dcterms:modified>2007-12-17T21:39:09Z</dcterms:modified></item></channel></rss>