C# 4.0 - COM Interop İyileştirmelerinden Dynamic Import ve Ommiting Ref [Beta 2] 14 Aralık 2009 Burak-Selim-Senyurt C# 4.0 Bildiğiniz üzere C# 4.0 ile birlikte yine köklü dil değişiklikleri hayatımıza girmiş bulunmakta. Özellikle dinamik diller ile olan etkileşimin arttırılması ve COM dünyası ile olan haberleşmede getirilen yenilikler son derece önemli... [Daha fazla]
.Net 4.0 - Lazy Initialization [Beta 2] 14 Aralık 2009 Burak-Selim-Senyurt C# 4.0 Lazy Initialization yetenekleri sayesinde programların gereksiz bellek tüketimlerinin önüne geçilebilir ve ayrıca performans kazanımı sağlanabilir. Aslında uygulamalarımızda Lazy Initialization kullanmamız için gerek ve yeter iki sebep bulunmaktadır... [Daha fazla]
Microsoft Distributed Cache(Velocity Project) - Hello World 11 Aralık 2009 Burak-Selim-Senyurt Velocity Project, Windows Server AppFabric 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]
WCF RIA Services - Authentication Domain Service 10 Aralık 2009 Burak-Selim-Senyurt WCF Eco System, WCF RIA Services Sözün özü bir noktaya güvenlik kontrolünden geçerek girmemiz gerektiğinde doğrulanma, yetki kontrolü, rol gibi faktörlerle karşılaşırız. Zaten yazılım dünyasında da üyelik tabanlı(Membership Based) olarak çalışan sistemlerde, kullanıcıların bazı şeyleri yapabilmesi için önce doğrulanmaları(Authenticate) gerekir... [Daha fazla]
Ado.Net Entity Framework 4.0 - Lazy Loading [Beta 2] 07 Aralık 2009 Burak-Selim-Senyurt Entity Framework Zaman içerisinde Deferred Loading veya Explicity Lazy Loading gibi isimler ile Ado.Net Entity Framework içerisine bir takım özellikler eklenerek bu eksiklik ortadan kaldırılmaya çalışılsada gerçek manada 4.0 versiyonunun Beta 2 sürümünde, beklenildiği gibi bir iyileştirme olduğunu görmekteyiz... [Daha fazla]
Workflow Foundation 4.0 - Persistence [Beta 2] 01 Aralık 2009 Burak-Selim-Senyurt WF 4.0 Beta 2 Workflow Foundation modeli ile geliştirilen uzun süreli işlemlerde(Long Running Process) en önemli konulardan biriside, Workflow örneğinin herhangibir t anında kalıcı olarak saklanabilmesi(Persist) ve istenildiğinde saklandığı yerdeki içeriği ile birlikte tekrardan ayağa kaldırılabilmesidir... [Daha fazla]
INETA Next Tur Programı Belli Oldu 29 Kasım 2009 Burak-Selim-Senyurt Seminerler Merhaba Arkadaşlar, Microsoft' un geliştirmeye yönelik sunduğu ürünlerin yeni sürümlerinde artık 4.0' lı rakamlar bolca yer almakta. C# 4.0, Asp.Net 4.0, WCF 4.0, WF 4.0, Silverlight 4.0, WPF 4.0, Ajax 4.0 vb...Tabi bazı ürünlerde bir sonraki versiyonla... [Daha fazla]
WCF RIA Services - Gerçekten WCF 26 Kasım 2009 Burak-Selim-Senyurt WCF Eco System, WCF RIA Services Uzun ve yorucu bir geceydi...Dün gece WCF RIA Service' leri ile ilişkili görsel bir dersin hazırlıklarını yaparken sevgili Mehmet Cengiz arkadaşımın hediyesi olan tablet üzerinde aşağıdaki şekli çizdiğimi farkettim. Bu şekilde WCF RIA Service' i kullanan basit bir Silverlight uygulamasının anlaşılır hali yer almaktadır... [Daha fazla]
WCF RIA Services - Kendi Sorgularımızı Kullanmak 25 Kasım 2009 Burak-Selim-Senyurt WCF Eco System, WCF RIA Services Bir önceki yazımızda WCF RIA Service' lerine kısa bir giriş yapmış ve ilk Hello World uygulamamızı geliştirmiştik. Bu yazımızda yine Chinook veritabanında yer alan albümlerin alfabetik olarak elde edilebildiği ve bunlara bağlı parçalarında gösterilebildiği bir Silverlight uygulaması yazmaya çalışacağız... [Daha fazla]
WCF RIA Services - Bir Merhaba Diyelim 24 Kasım 2009 Burak-Selim-Senyurt WCF Eco System, WCF RIA Services Buna göre Ado.Net Data Services' ler WCF Data Services ve Rich Internet Application' lar için n-tier sorununu servis bazlı olarak kolayca aşmamızı sağlayan .Net RIA Services' da WCF RIA Services olarak isim değiştirmiştir... [Daha fazla]
Microsoft.Net Services - Service Bus için REST Tabanlı Hello World 20 Kasım 2009 Burak-Selim-Senyurt Windows Azure 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]
Asp.Net 4.0 - Heryerde Cache [Beta 2] 18 Kasım 2009 Burak-Selim-Senyurt Asp.Net 4.0 Beta 2 Aslında listenin başında System.Web.Caching.dll assembly' ının Web dışındaki uygulamalara referans edilerek kullanılmasının yer aldığını söyleyebiliriz. Ne varki bir Windows uygulamasına Web alanına ait bir Assembly' ın referans edilmeside son derece gariptir... [Daha fazla]
Asp.Net 4.0 - Özelleştirilmiş Cache Sağlayıcısı(Custom Cache Provider) [Beta 2] 17 Kasım 2009 Burak-Selim-Senyurt Asp.Net 4.0 Beta 2 Dikkatimi çeken ilk özellik ön bellekleme(Caching) sisteminin genişletilebilmesi ile alakalıydı. Bilindiği üzere web uygulamalarında performansı arttırmanın en etikili yollarından biriside sunucu tarafındaki yükü azaltarak mümkün olabilmektedir... [Daha fazla]
INETA Next Bomb Aralıkta Patlıyor 17 Kasım 2009 Burak-Selim-Senyurt Seminerler INETA tarafından düzenlenen etkinlikte görüşmek dileğiyle. [Daha fazla]
Ado.Net Entity Framework 4.0 - Stored Procedures ve Complex Types 16 Kasım 2009 Burak-Selim-Senyurt Entity Framework Ado.Net Entity Framework 4.0 ile birlikte gelecek/gelmekte olan yeniliklerden birisi de, Stored Procedure' lerin dönüş tipi ile alakalıdır. Henüz tam olarak bitirilememiş olan bu özellik şu anki haliyle bir Stored Procedure' den geriye karmaşık bir tipinin(Complex Type) döndürülebilmesine izin vermektedir... [Daha fazla]
Ado.Net Data Services 1.5 CTP2 - Data Binding Bölüm 2 16 Kasım 2009 Burak-Selim-Senyurt Ado.Net Data Services 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] 12 Kasım 2009 Burak-Selim-Senyurt TPL 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]
Task Parallel Library(TPL) - İptal İşlemi [Beta 2] 12 Kasım 2009 Burak-Selim-Senyurt TPL Uzun süredir .Net Framework 4.0' ın bir parçası olarak gelen paralel programlama alt yapısı ile uğraşmıyordum. En son Beta 1 sürümündeyken Task Parallel Library ve PLINQ ile ilişkili konulara bakma fırsatım olmuştu. Zaman ilerledi ve .Net Framework 4.0 Beta 2 sürümü yayınlandı. [Daha fazla]
Microsoft.Net Services - Service Bus için Hello World 11 Kasım 2009 Burak-Selim-Senyurt Windows Azure Daha önceki Windows Azure Service Platformu Hakkında İlk İzlenimler başlıklı yazımızda Amazon' dan Cloud Computing with Windows Azure Platform isimli bir kitabı sipariş ettiğimi ve önümüzdeki dönemlerde bu konu ile ilişkili yazılarımı sizlerle paylaşacağımı belirtmiştim. [Daha fazla]
Ado.Net Data Services 1.5 CTP2 - Data Binding Bölüm 1 08 Kasım 2009 Burak-Selim-Senyurt Ado.Net Data Services 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] 02 Kasım 2009 Burak-Selim-Senyurt WF 4.0 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 31 Ekim 2009 Burak-Selim-Senyurt Ado.Net Data Services 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 30 Ekim 2009 Burak-Selim-Senyurt WF 4.0 Beta 2 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 27 Ekim 2009 Burak-Selim-Senyurt WF 4.0 Beta 2 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] 24 Ekim 2009 Burak-Selim-Senyurt WF 4.0 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]