Windows Azure Service Platformu Hakkında İlk İzlenimler 22 Ekim 2009 Burak-Selim-Senyurt Windows Azure 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 21 Ekim 2009 Burak-Selim-Senyurt C# 4.0 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]
WCF Known Types Analizi 20 Ekim 2009 Burak-Selim-Senyurt WCF Bilindiği üzere WCF aslında SOA(Service Oriented Architecture) mimarisinin uygulama modellerinden birisidir. İşin içerisinde servisler söz konusu olduğunda ağlar ve sistemler arası mesajlaşlamalar söz konusudur. [Daha fazla]
Organik Yazılım Günü 1.5 20 Ekim 2009 Burak-Selim-Senyurt Seminerler İşte uzun bir aradan sonra yeniden açık kaynak etkinliğinde buluşma fırsatına ne dersiniz? İlk etkinliğimizde yaşadıklarımız ve açıklığa getirdiğimiz ilginç bakış açısı sonrasında :) şimdilik 1.5 sürümü olarak nitelendirdiğim bu etkinliğe hepinizi bekliyoru... [Daha fazla]
WCF 4.0 Yenilikleri - Workflow Services [Beta 2] 19 Ekim 2009 Burak-Selim-Senyurt WCF 4.0 Beta 2 Merhaba Arkadaşlar, WCF ve WF arasında ilişkiyi anlatan güzel bir cümle vardır. .Net Framework 3.0' da arkadaş olan WCF ve WF, .Net Framework 3.5 sürümünde nişanlanmış, .Net Framework 4.0 sürümünde ise evlenmişlerdir. Bu ikilinin bir arada ele alınması ... [Daha fazla]
WF 4.0 - Kod Yoluyla Workflow Service Oluşturmak, Kullanmak [Beta 1] 16 Ekim 2009 Burak-Selim-Senyurt WF 4.0 Beta 1 Örneğin her zaman elimizin altında Visual Studio IDE' sinin sunduğu gibi gelişmiş arayüzler bulunmayabilir. Örneğin Visual Studio 2010 Beta 1 üzerinde yaşadığım sorunlardan birisi WPF tabanlı Designer' ı Workflow uygulamaları için kullanamıyor oluşumdu. Bu gerçekten çok üzücü bir durum. [Daha fazla]
WF 4.0 - Veri(Data)[Beta 1] 12 Ekim 2009 Burak-Selim-Senyurt WF 4.0 Beta 1 Bir süredir Workflow Foundation 4.0 ile ilişkili blog yazılarını, makaleleri ve görsel dersleri takip etmekteyim. Bu araştırmalarım sırasında Workflow Foundation 4.0 modelinde veriye(Data) olan bakış açısının WF 3.X sürümüne göre oldukça farklılaştığını gördüm. [Daha fazla]
WF 4.0 - Workflow Yapısı ve Object Initialization[Beta 1] 05 Ekim 2009 Burak-Selim-Senyurt WF 4.0 Beta 1 Workflow Foundation 4.0 ile ilgili yenilikleri araştırdığım şu günlerde, yaptığım araştırmalar sırasında ilgimi çeken noktalardan biriside, bir Workflow' un kod tarafında tek bir ifade satırı ile oluşturulabiliyor olmasıydı. [Daha fazla]
5000 Feet Yüksekten Workflow Foundation 4.0[Beta 1] 01 Ekim 2009 Burak-Selim-Senyurt WF 4.0 Beta 1 Paraşütle atlamak gerçekten zevkli olsa gerek. Yerden binlerce feet(1 feet=30,48 cm) yüksekten atlayıp özgür bir şekilde kendinizi yer çekimi gücüne bırakıp, saniyeler boyunca serbest düşüşü yaşamak...Size yandaki resimde atlayan kişinin ben olduğumu söylemek isterdim ama ne yazık ki değilim. Olmayı istermiydim bilemiyorum. Oldukça yüksek görünüyor. Sealed Bir paraşütçü için en güzel duygulardan birisi sanıyorum ki atladığı noktadan itibaren altındaki Dünyayı görebildiği kadar yüksekten izleyebilmenin verdiği mutluluktur. [Daha fazla]
Kitap - Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries 01 Ekim 2009 Burak-Selim-Senyurt Kitap Tavsiyelerim Merhaba Arkadaşlar, .Net tabanlı yazılım geliştiricilerin hemen hepsi yaşam döngülerinin belirli dönemlerinde, var olan Framework' lerin genişletilmesi(Extend) veya en başından itibaren tasarlanıp(Design), yazılması(Development) gibi işlerle eminim ki haşır neşir olmuştur. Eğer bu s&... [Daha fazla]
Ado.Net Data Services 1.5 - Projections 30 Eylül 2009 Burak-Selim-Senyurt Ado.Net Data Services, WCF Çok zaman değil daha bir sene öncesine kadar Astoria kod adlı Ado.Net Data Services konusunu incelemeye başlamıştım. Entity Framework veya Custom LINQ Provider' ları ile sunulan veri kümelerine, REST bazlı olarak URL sorgular atılabilmesini sağlayan ve özellikle Silverlight gibi RIA içeriklerinde son derece kıymetli olan bir servis uygulaması olarak değerlendirebileceğimiz bu konu ile ilişkili ilk paylaşımlarımı yaptıktan sonra araya WCF 4.0, WF 4.0, Design Patterns, Design Principles, .Net RIA Services gibi konular girdi. [Daha fazla]
WCF 4.0 Yenilikleri - DataContractResolver ile Dinamik Tip Çözümleme(Dynamic Type Resolution) [Beta 1] 26 Eylül 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Hatırlayacağınız üzere bir önceki yazımızda, WCF serileştirme işlemlerinde Known Types sorunsalını değerlendirmeye çalışmıştık. Bu sorunsalın giderilmesinde ele alınan tekniklerden biriside KnownType niteliğinin(Attribute) kullanılmasıyıdı. Ama istersek servise uygulanacak ServiceKnownType niteliği ve başka diğer teknikleri de değerlendirebileceğimizden bahsetmiştik. Ne varki tüm bu teknikler static bir model sunmaktadır. WCF 4.0 ile birlikte, tip çözümlemelerinin(Type Resolution) dinamik olarak ele alınmasını sağlayan DataContractResovler isimli abstract bir sınıfın geldiği görülmektedir. Bu sınıf System.Runtime.Serialization.dll assembly' ının .Net Framework 4.0 versiyonunda yer almaktadır. Abstract bir sınıf olması, türetmede(Inheritance) kullanıldığı takdirde anlam kazanacak bir tip olduğunu ifade etmektedir. [Daha fazla]
WF - ExternalDataExchange, Local Services ve CallExternalMethodActivity 25 Eylül 2009 Burak-Selim-Senyurt WF Birden fazla aktivitenin aynı fonksiyonları ortaklaşa kullanabilmeleri nasıl sağlanır? Yani bir fonksiyonun birden fazla aktivite içerisinde kullanılması gerektiği durumlarda nasıl bir yol izleyebiliriz? [Daha fazla]
WCF 4.0 Yenilikleri - HTTP Cache Desteği [Beta 1] 22 Eylül 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 En basit ve popülerlerinden birisi olan Output Caching,REST tabanlı WCF servisleri içinde kullanılabilmektedir. WCF' in önceki sürümünde WebOperationContext tipinden yararlanılarak ekstra kod eforu ile ele alınabilen Output Cache özelliği, 4.0 sürümünde tamamen dekleratif olarak değerlendirilebilmektedir. [Daha fazla]
WCF 4.0 Yenilikleri - Automatic Help Page [Beta 1] 16 Eylül 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 WCF 4.0 tarafında beklenen gelmesi yüksek olan yenilikleri sizlere aktarmaya çalıştığım yazılarımızın yavaş yavaş sonlarına gelmekteyiz. Elbette incelemeyemediğimiz bir çok detay var. Bunları ilerleyen dönemlerde ürün son halini alırken tartışma ve araştırma fırsatımız olacak... [Daha fazla]
WCF 4.0 Yenilikleri - Routing Service - MatchAll Filtresi [Beta 1] 14 Eylül 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Bundan önceki yazılarımızda WCF 4.0 için yönlendirme servislerinin(Router Service) nasıl yazılabileceğini incelemeye çalışmıştık. Fark edeceğiniz üzere yönlendirme servislerinin en önemli noktaları arasında filtreleme tablosu ve filtrelerin olduğunu gördük... [Daha fazla]
WCF 4.0 Yenilikleri - Routing Service - Hata Yönetimi [Beta 1] 09 Eylül 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Bir önceki blog yazımızda WCF 4.0 ile basit bir yönlendirme servisinin(Router Service) nasıl yazılabileceğini incelemeye çalışmıtık. Tabi bu tip bir sistemde dikkat edilmesi gereken vakalardan biriside, Downstream servislerde istisnaların(Exceptions) oluşması halinde nasıl davranılacağıdır. [Daha fazla]
Kitap - SQL Server 2008 ve Veritabanı Programlama(Yaşar Gözüdeli) 03 Eylül 2009 Burak-Selim-Senyurt Kitap Tavsiyelerim Merhaba Arkadaşlar, Beni yakından takip edenler tam anlamıyla bir .Net Developer olduğumu, olmakta ısras ettiğimi , SQL konusunu genellikle uzmanlarına bıraktığımı, bırakmak istediğimi bilirler. Ancak yazılım geliştirme işindeyseniz ve Türkiye' de yaşıyorsanız Uzmanlık kavramının &cc... [Daha fazla]
WCF 4.0 Yenilikleri - Routing Service Geliştirmek - Hello World [Beta 1] 26 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Routing Service konusu ile ilişkili bir önceki yazımızda modelin sunduğu alt yapıya kısaca değinmeye çalışmış ancak bir örnek geliştirme girişiminde bulunmamıştık. Bu yazımızda ise bir Hello World örneğini geliştirmeye çalışacağız. (Örneğimizi .Net Framework Beta 1 ve Visual Studio 2010 Beta 1 ile geliştirdiğimizi bir kere daha hatırlatmak isterim.) İlk olarak sizlere, örnek senaryomuzdan bahsetmek isterim. [Daha fazla]
Merhaba Bing API 2.0 25 Ağustos 2009 Burak-Selim-Senyurt bing Bir süredir WCF 4.0 ile birlikte gelen yenilikleri sizlere aktarmaya çalışıyorum. Son olarak Routing Service ile ilişkili bir giriş yazımız olmuştu. Bu konu ile ilişkili örnek en kısa sürede sizlerle olacak. Ne varki konu biraz zorlu. Undecided Bu yüzden bende yüksek lisans eğitimi aldığım yıllarda çok sevgili hocam Halil Seyidoğlu' nun bir açıklamasını uygulamaya karar verdim. Kendisi bize "Bilimsel Araştırma ve Yazma" dersinde şöyle seslenmişt; "Bir tez konusunu araştırırken çok zorlu yollardan geçersiniz. Tezin bir noktasında tıkandınız mı? O zaman ara verin...Tatile çıkın...Bir süreliğine uzaklaşın..." [Daha fazla]
WCF 4.0 Yenilikleri - Routing Service Geliştirmek - Giriş [Beta 1] 24 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Servis Yönelimli Mimari(Service Oriented Architecture) çözümlerinde zaman zaman yönlendirme amaçlı servislerin yazılması gerekmektedir(Router Service). Bu servislerin genel kullanım amacı çoğunlukla, istemcilerden gelecek olan talepleri değerlendirip asıl işi yapacak olan servislere devretmek ile ilişkilidir. Ancak, gelen taleplere ait içeriğinin(Message Content, Header vb...) filtrelenerek ele alınması gibi ileri seviye teknikleride içerebilir. Yönlendirme işlemleri için kullanılan pek çok donanımsal cihaz ve hatta yazılım zaten mevcuttur. Bu nedenle öncelikli olarak yönlendirme servislerine neden ihtiyaç duyulabileceğini kavramakta yarar vardır. [Daha fazla]
WCF 4.0 Yenilikleri - Managed WS-Discovery [Beta 1] 22 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Proxy servisi aslında hem announcement mesajları hemde istemcilerden gelecek olan Probe taleplerini dinlemektedir. Announcement mesajların dinlenmesi, online veya offline olan servislerin, Proxy servisi üzerinde bir saklama alanında tutulmasınıda gerektirir. Nitekim proxy servisi, ağa bağlı olan veya ayrılan tüm servislere ait ortak bir listeyi barındırıp istemci taleplerini bu listedeki durumlara göre karşılamalıdır. Diğer taraftan kendiside, istemciler tarafından keşfedilebilir olmalıdır. Bu nedenle tüm istemciler için ortak bir Discovery Endpoint noktasına sahip olmalıdır. Proxy servisini bu nedenlerden dolayı sürekli online halde kalan bir hizmet olarak düşünebiliriz. Online kalması önemlidir; çünkü online olduğu sürece, ağı dinleyerek katılan servisleri listesine alabilir ve istemcilerden gelen Probe veya Resolve gibi çağrılara cevap verebilir. Peki işi zorlayan nokta nedir? [Daha fazla]
WCF 4.0 Yenilikleri - Announcement Kullanımı [Beta 1] 21 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 WCF 4.0 tarafında WS-Discovery tabanlı olarak gerçekleştirilen uygulamalarda önem arz eden noktalardan biriside, servislerin online veya offline olma durumlarını, bulundukları ağ üzerindeki dinleyicilere(Listeners) bildirmeleridir(Announce). [Daha fazla]
WCF 4.0 Yenilikleri - Discovery için Scope Kullanmak [Beta 1] 20 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Bir önceki yazımızda WCF 4.0 tabanlı servislerde WS-Discovery protokolünün, Ad Hoc modeline göre nasıl uygulanabileceğini görmüştük. Ad Hoc modelinde istemcinin, yerel ağ üzerine dahil olan bir servisi aramak için kullanabileceği kriterleri önceden belirlemesi ve bunları kullanması gerektiğinden bahsetmiştik. Bu amaçla kod tarafında FindCriteria tipinden yararlanılmaktadır. Bir önceki örneğimizde, arama kriterinde sadece servis sözleşmesini(Service Contract) kullanmıştık. [Daha fazla]
WCF 4.0 Yenilikleri - Ad Hoc WS-Discovery [Beta 1] 18 Ağustos 2009 Burak-Selim-Senyurt WCF 4.0 Beta 1 Ağ üzerinde bulunan servis noktalarının çalışma zamanında keşfi(Runtime Discovery), Servis Yönelimli Mimarilerde(Service Oriented Architecture) karşılaşılan en önemli ihtiyaçlardan birisidir. [Daha fazla]