<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-7853369445126063426</id><updated>2009-11-03T14:54:58.228+02:00</updated><title type='text'>Çağdaş DAVULCU</title><subtitle type='html'>Microsoft Office Sharepoint Server(MOSS), Windows Workflow Foundation, Microsoft Office InfoPath, Sharepoint Workflow Development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cagdasdavulcu.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default'/><link rel='alternate' type='text/html' href='http://cagdasdavulcu.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>cagdasdavulcu@hotmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7853369445126063426.post-4113671707122704419</id><published>2008-12-29T02:49:00.004+02:00</published><updated>2008-12-29T02:55:08.726+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft office sharepoint server'/><category scheme='http://www.blogger.com/atom/ns#' term='windows workflow foundation'/><title type='text'>Microsoft Office Shrepoint Server içerisine Workflow'unuzu deploy ederken sorunsuz olarak kullanacağınız install.bat dosyası</title><content type='html'>::Aşağıdaki metni olduğu gibi instal.bat uzantılı dosya içerisinde yapıştırın.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:: Install.bat dosyasını çalıştımadan önce assembly'nizi imzalayın.&lt;br /&gt;::&lt;br /&gt;:: Bu dosyatı özelleştirmek için aşağıdaki değerleri bulun ve replace edin.&lt;br /&gt;:: a) "MasrafFormuStateMachine" kendi feature adınız&lt;br /&gt;:: b) "feature.xml" sizin feature.xml dosyanızın adı&lt;br /&gt;:: c) "workflow.xml" sizin workflow.xml dosyanızın adı&lt;br /&gt;:: d) "http://litwareportal" workflow'unuzu yayımlamak istediğiniz portalın adresi&lt;br /&gt;&lt;br /&gt;echo Feature Kopyalanıyor...&lt;br /&gt;&lt;br /&gt;rd /s /q "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MasrafFormuStateMachine"&lt;br /&gt;mkdir "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MasrafFormuStateMachine"&lt;br /&gt;&lt;br /&gt;copy /Y feature.xml  "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MasrafFormuStateMachine\"&lt;br /&gt;copy /Y workflow.xml "%CommonProgramFiles%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MasrafFormuStateMachine\"&lt;br /&gt;&lt;br /&gt;::Solution klasörünüz içerisinde InfoPath\Publish klasörü oluşturun.&lt;br /&gt;::bu klasör altına publish ettiğiniz InfoPath formlarını atın.&lt;br /&gt;xcopy /s /Y ..\InfoPath\Publish\*.xsn "%programfiles%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MasrafFormuStateMachine\"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo Assembly ler GAC'a ekleniyor...&lt;br /&gt;&lt;br /&gt;"%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -uf "MasrafFormuStateMachine"&lt;br /&gt;"%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -if "bin\Debug\MasrafFormuStateMachine.dll"&lt;br /&gt;&lt;br /&gt;:: Note: 64-bit için bu kodları uncommen edin&lt;br /&gt;::"%programfiles% (x86)\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -uf "MasrafFormuStateMachine"&lt;br /&gt;::"%programfiles% (x86)\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" -if "bin\Debug\MasrafFormuStateMachine.dll"&lt;br /&gt;&lt;br /&gt;echo Feature aktive ediliyor...&lt;br /&gt;&lt;br /&gt;pushd %programfiles%\common files\microsoft shared\web server extensions\12\bin&lt;br /&gt;&lt;br /&gt;stsadm -o deactivatefeature -filename "MasrafFormuStateMachine\feature.xml" -url http://litwareportal&lt;br /&gt;stsadm -o uninstallfeature -filename "MasrafFormuStateMachine\feature.xml"&lt;br /&gt;&lt;br /&gt;stsadm -o installfeature -filename "MasrafFormuStateMachine\feature.xml" -force&lt;br /&gt;stsadm -o activatefeature -filename "MasrafFormuStateMachine\feature.xml" -url http://litwareportal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo iisreset reseti atılıyor...&lt;br /&gt;&lt;br /&gt;popd&lt;br /&gt;iisreset&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7853369445126063426-4113671707122704419?l=cagdasdavulcu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cagdasdavulcu.blogspot.com/feeds/4113671707122704419/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7853369445126063426&amp;postID=4113671707122704419' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/4113671707122704419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/4113671707122704419'/><link rel='alternate' type='text/html' href='http://cagdasdavulcu.blogspot.com/2008/12/microsoft-office-shrepoint-server.html' title='Microsoft Office Shrepoint Server içerisine Workflow&apos;unuzu deploy ederken sorunsuz olarak kullanacağınız install.bat dosyası'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>cagdasdavulcu@hotmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11693890822358161298'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7853369445126063426.post-2131437382289265504</id><published>2008-12-29T01:51:00.004+02:00</published><updated>2008-12-29T02:03:50.195+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft visual studio'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft office sharepoint server'/><category scheme='http://www.blogger.com/atom/ns#' term='windows workflow foundation'/><title type='text'>Microsoft Office Sharepoint Server içerisinde Workflow Seçenekleri</title><content type='html'>Microsoft Office Sharepoint Server içerisinde workflow uygulamak bazen çok teknik hale gelirken bazen de 1 satır kod yazmadan uygulanabilir olmakta. Aşağıda Microsoft Office Sharepoint Server 2007 kullanarak hangi workflow çeşitlerini uygulayabileceğinize kolaydan zora doğru ( 1 en kolay :)) ) değineceğim:&lt;br /&gt;&lt;br /&gt;1. Microsoft Office Sharepoint Server ile gelen hazır workflowlar&lt;br /&gt;2. Microsoft Office Sharepoint Designer ile hazırlanan ve veriyi Microsoft Office InfoPath formlarında tutan workflowlar.&lt;br /&gt;3. Microsoft Visual Studio(2005 - 2008) ile hazırlanan ve veriyi Microsoft Office InfoPath formlarında tutan workflowlar.&lt;br /&gt;4. Microsoft Visual Studio(2005 - 2008) ile hazırlanan ve veriyi Asp.Net formlarında tutan workflowlar.&lt;br /&gt;&lt;br /&gt;MOSS 2007 içerisinde workflow adımları kullanıcılara atanan görevlere verilen cevaplar sonucu ilerler ve sonlanır. Yukarıda açıkladığım Asp.net veya InfoPath veri formları kullanıcılara görev olarak atanır. Bunun sonucu olarak kullanıcılara daha önceden tasarlayıp geliştirdiğiniz Asp.Net veya InfoPath formları görev olarak kullanıcılara gösterilir. Asp.net'in kod hakimiyetini veya InfoPath formlarının kolay geliştirilebilirliğini kullanmak sizin tercihinize kalıyor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7853369445126063426-2131437382289265504?l=cagdasdavulcu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cagdasdavulcu.blogspot.com/feeds/2131437382289265504/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7853369445126063426&amp;postID=2131437382289265504' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/2131437382289265504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/2131437382289265504'/><link rel='alternate' type='text/html' href='http://cagdasdavulcu.blogspot.com/2008/12/microsoft-office-sharepoint-server.html' title='Microsoft Office Sharepoint Server içerisinde Workflow Seçenekleri'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>cagdasdavulcu@hotmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11693890822358161298'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7853369445126063426.post-2721742086551448259</id><published>2008-12-29T00:54:00.004+02:00</published><updated>2008-12-29T12:29:05.516+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sap'/><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='bdc'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft office sharepoint server'/><category scheme='http://www.blogger.com/atom/ns#' term='windows workflow foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Windows Workflow Foundation ve Microsoft Office Sharepoint Server</title><content type='html'>2007 Aralık ayından beri kendimi tamamen yönlendirdiğim Windows Workflow Foundation; veridiğim onlarca Windows Workflow Foundation eğitimleri ve Workflow yapmış olduğum danışmanlıkları beni Microsoft Office Sharepoint Server üzerinde iş akışı geliştirmeye yöneltti... &lt;br /&gt;&lt;br /&gt;Türkiye şartlarında Windows Workflow Foundation ile uygulama geliştirme talebi çok az. Bunun tam tersine 2007 yılından beri patlama yapan Microsoft Office Sharepoint Server ve InfoPath formları Workflow Foundation'ı değerli kılan ürünlerin başında gelmekte. Windows Workflow Foundation hem Human Workflow hem de System Workflow olarak çalışma yeteneğine sahip ve Microsoft Office Sharepoint Server tarafında Human Workflow yapısı tamamen uygulanabilmekte.&lt;br /&gt;&lt;br /&gt;Microsoft Office Sharepoint Server'ın çok farklı sistemlerle entegre çalışması, şirketlerin Microsoft Office Sharepoint Server'ı sadece ECM(Enterprise Content Management) portalı olarak kullanmalarının dışına çıkararak uygulamalarını çalışanlarına tek bir arayüzde görüntüleme fırsatını oluşturdu. Ayrıca BDC (Business data Catalogs) ile SAP, Oracle ve ya SQL Server gibi veri sağlayıcılarındaki verilerin portal üzerinde görüntülenmesi ve aranabilir olarak indekslenmesi Sharepoint'i diğer firmalara rakip bir Search Tool'u olması sağlandı. &lt;br /&gt;&lt;br /&gt;Sharepoint'in sektörel anlamdaki gelişimi firmaların içerik yönetim sistemlerinin de oturmasını sağladı. Buraya kadar Türkiye şartlarında hiç azımsanmayacak kadar bir Sharepoint alt yapısı oluştuğunu anlatmaya çalıştım.&lt;br /&gt;&lt;br /&gt;Yönetilmeye ve saklanmaya başlanan belge ve veriler giderek kurumsallaşmış firmalarda belirli iş akışlarından geçirilme ihtiyacı duyulmaya başlandı. Tabi bu akışların gelitirilme aşamasında Windows Workflow Foundation öne çıkıyor. Kendine benim yorumumca tam bir arayüz bulamamış Windows Workflow Foundation, Microsoft Office Sharepoint Server ile bu ekisiğini de giderdi.&lt;br /&gt;&lt;br /&gt;Microsoft Office Sharepoint üzerinde iş akışları geliştirebilmek için teknik anlamdaki zorluk Microsoft Office InfoPath, ASP.Net, Windows Workflow Foundation ve Sharepoint development parametrelerine hakim olmak...&lt;br /&gt;&lt;br /&gt;Bu zorluğu burada yazacağım yazılarla gidermeye çalışacağım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7853369445126063426-2721742086551448259?l=cagdasdavulcu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cagdasdavulcu.blogspot.com/feeds/2721742086551448259/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7853369445126063426&amp;postID=2721742086551448259' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/2721742086551448259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/2721742086551448259'/><link rel='alternate' type='text/html' href='http://cagdasdavulcu.blogspot.com/2008/12/windows-workflow-foundation-ve.html' title='Windows Workflow Foundation ve Microsoft Office Sharepoint Server'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>cagdasdavulcu@hotmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11693890822358161298'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7853369445126063426.post-4334618298672824883</id><published>2008-06-26T02:21:00.000+03:00</published><updated>2008-12-29T02:23:46.762+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><title type='text'>.Net Platformu ve Framework</title><content type='html'>Herkesin kullandığı bir ifade olan “Framework”, yazılımcılar için farklı anlamlar taşıyabilir. Bu bölümde “Framework” kavramını, neden “Framework”e ihtiyaç duyulduğunu ve “Framework”ün nelere çözümler getirdiği üzerine açıklamalar bulunacaktır. Bunun yanısıra 2000 yılından beri herkesi etkisi altına alan “.Net Framework”, “.Net Framework”ün tarihsel gelişimi, “.Net Framework 3.5” yenilikleri, programlama dilleri ve “Visual Studio 2008” yeniliklerinden söz edilecektir. Bölümü okumayı bitirdiğinizde “Framework Kavramı Nedir?” ve “.Net Framework’ün Özellikleri Nedir?” sorularına cevap verebileceksiniz.&lt;br /&gt;&lt;br /&gt;Framework Kavramı&lt;br /&gt;“Framework” kavramının karşılık gelebileceği bir sürü anlam olduğundan, söz edilen konunun “Yazılım Çatısı(Software Framework)” olduğunu bilmeniz gerekmektedir. “Yazılım Çatısı(Software Framework)” kavramı tam olarak : “Yazılım sistemleri ya da alt sistemleri için tekrar kullanılabilir bir alt yapı tasarımı” anlamına gelmektedir. “Framework” geliştirmenin amacı ise tekrar kullanılabilir ve genişletilebilir bir alt yapı üzerinde tüm teknolojileri çalıştırabilmektir. “Framework”ler böyle bir zorunluluk olmamasına rağmen genellikle “Nesne Yönelimli Programlama” mantığıyla geliştirilmiştirler ve yazılımcılara uygulamalarını geliştirirken yardımcı olan yapılardır. Aynı zamanda geliştirilen “Framework“ler API(Application Programming Interface) adı verilen işletim sisteminin kullandığı nesnelere kolayca erişimi sağlayan yapılar arasındadırlar. Dünyada bu amaçlara hizmet etmek için geliştirilmiş bir sürü ”Framework” bulunmaktadır:&lt;br /&gt;&lt;br /&gt;Java Native Interface(JNI): Java Virtual Machine(JVM) üzerinde “Native Uygulamalar” tarafından Java kodları çalıştırmaya yarayan bir alt yapı.&lt;br /&gt;&lt;br /&gt;Spring: Java platformu için açık kaynaklı uygulama altyapısı.&lt;br /&gt;&lt;br /&gt;Symphony Framework: PHP platformu için geliştirlen uygulama alt yapısı olan Symphony, en popüler “Framework”ler arasında yer almaktadır.&lt;br /&gt;&lt;br /&gt;“Framework”, uzun yıllardır üzerinde çalışmalar yapılan “Yazılım Fabrikası(Software Factory)” kavramının en önemli ürünüdür. Amaç ise değişen koşullara çabuk uyum sağlayan yazılımların yanısıra zaman ve maliyet parametreleri açısından minimum değerleri yakalamaktır. Bunun en güzel örneği de “.Net Framework” versiyonlarıdır. “.Net Framework” dünyanın en başarılı “Framework”leri arasında yer almaktadır. Yazılımcılara yazılım geliştirmek için süper bir altyapı sağlayan “.Net Framework Class Library” ve diğer “Framework”lerden bir farkı daha olan “CLR(Comman Language Runtime)”, uygulamaları daha kolay ve çabuk geliştirilebilir kılmaktadır. Bu konu ile ilgili detaylara “.Net Framework Tarihçesi” başlığı altında değinilecektir. &lt;br /&gt;&lt;br /&gt;.Net Framework Tarihçesi&lt;br /&gt;“.Net Framework” özellikleri:&lt;br /&gt;&lt;br /&gt;Birlikte Çalışabilirlik(Interoperability): “.Net” uygulamaları diğer geliştirilmiş uygulamalarla(“.Net” platformunda yazılıp yazılmadığı önemsenmeksizin) birlikte çalışabilmesi. &lt;br /&gt;&lt;br /&gt;Ortak Çalışma Zamanı Motoru(Common Runtime Engine): “.Net Framework” üzerinde kullanılan programlama dilleri “Ara Dil(Intermediate Language)” bir dile derlenir ki bu “Microsoft Intermediate Language(MSIL)” olarak ta bilinir. Çalışma esnasında “Jusy-In-Time(JIT)” derleyicisi devreye girerek “MSIL” olarak bulunan dosyayı “Makine Dili(Machine Code)“ne derler ve çalıştırma işlemi yapılır. Bu şekilde yapılan çalıştırma işlemine “Ortak Dil Altyapısı(Common Languague Infrastructure)” denir ve bu özellik Microsoft tarafında “Ortak Dil Çalışma Zamanı(Common Language Runtime)” olarak uygulanmıştır.&lt;br /&gt;&lt;br /&gt;Dil Bağımsızlığı(Language Independence): Microsoft “Dil bağımsızlığı“nı “CTS(Common Type System)” adı verilen bir yöntem ile çözmüştür. Bu özelliği bütün veri tipleri ve programlama yapıları göz önünde bulundurularak CLR destekli bir çözüm getirilmiş ve ortaya aynı alt yapı ile çalışan fakat dil bazında değişiklikler gösteren “.Net Programlama Dilleri” çıkmıştır. &lt;br /&gt;&lt;br /&gt;Temel Sınıf Kütüphanesi(Base Class Library): Yazılım geliştiricilerin üzerinde yoğunlaştıkları yazılımları daha kolay bir şekilde geliştirebilmeleri için sunulan bir kütüphanedir. Bir yandan da API(Application Programming Interface)’lerin enkapsüle edilmiş halidir. &lt;br /&gt;&lt;br /&gt;Kolaylaştırılmış Dağıtım(Simplified Deploy): Yüklenmeye çalışılan yazılım ile ilgili arttırılmış kolaylık ve baştan tasarlanan dağıtım sistemi ile geçmişte yüklenen yazılımlara zarar vermeden, düzgün adresleme yapılarak yükleme yapılır.&lt;br /&gt;Güvenlik(Security): Uygulamaların zayıf yönleri ortaya konarak çözümler getirilmiştir. Örneğin: “Buffer Overrun” adı verilen hatalara karşı, “.Net Framework” tarafından bütün uygulamalar için ortak güvenlik desteği sağlamaktadır.&lt;br /&gt;&lt;br /&gt;Taşınabilirlik(Portability): “.Net Framework” çeşitli ortamlarda çalışabilir. Windows, Windows Ce, Xbox 360…&lt;br /&gt;“.Net Framework” bu özelliklerle diğer “Framework”lerden avantajlı hale geldi. Faydalarından biri de yazılım geliştiricilere “Bellek Yönetimi(Memory Management)”ni  bırakmayıp CLR ile üstlenmesi. Yazılım geliştiricilerin geliştirdikleri uygulamalar içerisindeki nesnelerin bellekte olup olmadıklarını kontrol etmelerine gerek kalmadan daha kolay uygulama geliştirme ortamı sağlamasıdır. Bunu da CLR içerisinde bulunan “Çöp Toplayıcı(Garbage Collector)” aracılığıyla yapmaktadır. “.Net Framework” ile getirilen “public key token” yapısı ile geliştirilen “Assembly”lerin çakışması diğer bir adıyla “DLL Hell” ortadan kaldırılmıştır. Son olarak “Veri Hakkında Bilgi(Metadata)” veren bir yapı ile tipler arasında çözümlemeler yapmak mümkün hale getirilmiştir.&lt;br /&gt;&lt;br /&gt;1990’ların sonlarına doğru Microsoft tarafından “Next Generation Windows Services(NGWS)” adıyla geliştirilmeye başlanan “.Net Framework”, 2000 yılında ilk beta versiyonu olan “.Net Framework 1.0” adıyla piyasaya çıktı. Daha sonraları sırasıyla “.Net Framework 1.0 Beta 1”, “.Net Framework 1.0 Beta 2” ile değişikliğe uğrayarak 05.01.2002 tarihinde “.Net Framework 1.0 RTM” tam anlamıyla piyasaya oturdu. Bundan sonra “.Net Framework 1.0” üzerine 3 tane “Service Pack” daha getirildi. Bir sonraki versiyonu olan “.Net Framework 1.1 RTM” 01.04.2003 tarihinde piyasaya sürüldü ve bu versiyon üzerinde 2 “Service Pack” çıkartıldı. 07.11.2005 tarihinde “.Net Framework 2.0 RTM” çıkartılarak yeni bir geçiş daha yapılmış olundu. “.Net Framework 2.0”ın Vista versiyonu ve bunun üzerine de bir tane “Service Pack”i çıkartıldıktan sonra “.Net” yapısını oldukça güçlü kılan “.Net Framework 3.0 RTM” 06.11.2006 tarihinde piyasaya sürüldü. Bu versiyon için bir tane “Service Pack” çıkartılarak şu anki bulunduğumuz nokta olan “.Net Framework 3.5 RTM” versiyonu 19.11.2007 tarihinde piyasaya sürüldü.&lt;br /&gt;&lt;br /&gt;.Net Framework 1.0&lt;br /&gt;• İlk versiyon olan “.Net Framework 1.0” ile “Framework” temelleri getirilmiştir. Bununla birlikte yazılımcılara ileriye dönük vizyon sunulmuştur.&lt;br /&gt;&lt;br /&gt;.Net Framework 1.1&lt;br /&gt;• Asp.Net mobil kontrolleri için “yerleşik(Built-In)” destek sağlandı. Daha önceleri sonradan eklenebiliyordu.&lt;br /&gt;• Güvenlik değişiklikleri oldu.&lt;br /&gt;• ODBC ve Oracle veritabanları için yerleşik destek sağlandı.&lt;br /&gt;• Mobil cihazlar için “.Net Compact Framework” ortaya çıktı.&lt;br /&gt;• “Internet Protocol version 6(Ipv6)” desteği sağlandı.&lt;br /&gt;• Pek çok API değişiklikleri yaşandı.&lt;br /&gt;.Net Framework 2.0&lt;br /&gt;• Pek çok API değişiklikleri yaşandı.&lt;br /&gt;• Asenkron yapıya hizmet etmek, bellek konumlandırması yapmak, “Assembly”leri yüklemek ve daha fazlası gibi işlemleri daha iyi yapan bir API getirildi. Kendi planlayıcısını ve bellek yöneticisini uygulayan bu API, ilk başta Microsoft SQL Server içerisindeki çalışma zamanı sunma mekanizması için geliştirilmişti.&lt;br /&gt;• Donanım ortamları için tam bir 64-bit desteği getirildi.&lt;br /&gt;• .Net CLR içerisinde Generics adı verilen dil yapısı yerleşik olarak getirildi.&lt;br /&gt;• Geliştirilmiş ASP.Net kontrolleri getirildi.&lt;br /&gt;• Yeni veri kontrolleri ve geliştirilmiş veri bağlama sistemi getirildi.&lt;br /&gt;• ASP.Net için kişiselleştirilmiş özellikler getirildi.&lt;br /&gt;• “.Net Micro Framework” çıkartıldı.&lt;br /&gt;&lt;br /&gt;.Net Framework 3.0&lt;br /&gt;• Windows Vista ve Windows Server 2008 için API’ler geliştirildi.&lt;br /&gt;• WinFX olarak adlandırıldı.&lt;br /&gt;• Common Language Runtime olarak 2.0 versiyonu korunmaya devam edildi.&lt;br /&gt;• “Windows Presentation Foundation(Avalon)” getirildi.&lt;br /&gt;• “Windows Workflow Foundation(WF)” getirildi.&lt;br /&gt;• “Windows Communication Foundation(Indigo)” getirildi.&lt;br /&gt;• “Windows CardSpace(InfoCard)” getirildi.&lt;br /&gt;&lt;br /&gt;.Net Framework 3.5&lt;br /&gt;Gelişen “.Net Framework” versiyon olarak 3.5 seviyesine kadar gelmiştir. Alt yapı olarak yine Common Language Runtime 2.0’ı kullanan ve çok önemli bir yenilik olan “LINQ(Language Integrated Query)” getirildi.&lt;br /&gt;• C# 3.0 ve VB.Net 9.0 derleyicisi içerisine yeni özellikler getirildi.&lt;br /&gt;• “Expression Tree” ve “Lambda Method” eklendi.&lt;br /&gt;• “Extension Method” eklendi.&lt;br /&gt;• “Anonymous Type” eklendi.&lt;br /&gt;• “Language Integrated Query(LINQ)” yapısı çeşitli sağlayıcıları ile eklendi.&lt;br /&gt;o LINQ to Objects&lt;br /&gt;o LINQ to XML&lt;br /&gt;o LINQ to SQL&lt;br /&gt;• ADO.Net’e sayfalama desteği eklendi.&lt;br /&gt;• Yerel belleklenmiş verilere erişebilmek için ADO.Net’e yeni bir API eklendi.&lt;br /&gt;• WMI ve Active Directory yönetilir hale getirildi.&lt;br /&gt;• WCF ve WF ile platform bağımsız dağıtık uygulamalar içerisinde iş akışı sistemi kurma sağlandı.&lt;br /&gt;• ASP.Net ile Ajax birleştirildi.&lt;br /&gt;• Network API’si ile asenkron I/O işlemleri desteklendi.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio 2008&lt;br /&gt;2007 yılında piyasaya sürülen “Visual Studio 2008” ile eklenen özellikler tüm yazılım geliştiricilere daha kolay uygulama geliştirme imkanı sağlamaktadır. Microsoft’un devam ettirdiği “Express Edition” serisi C#, Vb.Net, C++ ve Visual Web Developer olarak ilerlemekte. “Visual Studio 2008” platformunda .Net Framework 3.5 yer almaktadır.  “Visual Studio 2008” sayesinde yazılım geliştiricilerin daha güvenli, daha yönetilebilir ve Windows Vista ile Microsoft Office 2007 özelliklerinden faydalanılabilceği bir platform oluşturulmuştur. &lt;br /&gt;Aşağıda “Visual Studio 2008” ile gelen yenilikler bulunmaktadır:&lt;br /&gt;&lt;br /&gt;• Çoklu Hedefleme(Multi-Targeting): “Visual Studio 2008” içerisinde “.Net Framework 2.0”, “.Net Framework 3.0”, “.Net Framework 3.5” versiyonları bazında uygulama geliştirebilirsiniz. Böylelikle “Visual Studio 2008” ortamından faydalanarak “.Net Framework 2.0” uygulaması geliştirme imkanı sunmakta.&lt;br /&gt;• Web Designer: “Visual Studio 2008” içerisinde yeni “Web Tasarımı ve CSS” desteği eklendi.&lt;br /&gt;• AJAX: “Visual Studio 2008” ile AJAX yerleşik olarak gelmekte. Ayrıca bir eklenti kurmaya gerek kalmamakta.&lt;br /&gt;• LINQ to SQL: Yerleşik OR/M(Object-Relitional Mapper) getirilerek, ilişkisel veritabanı sistemlerinde “.Net“ nesnelerini kullanarak modelleme yapabilme imkanı sağlandı.&lt;br /&gt;• Sorgu Sözdizimi: Standart LINQ sorugu operatörlerini kullanarak kısa yollu sorgulama yapılmaya imkan sağlandı.&lt;br /&gt;• Anonim Tipler(Anonymous Types): Açıkça farklı bir yerde tanımlama yapmadan satır içerisinde kendi tipinizi tanımlamaya yarayan bir özellik. Anonim tipler LINQ kullanılarak data sorgulaması yapıldığında çok kullanışlı olurlar.&lt;br /&gt;• Lambda Ifadeleri(Lambda Expressions): Anonim metotlar yazmak için daha kısa ve daha fonksiyonel ifadeler.&lt;br /&gt;• Genişletme Metotları(Extension Methods): Mevcut tipi modifiye etmeden, tipin içerisine yeni “Public” metotlar eklenebilmesi özelliği.&lt;br /&gt;• Otomatik Özellikler(Automatic Properties): Get ve Set ifadelerini içeren özellikler(Property) için “Private” alanlar tanımlamaksızın kullanım izni veren özellik.&lt;br /&gt;• Nesne ve Koleksiyon İlklendiriciler(Object and Collection Initializers): Nesneler ve kolleksiyonları ilklendirmenin kısayolunun getirildiği özellik.&lt;br /&gt;• Javascript Hata Ayıklama İşlemi(Javascript Debugging): “Visual Studio 2008” ile javascript içerisinde “Hata Ayıklama İşlemi(debug)” yapmak mümkündür.&lt;br /&gt;• Javascript Intellisense: “Visual Studio 2008” ile Javascript kodlaması esnasında gelişmiş “Javascript Intellisense”inden faydalanılacak.&lt;br /&gt;• .Net Framework Kaynak Koduna Erişim: “Hata Ayıklama İşlemi” esnasında .Net Framework içerisindeki çekirdek kütüphaneler içerisine girilebilir hale getirildi.&lt;br /&gt;&lt;br /&gt;Bu özelliklerin yanısıra “Visual Studio 2005”te getirilmeye çalışılan ve “Visual Studio 2008 Professional Edition”da eklenen “Unit Test” özelliğinden de söz etmek gerekir. Bu özellik “Visual Studio 2008 Professional Edition” içerisinde bulunmakla beraber, geliştirilen kod parçacıkları için test kodları geliştirilebilir hale gelindi.&lt;br /&gt;&lt;br /&gt;Programlama Dilleri&lt;br /&gt;Eskiden yerleşik olarak ”Visual Basic”, “Visual C#”, “Visual C++” ve “Visual J#” programlama dilleri gelmekteydi. “Visual Studio 2008“ ile ”Visual Basic”, “Visual C#”, “Visual C++” dilleri yerleşik olarak gelmekte. Artık “Visual J#”ı “Visual Studio 2008” içerisinde bulunmuyor. “Visual Basic”in şu an 9.0 versiyonu, “Visual C#”ta ise 3.0 versiyonu kullanılmaktadır. O zaman şöyle bir bilgi vermekte fayda vardır: ”IDE(Integrated Development Enviroment) olarak Visual Studio 2008, Visual C# versiyonu olarak 3.0, Visual Basic versiyonu olarak 9.0 ve CLR versiyonu olarak 2.0 kullanılmaktadır”. Teknoloji olarak son gelinen nokta budur.&lt;br /&gt;Bunlar haricinde “Visual Studio 2008” içerisinde A#, F#, Phyton, Ruby, NetCobol, Delphi.Net gibi daha bir çok programlama dilleri desteklenmektedir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7853369445126063426-4334618298672824883?l=cagdasdavulcu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cagdasdavulcu.blogspot.com/feeds/4334618298672824883/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7853369445126063426&amp;postID=4334618298672824883' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/4334618298672824883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/4334618298672824883'/><link rel='alternate' type='text/html' href='http://cagdasdavulcu.blogspot.com/2008/12/net-platformu-ve-framework.html' title='.Net Platformu ve Framework'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>cagdasdavulcu@hotmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11693890822358161298'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7853369445126063426.post-4762852455743003721</id><published>2008-01-23T10:40:00.000+02:00</published><updated>2008-01-23T11:11:34.272+02:00</updated><title type='text'>Mobil Programlama Kıtabımız Çıktı</title><content type='html'>Kadir Çamoğlu ile yazdığımız "Mobil Programlama" kitabımız Pusula Yayıncılıktan çıktı. Aşağıdaki linkten detaylara ulaşabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.pusula.com/2/index.php?option=com_pusula&amp;func=detail&amp;Itemid=1&amp;id=130'&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5158592330580711090" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_nFWihUqAiOs/R5cAZK1RVrI/AAAAAAAAACA/vPYoayBf_uU/s400/med_mobilprogramlama.jpg" border="0" /&gt;&lt;/a&gt; &lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7853369445126063426-4762852455743003721?l=cagdasdavulcu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cagdasdavulcu.blogspot.com/feeds/4762852455743003721/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7853369445126063426&amp;postID=4762852455743003721' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/4762852455743003721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/4762852455743003721'/><link rel='alternate' type='text/html' href='http://cagdasdavulcu.blogspot.com/2008/01/mobil-programlama-ktabmz-kt.html' title='Mobil Programlama Kıtabımız Çıktı'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>cagdasdavulcu@hotmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11693890822358161298'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nFWihUqAiOs/R5cAZK1RVrI/AAAAAAAAACA/vPYoayBf_uU/s72-c/med_mobilprogramlama.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7853369445126063426.post-5677448305242232439</id><published>2008-01-11T02:19:00.000+02:00</published><updated>2008-12-29T02:20:34.476+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft visual studio'/><category scheme='http://www.blogger.com/atom/ns#' term='windows workflow foundation'/><title type='text'>Workflow Kavramı ve Windows Workflow Foundation</title><content type='html'>Microsoft’un .Net Framework 3.0 ile getirdiği Windows Workflow Foundation, yazılım mimarlarının, analistlerin ve çekirdek geliştiricilerinin 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 etmeye çalışacağız.&lt;br /&gt;&lt;br /&gt;Sizlere WWF teknolojisi ile ilgili bilgi vermeden önce İş Akışı(Workflow) kavramından söz etmemiz gerekiyor. 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;br /&gt;&lt;br /&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ı gerçek zamanlı olarak değiştirebilme imkânını sunmuştur. Özellikle İçerik Yönetimi 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;br /&gt;&lt;br /&gt;İş Akışı (Workflow) Nedir?&lt;br /&gt;&lt;br /&gt;Türkçe karşılığıyla iş akışı anlamına gelen Workflow, tasarımınız içerisinde bulunan öğelerin bir iş içerisinde bulunabileceği durumları gösterir. Workflow 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;br /&gt;&lt;br /&gt;Örnek1: “Pizza siparişi verme işlemi…”&lt;br /&gt;&lt;br /&gt;   1- Kasiyere sipariş vermek istediğiniz pizza türünü söylersiniz.&lt;br /&gt;&lt;br /&gt;   2- Kasiyer verdiğiniz sipariş bilgilerini pizza yapma işiyle ilgilenen kişiye bildirir.&lt;br /&gt;&lt;br /&gt;   3- Pizza malzemeleri hamur üzerine eklenir.&lt;br /&gt;&lt;br /&gt;   4- Pizza fırına koyulur.&lt;br /&gt;&lt;br /&gt;   5- Pizza pişer.&lt;br /&gt;&lt;br /&gt;   6- Pizzayı yapan kişi pizzayı kasiyere verir.&lt;br /&gt;&lt;br /&gt;   7- Kasiyer pizzayı bize verir. &lt;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;Örnek2: “Bir iş yerinde çalışan kişinin avans istemesi işlemi…”&lt;br /&gt;&lt;br /&gt;Senaryo1:&lt;br /&gt;&lt;br /&gt;   1- Kişi yetkilisinden avans ister.&lt;br /&gt;&lt;br /&gt;   2- Yetkili kişi bu isteği değerlendirir.&lt;br /&gt;&lt;br /&gt;   3- 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;br /&gt;&lt;br /&gt;   4- 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;br /&gt;&lt;br /&gt;   5- Kişinin hesabına para yatırıldıktan sonra o kişinin yetkilisine bu işlem bildirilir.&lt;br /&gt;&lt;br /&gt;   6- Bu işlem avans isteyen kişiye bildirilir ve işlem sonlanır.&lt;br /&gt;&lt;br /&gt;Senaryo2:&lt;br /&gt;&lt;br /&gt;   1- Kişi yetkilisinden avans ister.&lt;br /&gt;&lt;br /&gt;   2- Yetkili kişi bu isteği değerlendirir.&lt;br /&gt;&lt;br /&gt;   3- Yetkili kişi bu isteği geri çevirir.&lt;br /&gt;&lt;br /&gt;Senaryo1:&lt;br /&gt;&lt;br /&gt;   1- Kişi yetkilisinden avans ister.&lt;br /&gt;&lt;br /&gt;   2- Yetkili kişi bu isteği değerlendirir.&lt;br /&gt;&lt;br /&gt;   3- 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;br /&gt;&lt;br /&gt;   4- Muhasebe bölümü bu işlemin o anda uygun olmadığını söyler.&lt;br /&gt;&lt;br /&gt;   5- Yetkili kişi muhasebe bölümünün uygun olmadığı gerekçesiyle avans isteyen kişiye avans alamayacağını söyler.&lt;br /&gt;&lt;br /&gt;Senaryo1:&lt;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;   1- Talep Edildi&lt;br /&gt;&lt;br /&gt;   2- Yetkili Değerlendirmesinde&lt;br /&gt;&lt;br /&gt;   3- Muhasebe Değerlendirmesinde&lt;br /&gt;&lt;br /&gt;   4- Onaylandı&lt;br /&gt;&lt;br /&gt;   5- Geri Çevrildi&lt;br /&gt;&lt;br /&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 içerik yönetimi uygulamalarıdır.&lt;br /&gt;&lt;br /&gt;İş Akışı Tipleri&lt;br /&gt;&lt;br /&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 Ordered Workflow(Sequential Workflow), Event-Driven Workflow(State Machine Workflow) ve Data-Driven Workflow iş akışı tiplerini göreceğiz. &lt;br /&gt;&lt;br /&gt;1- Ordered Workflow(Sequential Workflow)&lt;br /&gt;&lt;br /&gt;Karşımıza daha çok Sequential(sıralı) Workflow adıyla çıkacak olan iş akışı tipinin özelliği içerisinde bulundurduğu aktiviteleri(activity) 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;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;2- Event-Driven Workflow(State Machine Workflow)&lt;br /&gt;&lt;br /&gt;Çoğunlukla finite state machine(FSM) 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. 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. State Machine Workflow’da amaç mevcut durumu değiştirmektir. 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. Event-Driven Workflow kavramı da oradan gelmektedir.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Yukarıdaki State Machine Workflow’u inceleyelim. Siparişin oluşturulması ile WaitinForOrder durumundan OrderOpen durumuna geçiliyor. Sipariş güncellenirse OrderOpen, sipariş işleme sokulursa da OrderProcessed 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 State Machine Workflow tipine bir giriş yapmak. Bu konuya daha sonra tekrar döneceğim.&lt;br /&gt;&lt;br /&gt;3- Data-Driven Workflow&lt;br /&gt;&lt;br /&gt;Sizlere Data-Driven Workflow mantığını bir senaryoyu örnek göstererek anlatacağım. En uygun senaryo “Stok Eksiği” senaryosu: &lt;br /&gt;&lt;br /&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;br /&gt;&lt;br /&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;br /&gt;&lt;br /&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;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;.Net Framework 3.0&lt;br /&gt;&lt;br /&gt;Microsoft’un geliştirmiş olduğu Windows Workflow Foundation(WWF) .Net Framework 3.0’ın bir parçasıdır. Diğer .Net Framework 3.0 teklonojileri ise Windows Presentation Foundation, Windows Communication Foundation ve Windows CardSpace’dir. WWF asıl olarak Microsoft Vista işletim sistemi için geliştirilmiştir fakat Windows XP, Windows Server 2003 gibi işletim sistemleri WWF’i desteklemektedir. .Net Framework 3.0, .Net Framework 2.0 tabanlıdır.&lt;br /&gt;&lt;br /&gt;.Net Framework 2.0&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; .Net Framework 3.0&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;• Windows Workflow Foundation(WWF,  “WinOE” takma adı ile biliniyor)&lt;br /&gt;• Windows Presentation Foundation(WPF, “Avlon” takma adı ile biliniyor)&lt;br /&gt;• Windows Communication Foundation(WCF, “Indigo” takma adı ile biliniyor)&lt;br /&gt;• Windows CardSpace(WCS, “InfoCard”)&lt;br /&gt;&lt;br /&gt;Windows Workflow Foundation&lt;br /&gt;&lt;br /&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 çekirdek geliştiricilerin 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;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;Not: .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;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;Windows Workflow Foundation&lt;br /&gt;&lt;br /&gt;• Yeni iş akışları geliştirmek için bizlere esnek ve güçlü bir framework sunar. Böylelikle sizler de zamanınızı ve enerjinizi kendi framework ünüzü oluşturmak için harcarsınız.&lt;br /&gt;&lt;br /&gt;•Kendi uygulamanızın tutarlı olmasına katkıda bulunur. 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;br /&gt;&lt;br /&gt;•Sequential ve State Machine iş akışı tiplerini destekler. 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;br /&gt;&lt;br /&gt;•Workflowların kalıcılığını destekler. WWF içerisinde tanımladığınız bir workflowu belirli bir noktada kaydedip daha sonra tekrar uygulamanı içerisine yükleyebilirisiniz. Not: Workflowların serialize olabildiğini biliyor muydunuz? &lt;br /&gt;&lt;br /&gt;•Windows Workflow Foundation Domain-Specific model kullanılarak problem çözmeyi destekler. 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;br /&gt;&lt;br /&gt;• Workflowlar genişletilebilir bir temel üzerine kurulmuştur. Sizlere sunulan mevcut aktiviteleri kullanarak kendi aktivitelerinizi geliştirebilirsiniz.&lt;br /&gt;&lt;br /&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;br /&gt;&lt;br /&gt;Bunların sizi ikna etmeye yetecek kadar fazla olması nedeniyle madde sayısını arttırmıyorum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7853369445126063426-5677448305242232439?l=cagdasdavulcu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cagdasdavulcu.blogspot.com/feeds/5677448305242232439/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7853369445126063426&amp;postID=5677448305242232439' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/5677448305242232439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7853369445126063426/posts/default/5677448305242232439'/><link rel='alternate' type='text/html' href='http://cagdasdavulcu.blogspot.com/2008/01/workflow-kavram-ve-windows-workflow.html' title='Workflow Kavramı ve Windows Workflow Foundation'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>cagdasdavulcu@hotmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11693890822358161298'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>