Microsoft Distributed Cache(Velocity Project) - Hello World

Web uygulamalarında sıklıkla karşılaştığımız, Enterprise Library Caching Block sayesinde Web uygulaması sınırlarını aşarak diğer uygulamalarda daha kolay kullanılabilir hale gelmiş bu kavramın servis bazlı hale getirilebildiğini duysanız acaba ne düşünürdünüz Surprised İşte Microsoft' un uzun bir süre önce duyurduğu ve şu anda CTP 3 sürümü bulunan kod adı Velocity projesi... [Daha fazla]

Microsoft.Net Services - Service Bus için REST Tabanlı Hello World

Bir önceki yazımızda Microsoft.Net Services alt yapsının önemli parçalarından birisi olan Service Bus hizmetini incelemeye çalışmış ve basit bir Hello World uygulama koleksiyonu geliştirmiştik. Bu yazımızda ise REST bazlı geliştirilen bir WCF servisine herhangibir tarayıcı yardımıyla HTTP Get metoduna göre, Service Bus üzerinden nasıl ulaşabileceğimizi incelemeye çalışacağız... [Daha fazla]

Ado.Net Data Services 1.5 CTP2 - Data Binding Bölüm 2

Hatırlayacağınız gibi bir önceki yazımızda, Ado.Net Data Service için istemci taraflı veri bağlama işlemlerinde DataServiceCollection kolekisyonunu değerlendirmeye çalışmış ve istemci tarafında bu konuyu ele almak için basit bir WPF uygulaması geliştirmiştik. Bir önceki örneğimiz aslında tek yönlü veri bağlama işlemine örnek olmasında rağmen, iki yönlü modeli de desteklemektedir. [Daha fazla]

Task Parallel Library(TPL) - Detached Tasks [Beta 2]

Bir önceki yazımızda Task Parallel Library tarafında .Net Framework 4.0 Beta 2 tabanlı olarak iptal işlemleri(Task Cancellation) için yapılan değişikliklere değinmeye çalışmıştık. TPL tarafında yapılan değişikliklerden birisi de iç içe çalışan Task' ler arasındaki Parent - Child ilişkiye yönelik olarak yapılmıştır. Aslında basit bir davranış değişikliği olduğunu söyleyebiliriz. Konuyu daha net kavramak amacıyla aşağıdaki örnek kod parçasını göz önüne alalım. [Daha fazla]

Ado.Net Data Services 1.5 CTP2 - Data Binding Bölüm 1

Ado.Net Data Services v1.5 ile birlikte istemci tarafına getirilen DataServiceCollection isimli koleksiyonun veri bağlama işlemlerinde kullanılabilmekte olup, CTP2 versiyonunda dahada iyileştirilmiş olarak karşımıza çıkmaktadır. Buna göre istemci tarafı için üretilen kütüphanede(Client Library) kolaylaştırıcı değişiklikler yapıldığı söylenebilir. DataServiceCollection koleksiyonu ObservabelCollection tipinden türemekte olup, INotifyPropertyChanged ve INotifyCollectionChanged arayüzlerini(Interface) uygulamaktadır. Aşağıdaki Object Browser çıktısında bu tipin içeriği açık bir şekilde görülmektedir. [Daha fazla]

WF 4.0 : WorkflowInvoker ile Single Thread, WorkflowApplication ile Multi-Thread [Beta 2]

WF 4.0 öncesinde bir Workflow örneğini çalıştırmak için WorkflowRuntime sınıfından yararlanılmaktadır. Aşağıdaki kod parçasında Visual Studio 2008 üzerinde geliştirilen basit bir WF örneğinin çalıştırılması için otomatik olarak üretilen kod görülmektedir. Ancak Workflow Foundation 4.0 içerisinde bir Workflow örneğini çalıştırmak için iki farklı yol sunulmaktadır. İlk yol daha önceki yazı ve görsel derslerimizde de sıklıkla bahsettiğimiz WorkflowInvoker sınıfına ait static Invoke metodunun kullanılmasıdır. Bu tekniğin en önemli özelliği Workflow örneğinin çalıştığı uygulamaya ait Thread içerisinde senkron olaran yürütülmesini sağlamasıdır. Dilerseniz ne demek istediğimize basit bir örnek yardımıyla bakmaya çalışalım. Visual Studio 2010 Ultimate Beta 2 sürümü üzerinden oluşturduğumuz Workflow Console Application içerisinde aşağıdaki Workflow1 içeriği göz önüne alınmaktadır. [Daha fazla]

Ado.Net Data Services 1.5 CTP2 - Web Friendly Feeds

Ado.Net Data Services v1.5 CTP1 ile gelen Web Friendly Feeds özelliği, CTP2 sürümünde eklenen iki yeni eşleştirme seçeneği ile genişletilmiştir. Durun bir dakika...Web Friendly Feeds nedir? Undecided Arkadaşlıktan farklı bir şey olsa gerek Wink Öncelikle bu konuya açıklık getirmek gerekiyor. Web Friendly Feeds özelliği, bir Entity'nin herhangibir özelliğini(Property), Ado.Net Data Service' inden çıktı olarak üretilen Atom içeriğindeki bir elemente eşleştirmekte kullanılmaktadır. Nitekim servisin ürettiği varsayılan Atom içeriğinde yer alan author name, url, title vs... gibi bilgiler zaten standart olarak kabul edilmiştir ve bu nedenle söz konusu elementleri değerlendiren yorumlayıcılara, var olan Entity içeriğindeki bazı özellik değerlerinin aktarılması istenebilir. Bir başka deyişle, servisin ürettiği içeriğin kaynağındaki özelliklerin çıktıda map edileceği yerler, Atom içeriğindeki belirli noktalar olarak belirlenebilir. [Daha fazla]

