WCF 4.0 Yenilikleri - Basitleştirilmiş Asp.Net Hosting [Beta 1] 18 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 WCF 4.0 ile birlikte gelen yenilikler bitmek bilmiyor. Smile Aslında irili ufaklı bu değişikliklerin ilk bölümünde daha çok basitleştirilmiş konfigurasyon(Simplified Configuration) özellikleri üzerinde durmaya çalışıyoruz. [Daha fazla]
WCF 4.0 Yenilikleri - Standard Endpoints [Beta 1] 14 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Bir süredir WCF 4.0 ile birlikte gelen yenilikleri tek tek incelemeye çalışıyoruz. İlk incelediğimiz noktalar konfigurasyon ayarları üzerinde yapılmış olan basitleştirmeleri içermektedir. Bu değişimlerden bir diğerini inceleyerek serimize devam ediyor olacağız. Bu anlamda konumuz Standard Endpoints başlığı altında gelen yeniliklerdir. Bu özelliği inceledikten sonra konuyu anlamanın en iyi yolunun bir önceki versiyonda ne olduğuna bakmak olduğuna karar verdim. [Daha fazla]
WCF 4.0 Yenilikleri - Default Behavior Configuration [Beta 1] 13 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 WCF 4.0 ile gelen yeniliklerin ilk kümesi olan basitleştirilmiş konfigurasyon(Simplified Configuration) kabiliyetleri, geliştiricinin bazı ince detayları düşünme zorunluluğunu ortadan kaldırmaktadır. Örneğin Endpoint eklenmesede varsayılan olanların çalışma zamanında oluşturulması, bağlayıcılar(Binding Types) için name, binding configuration gibi nitelikleri kullanma zorunluluğunun ortadan kaldırılması veya protocol eşleştirmelerinin kolayca ele alınması vb... [Daha fazla]
WCF 4.0 Yenilikleri - Default Binding Configuration [Beta 1] 12 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 WCF 4.0 ile birlikte gelmesi muhtemel yenilikleri incelemeye kaldığımız yerden devam ediyoruz. Bu yazımızda ele alacağımız konu, config dosyası içerisinde kullanılan bağlayıcı tipe(Binding Type) özel konfigurasyon ayarları ile ilişkili olacak. Konuyu net bir şekilde anlayabilmek için .Net Framework 3.5 tabanlı olarak geliştirilmiş basit bir servis uygulaması ile işe başlamamız gerekiyor. [Daha fazla]
WCF 4.0 Yenilikleri - Default Protocol Mapping [Beta 1] 11 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Bir önceki blog yazımızda, WCF 4.0 ile birlikte gelebilecek özelliklerden birisi olan Default EndPoints kavramına değinmeye çalışmıştık. Durumu kısaca özetleyip, bu konu ile bağlantılı olan başka bir yenileğe bakarak devam edelim. Default EndPoints özelliği sayesinde, WCF çalışma zamanına(Runtime) açık bir şekilde EndPoint bildirimi yapma zorunluluğumuz ortadan kalkmaktaydı... [Daha fazla]
WCF 4.0 Yenilikleri - Default EndPoints [Beta 1] 09 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Çok eskinden .Net Remoting ile ilişkili uygulamalarda çalışırken, servis ve istemci taraflarının konfigurasyon dosyası bazlı ayarlamaları sırasında, Visual Studio.Net 2003 intelli-sense özelliğinin kaybolduğuna şahit olmuştum. Gerçektende config dosyası içerisindeki intelli-sense özelliği belirli bir elemente kadar destek veriyor ama sonrasında kayboluyordu. Böyle bir durumda pek çok ayarlamayı ezbere yapmak zorunda kaldığımı hatırlıyorum. [Daha fazla]
WCF Rest Starter Kit Preview 2 ile Twitter Reader 05 Ağustos 2009 Burak-Selim-Senyurt WCF Örneğin, XML içeriğini managed tarafta kolayca ele alabilmemiz için gerekli tiplerin üretimini kolaylaştıran Paste XML As Types Laughing Örneği geliştirebilmek için çok sık kullanmasamda Twitter' da bir hesap oluşturdum ve bildiğim geliştiricilerin Tweet' lerini takip etmeye başladım. İşe başlamadan önce, Twitter'da ne olup bittiğine bir bakayım dedim. [Daha fazla]
Caching Application Block Merakı 20 Haziran 2009 Burak-Selim-Senyurt Enterprise Library Az önce 1966 yılında çevrilmiş olan ve küçüklüğümde bol bol izlediğim nefis bir filmi belkide 179ncu kez tekrardan seyrettim. Eskiler aşağıdaki resimden hangi film olabileceğini tahmin edebilirler. Yeni nesilden seyretmeyen varsa eğer The Good, The Bad and The Ugly filmini mutlaka tedarik edip izlesinler. Peki bunun anlatacağım konu ile bir ilgisi var mı? Hayır yok. Cool Sadece off-topic bir giriş yapmak istedim. [Daha fazla]
REST Starter Kit Nedir? 05 Mayıs 2009 Burak-Selim-Senyurt WCF Bildiğiniz üzere bir süredir WCF REST Starter Kit ile ilişkili yazılarımı ve görsel derslerimi sizlerle paylaşmaktayım. Ancak önemli bir noktayı kaçırdığımı düşünüyorum. Embarassed Nedir bu WCF REST Starter Kit? Bizlere ne gibi avantajlar getirmektedir? WCF REST Starter Kit temel olarak, WCF servislerinin REST(REpresentational State Transfer) bazlı olaraktan geliştirilmesi için gerekli özellik ve şablonları(Visual Studio Templates) içermekte olan bir yardımcı araç kitidir. Bu kit .Net Framework 3.5 ve SP1 ile birlikte, WCF tarafına kazandırılan Web programlama modelini kullanır ve geliştiricinin, REST bazlı WCF servislerinin yazılması ve tüketilmesi sırasında gerekli olan bir çok kıstasın(aspect olarakta düşünebiliriz) kolayca ele alabilmesini hedefler. WCF Rest Starter Kit, konsept olarak WCF servislerini ve REST modelini hedef almakla birlikte özellikle açık kaynak kodlu olması açısındanda önemli bir eklenti olarak düşünülmelidir. [Daha fazla]
REST Bazlı WCF Servislerinde AdapterStream Kullanımı 29 Nisan 2009 Burak-Selim-Senyurt WCF REST bazlı WCF servislerinde zaman zaman istemcilere içerik boyutları yüksek olan çıktılar veriyor olabiliriz. Bunlara örnek olarak resim veya metin dosyaları verilebilir. Aslında Stream veya TextWriter bazlı içerikler dersek çok daha doğru olacaktır.(Neden TextWriter olarak belirttiğimi yazının sonunda öğrenebileceğiz.) Özellikle istemci/sunucu bazlı uygulamalar göz önüne alındığında, büyük boyutlu içeriklerin karşı tarafa aktarılması sırasında karşılaşılabilecek pek çok performans kaybı söz konusudur. [Daha fazla]
WCF Rest Servislerinde Önbellekleme(Caching) 27 Nisan 2009 Burak-Selim-Senyurt WCF REST(REpresentational State Transfer) modelini uygulayan WCF servislerinin geliştirilmesinde, WCF Rest Starter Kit ile birlikte gelen kolaylıklardan biriside, önbellekleme(Caching) işlemlerinin dekleratif(Declarative) olarak yapılabilmesidir. Burada dekleratiflikten kastımız, önbellekleme bildirimlerinin çalışma zamanına nitelik(Attribute) yoluyla bildirilmesidir. [Daha fazla]
Rest Tabanlı WCF Servislerinde İstemci Tarafını Asenkron Geliştirmek 24 Nisan 2009 Burak-Selim-Senyurt WCF Bir önceki yazımızda REST bazlı WCF servisleri için, WCF Rest Stater Kit yardımıyla istemci uygulamaların nasıl geliştirilebileceğini incelemeye çalışmıştık. İstemci açısından önemli olan konulardan biriside, uzun sürebilecek request/response operasyonları sırasında uygulamasını kullanmaya devam edebiliyor olmasıdır. [Daha fazla]
Rest Tabanlı WCF Servisleri için İstemci Yazmak 23 Nisan 2009 Burak-Selim-Senyurt WCF Bir önceki blog yazımızda, koleksiyon bazlı WCF servislerinin REST modeline göre geliştirilmesini incelemeye çalışmış ve REST Starter Kit' in sağladığı kolaylıklara değinmiştik. Belkide yazının en zor kısımlarından biriside CUD(CreateUpdateDelete) işlemlerinin test edilmesiydi... [Daha fazla]
Koleksiyon Bazlı WCF Rest Servisleri 22 Nisan 2009 Burak-Selim-Senyurt WCF Bildiğiniz üzere bir süredir WCF servislerinin REST modeline göre geliştirilmesi ile ilgili bilgilerimi ve öğrendiklerimi sizlerle paylaşmaktayım. Bu nedenle dün gece yaşadığım bir macerayıda aktararak başıma gelenleri sizlerle paylaşmak istiyorum. [Daha fazla]
WCF Rest Modelinde UriTemplate Kullanımı 20 Nisan 2009 Burak-Selim-Senyurt WCF SOAP(Simple Object Access Protocol) bazlı WCF servislerininin REST(REpresentational State Transfer) modeline taşınmasını ele aldığımız bir önceki yazımızda varsayılan URL şablonu kullanılmıştır. Varsayılan URL şablonu, WebGet niteliğinde herhangibir başka desen belirtilmediğinde devreye girmektedir. Kabaca aşağıdaki dizime benzer bir yapıdadır. [Daha fazla]
Soap Bazlı WCF Servislerini REST Modeline Taşımak 17 Nisan 2009 Burak-Selim-Senyurt WCF .Net Framework 3.5 ile birlikte, WCF(Windows Communication Foundation) tarafına kazandırılan önemli yeteneklerden biriside Web programlama modelidir. Bu modelin getirileri arasında, WCF servislerinin REST(Representational State Transfer) tekniğine göre yazılıp, kullanılabilmesi de vardır. Özellikle SOAP(Simple Object Access Procotol) bazlı WCF Servisleri ile REST modeline göre tasarlanmış servisler arasındaki en büyük fark, HTTP metodunun çeşididir. [Daha fazla]
WCF Servisleri için Unit Test 17 Nisan 2009 Burak-Selim-Senyurt WCF Yazdığımız programların belirli kriterlere göre test edilmesi proje süreçleri içerisinde önem arz eden konulardan birisidir. Bilindiği üzere pek çok test çeşidi vardır. Bunların bir kısmı standart haline gelmiş tekniklerden oluşmaktadır. Örneğin web uygulamalarının beliri bir düzenle çalıştırılaran Request' ler ile test edilmesi. Stres testlerine tabi tutularaktan çok sayıda request sonrası web uygulamasının çalışmasının analiz edilmesi veya en basit anlamda bir programın çalışmasının ana parçalarından olan metodlarının, beklenen sonuçları verip vermediğinin araştırılması vb... [Daha fazla]
Mesaj Sözleşmeleri(Message Contracts) 09 Şubat 2009 Burak-Selim-Senyurt WCF Servis tabanlı uygulamalarda en önemli noktalardan biriside aradaki bilgi transferlerinin nasıl ve ne şekilde gerçekleştirildiğidir. Gerçek şuki, bu bilgi transferinin oluşma şekli çoğu zaman geliştiricinin gözünden kaçan yada çok fazla ilgilenmediği bir konu olmaktadır. Nitekim çoğu servis geliştirme aracı buradaki söz konusu içeriğin hazırlanmasını , gönderilmesini veya alınmasını otomatikleştirmektedir. Özellikle Windows Communication Foundation tarafında, bilginin istemci ve servis arasındaki dolaşımında bağlayıcı tiplerin(Binding Type) seçilmesi ile zaten arka tarafta ne şekilde bir haberleşme olacağı ve paketlerin nasıl hazırlanacağı belirlenmiş olur. [Daha fazla]
Ado.Net Data Services Ders Notları - 7 (Security) 02 Şubat 2009 Burak-Selim-Senyurt Ado.Net Data Services Yazılım dünyasının en önemli zorluklarından biriside uygulamanın kapsamına göre güvenliğin etkili bir şekilde nasıl sağlanacağı ile ilişkilidir. Burada hassas bilgilerin korunması, kullanıcıların tanınması ve yetkilendirilmesi, kodun erişim ilkelerinin belirlenmesi, verinin şifrelenmesi gibi pek çok faktör söz konusudur. Genel anlamda günvelik farklı şekillerde göz önüne alınabilir. [Daha fazla]
Dayanıklı WCF Servisleri(Custom Persistence Providers) 23 Ocak 2009 Burak-Selim-Senyurt WCF Hatırlayacağınız üzere bir önceki makalemizde, dayanıklı WCF servislerinin(Durable WCF Services) nasıl geliştirilebileceğini incelemeye başlamıştık. Kısaca hatırlatmak gerekirse dayanıklı WCF servislerini şu şekilde tanımlayabiliriz; belirli bir süre için durumlarını bir depolama alanında saklayarak koruyabilen ve t süre sonrasında istemci uygulama tarafından bırakıldığı haliyle kullanılabilen servisler. [Daha fazla]
Dayanıklı WCF Servisleri (Durable WCF Services) 16 Ocak 2009 Burak-Selim-Senyurt WCF Uzun zamandır Windows Communication Foundation(WCF) konulu bir araştırma üzerinde durmamıştık. Aslında WCF 4.0 ve WF 4.0 ile ilgili yeniliklerin uzun süredir konuşulduğu şu günlerde, WCF tarafında oldukça önemli bir yere sahip olan ve hatta Workflow Foundation açısından da değer arz eden bir konuya değiniyor olacağız. Dayanıklı WCF Servisleri(Durable WCF Services). [Daha fazla]
Ado.Net Senkronizasyon Servisleri(Sync Services for Ado.Net) 03 Ocak 2009 Burak-Selim-Senyurt Ado.Net Sync Services Birbirleri ile sürekli bağlantı halinde olamayan istemci/sunucu(Client/Server) mimarilerinde en büyük problemlerden biriside verilerin karşılıklı veya tek taraflı olaraktan senkronize edilmeleridir. Çoğu büyük çaplı saha uygulamasında, sunucu tarafındaki veri kaynaklarının istemcide kullanıldığı durumlar söz konusudur. Bu noktada istemcilerin sürekli bağlı kalamadıkları bir ortamın var olması olasıdır (Occasionally Connected Enivronments). [Daha fazla]
Ado.Net Data Services Ders Notları - 6 (Optimistic Concurrency) 30 Ekim 2008 Burak-Selim-Senyurt Ado.Net Data Services İstemci-Sunucu(Client-Server) bazlı uygulamalar göz önüne alındığında, istemcilerin aynı veriler üzerinde birbirlerinden habersiz şekilde değişiklikler yapabilme ihtimali oldukça meşhur bir vaka olarak bilinmektedir. [Daha fazla]
Ado.Net Data Services Ders Notları - 5 (Custom LINQ Provider-CUD) 24 Ekim 2008 Burak-Selim-Senyurt Ado.Net Data Services Ado.Net Data Services konusu ile ilintili bir önceki ders notlarımızda, EDM(Entity Data Model) üzerinden CUD(CreateUpdateDelete) işlemlerinin nasıl yapılabileceğini incelemeye çalışmıştık. Ancak durum özel LINQ Provider kullanımı söz konusu olduğunda biraz daha karmaşıklaşmakta. [Daha fazla]
Ado.Net Data Services Ders Notları - 4 (CUD Operasyonları) 16 Ekim 2008 Burak-Selim-Senyurt Ado.Net Data Services Ders notlarımızı tutmaya devam ediyoruz. Bu gün Ado.Net Data Service' ler yardımıyla istemcilerden veri ekleme(Insert), silme(Delete) ve güncelleme(Update) işlemlerinin nasıl yapılabileceğini incelemeye karar verdim. Tabiki Ado.Net Data Services konusu halen daha Astoria kod adıyla anılmakta... [Daha fazla]