.Net RIA Servisleri - Hello World

Hatırlayacağınız gibi bir önceki blog yazımda, .Net RIA Servisleri hakkında edindiğim kısa ve özet teorik bilgileri sizinle paylaşmaya çalışmıştım. Bu yazımda ise, teoriği pratiğe dökmeye gayret edeceğim. Geliştireceğimiz örnek, .Net RIA Servisini kullanan bir Silverlight uygulaması olacak. Geliştirmeyi Visual Studio 2008 üzerinde, Silverlight 3.0 ortamını kullanarak gerçekleştireceğim. Bu nedenle aşağıdaki şekilde görüldüğü gibi, klasik bir silverlight projesi oluşturarak işe başlayabiliriz. [Daha fazla]

.Net RIA Servisleri Nedir?

Son yıllarda bildiğiniz üzere Servis Tabanlı Uygulamalar(Service Oriented Applications) hayatımızda oldukça fazla yer kaplamaya başladı. Microsoft cephesinden olaya baktığımızda, en büyük sıçramanın Windows Communication Foundation ile .Net Framework 3.0' da yaşandığını söyleyebiliriz. WCF' in getirdiği servis bazlı uygulama geliştirme yaklaşımı, .Net Framework 3.5 ile dahada zenginleşti. Eklenen Web programlama modeli(Web Programming Model) özellikleri sayesinde, REST(Representational State Transfer) bazlı servislerin geliştirilebilmesinin yolu açıldı. Sonrasında Workflow Foundation ile iç içe geçen WCF özellikleri sayesinde, iş akışlarının farklı domainler ile haberleşebilmesi veya servis gibi sunulabilmesi olanaklı hale geldi. Derken .Net Framework 3.5 Service Pack 1 ile hayatımıza başka bir kavram daha girdi. Ado.Net Data Services. [Daha fazla]

REST Starter Kit Nedir?

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]

C# 4.0 - Seçilebilen, İsimlendirilebilen Parametreler(Named and Optional Parameters), ref' i Görmezden Gelmek(Ommit Ref) ve PIA için Yenilikler

Bir önceki blog yazımızda C# 4.0 ile birlikte gelen önemli yeniliklerden birisi olan dynamic kavramına değinmeye çalışmıştık. Elbetteki C# 4.0 ile birlikte gelen başka yeniliklerde var. Bu yeniliklerde, diğerleri gibi belirli ihtiyaçlardan ortaya çıkmıştır. Öncelikli olarak bu ihtiyaçları ortaya koymaya çalışıyor olacağız. Bu nedenle PDC 2008'de dağıtılan Visual Studio 2010(PreBeta) sürümü ile yazdığım aşağıdaki kod parçasını bir süreliğine göz önüne alalım. [Daha fazla]

C# 4.0 - Dynamic Olmak

Uzun bir süredir (son bir senelik zaman dilimi içerisinde) C# 4.0 ile birlike gelen yeniliklerden haberdarız. Şöyle bir kaç sene öncesini hatırlıyorum da...Cool Visual Studio 2005, Whidbey kod adı ile yayınlanmış ve C# 2.0 ile birlikte gelen pek çok yenilik olmuştu... [Daha fazla]

REST Bazlı WCF Servislerinde AdapterStream Kullanımı

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]

nedirtv?com - Ankara Seminerleri

nedirtv?com, 3. yıldönümü etkinliklerine devam ediyor. 3 Mayıs 2009 Pazar günü Ankara Bilkent Üniversitesi’nde değerli Ankaralılarla beraber olacağız. INETA Türkiye ve Bilkent ACM Student Chapter desteğiyle gerçekleştireceğimiz bu tüm günl&uu... [Daha fazla]

WCF Rest Servislerinde Önbellekleme(Caching)

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]

Koleksiyon Bazlı WCF Rest Servisleri

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ı

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]

Her C# Programcısının Yanı Başında Olması Gerekenler

Son zamanlarda okuduğum en başarılı C# kitaplarından birisi. Çok başarılı bir kitap, nitekim yazarlarından biriside Anders Hejslberg. C# ve .Net platformunun babası diyebileceğimiz Anders Hejlsberg' in kaleminden bu dili tanımak bir başka zevk. Yıllardır C# ile programlama yapmama ve pek çok konusunu biliyor olmama rağmen, bildiklerimi tekrar etme, ölçme ve farklı çok farklı bir bakış açısı ile değerlendirme fırsatı buldum. Gerçekten de bazı durumlarda, profesyonel bakış açısına sahip insanları dinlemek veya okumak, bizlere, yazılım sevdalılarına çok fazla katkı sağlayabiliyor. [Daha fazla]