Screencast - Workflow Foundation 4.0 : Flowchart

Bundan yaklaşık 1 sene kadar önce Microsoft PDC 2008 sunumlarında gösterilen ve demoları yapılan Workflow Foundation 4.0 ile ilişkili yenilikler arasında dikkat çekici olanlarından bir tanesi de, Flowchart Workflow modeliydi. Aslında bu yeni özellik, çoğu yazılımcının yaşam döngüsü içerisinde sıklıkla kullandığı akış diyagramlarının, Workflow Foundation modeli içerisinde ele alınmasından başka bir şey değildi ki Workflow Foundation 4.0 öncesinde aradığımız ama bulamadığımız bir yenilikti. Visual Studio 2010 Beta 2 sürümünün yayınlandığı şu günlerde, etkili WPF tasarım ortamınında katkısıyla, akış diagramı modeline uygun Workflow aktivitelerinin tasarlanması hem çok kolay hemde çok zevkli hale geldi. Bakalım görsel dersimizde bizleri neler bekliyor... [Daha fazla]

WF 4.0 Beta 1' den Beta 2' ye

Workflow Service' ler ile çalışırken Beta 1 sürümünde geliştirdiğim örneklerin Beta 2 sürümünde ne yazık ki çalışmadığını farkettim. Bu son derece doğaldı çünkü kısa bir süre önce yayınlanan .Net Framework Beta 2 sürümünde, WF tarafında özellikle tipler bazında bazı geri dönüşler ve değişimler meydana geldi. Hal böyle olunca konuyu hemen araştırmaya koyuldum. Pek çok blog yazısında WF 4.0 Beta 1 ve Beta 2 arasındaki farklılıkları bulabilirsiniz. [Daha fazla]

Screencast - Workflow Service Geliştirmek [Beta 2]

WCF(Windows Communication Foundation) ve WF(Workflow Foundation) modellerinin bir arada kullanıldığı Workflow Service' lerin sunduğu kolaylıklardan birisi de, iş akışlarının servis bazlı olarak sunulabilmesi imkanıdır. Bir Workflow örneğinin çalışma ortamı içerisinde Persistence hizmetlerinden, transaction yönetiminden vb... yararlanması ve Long Running Process' lerin ele alınması sağlanabilir. Üstelik buna Visual Studio 2010 gibi geliştirme ortamlarında yer alan WPF designer desteğininde eklenmesi ve XAML bazlı olarak geliştirme yapılması da çok önemlidir. Bir Workflow Service ise, az önce bahsedilen fonksiyonellikleri taşıyan bir akışın servis bazlı olarak sunulabilmesine olanak tanımaktadır. Böylece, pek çok sistemin ortaklaşa kullandığı akışların servis bazlı olarak sunulabilmesi mümkün hale gelebilmektedir. Gerçek hayat senaryolarında Workflow Service' lerin değerlendirilebileceği pek çok alan bulunmaktadır. Ama öncesinde basit ve pekte işe yaramayacak bir Hello World örneği geliştirmekte yarar vardır. [Daha fazla]

Windows Azure Service Platformu Hakkında İlk İzlenimler

Microsoft' un son yıllarda Cloud Computing mimarisi için getirdiği geliştirmelerden biriside Windows Azure Services platformudur. Bu platformu servis bazlı bir işletim sistemi olarak düşünebiliriz. Ama bu çok basit bir yaklaşım olur. Bu konuda aslında pek çok kaynakta yazılmakta ve çizilmektedir. Ancak ürün henüz nihai halini almadığından sürekli olarak değişimlere uğramaktadır. Söz gelimi daha önce yayınlanan SDK içerisine Microsoft.Net Services bloku içerisinde yer alan Workflow Services modeli, Temmuz 2009' da yayınlanan CTP sürümünde kaldırılmışdır. Aslında konunun detaylarına girdiğimde çok kısa bir sürede kaybolduğumu ifade edebilirim. Bu nedenle yazımızın bundan sonraki kısımlarında mimarinin ne getirdiğini sizlere araştırma sonuçlarımdan aktarmaya çalışacağım. [Daha fazla]

C# 4.0 - ExpandoObject

Bildiğiniz üzere .Net Framework 4.0 ile birlikte gelmesi muhtemel en köklü yenilikler arasında Dynamic Language Runtime alt yapısı yer almaktadır. Bu anlamda daha önceden dynamic anahtar kelimesini inceleyerek tiplerin dinamik olarak oluşturulup kullanılmasını kavramaya çalışmıştık. Bu yazımızda nasıl bir yenilikten bahsedeceğimizi anlatabilmek için öncelikle aşağıdaki kod parçasına odaklanmanızı istiyorum. [Daha fazla]