Soap Bazlı WCF Servislerini REST Modeline Taşımak

.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

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]

Ado.Net Entity Framework' de Lazy ve Eager Loading

Bildiğiniz üzere uzun bir süre önce Microsoft, LINQ to SQL yerine Ado.Net Entity Framework ile ilerleme kararı aldı. Bu konu ile ilişkili olaraktan okuduğum hemem hemen bütün kitaplarda Ado.Net' in geleceğinde önemli bir yere sahip olan Ado.Net Entity Framework alt yapısının geliştiriciler tarafından asla ihmal edilmemesi gerektiğide sıkça vurgulanmakta. Peki günlüğüme konu olan mesele nedir? [Daha fazla]

NedirTv? Nisan Ayı Webinerleri

Nisan ayı içerisinde NedirTv? webinerleri devam ediyor. Bu ayki program oldukça yoğun. Silverlight 3.0 Beta, ASP.NET MVC ve SQL Data Services gibi… Ben bu aylık kendimi nadasa çekmiş durumyadım. Ancak Mayıs ayı içerisinde olağanüstü durumlar olmassa ... [Daha fazla]

Nihayet, en sonunda, çok şükür, Blog' um yayında...

Uzun süredir kişisel sitemden makale, görsel video paylaşımı yapmaktayım. 2004 yılında C#Nedir? ile başladığım makale serüvenimde senkronize bir şekilde kişisel sitemide kullandım. Görsel iletişimin gücüne inandığım için .Net TV ile başlayan Screencast' ler, NedirTV? de devam eden video editörlüğü derken, pek çok meslektaşımın sorusunu yıllarca düşündüm durdum. "Niye bir blog yok?" . [Daha fazla]

WF 4.0 - WCF Servislerini Kullanmak

Bir önceki yazımızda Windows Workflow Foundation 4.0 (WF 4.0) ile birlikte gelmesi muhtemel(yüksek bir olasılıkla çok az değişikle gelecekler) kavramları incelemeye çalışmıştık ve pek çok yeni aktivite tipinin alt yapıya dahil edilmiş olduğunu gördük. WF örnekleri bilindiği üzere çoğu zaman servisler ile haberleşmek durumundadır. Bu özellikle gerçek hayat senaryolarında çok sık karşılaşına ve ihtiyaç duyulan bir durumdur. Nitekim WF içerisinde yer alan akışların dış ortamlara olan bir bağımlılığı söz konusu olabilir. Bir Bankacılık sisteminde yer alan akışlarda, servisler yardımıyla ulaşılabilen bazı operasyonlar bu bağımlılığa örnek gösterilebilir örneğin. [Daha fazla]

Windows Workflow Foundation 4.0 - İlk İzlenimler

Bundan sadece bir kaç sene önce .Net Framework 3.0 versiyonu ile birlikte iş akışlarının(Workflows) kod içerisinde modellenerek farklı uygulamalarda kullanılabilmesini sağlamak amacıyla Windows Workflow Foundation(WWF) alt yapısı duyurulmuştu. Paralelinde ise, Servis Odaklı Mimarilere(Service Oriented Architecture) yeni bir yaklaşım, Windows Communication Foundation(WCF) ile birlikte getirilmişti. Workflow Foundation her ne kadar iş akışlarının(çoğu zaman kod akışlarının) kendi içinde modellenmesini sağlasa da, zaman içerisinde dış ortamlar ile olan haberleşmesinde WCF ile birlikte hareket etmeye başlamıştır. [Daha fazla]

SQL Persistence Hizmeti

Workflow Foundation yardımıyla kod akışlarının modellenebilmesi ve herhangibir .Net uygulaması içerisinden host edilerek çalıştırılabilmesi mümkündür. Bu kavram işin içerisine servisler girdiğinde çok daha genişlemektedir. Nitekim servisler yardımıyla Workflow örneklerinin host edildikleri uygulama dışındaki ortamlar ile haberleşebilmeleri mümkün olmaktadır. Hatta servislerin kendi içlerinde Workflow aktivitilerini kullanabilmeleri ve böylece belirli kod akışlarını yürütebilmeleride mümkündür. [Daha fazla]