İlkay İlknur

just a developer...

WCF RIA Services'a Giriş

Merhaba Arkadaşlar,

Bu yazımızdan itibaren Silverlight 4.0 ile beraber kararlı sürüme ulaşmış olan WCF RIA Services'ı incelemeye başlayacağız. WCF RIA Services nedir ? ve neden ortaya çıkmıştır gibi sorulara bu yazımızda cevap bulmaya çalışacağız. İlerleyen yazılarda da uygulama geliştirme kısmına geçerek iyice WCF RIA Services konusunun derinliklerine inmeye çalışacağız.

Silverlight ile Veri Odaklı Uygulama Geliştirme

Silverlight kullanarak özellikle veri odaklı uygulamalar geliştirmeye başladığımızda istemci tarafındaki Silverlight uygulaması ile sunucu tarafındaki ASP.NET uygulaması arasındaki iletişimi web servisler aracılığıyla gerçekleştirmekteyiz. Tabi bu iletişimi web servisleri ile gerçekleştirmemizin temel nedeni de Silverlight uygulamasının tamamen istemci tarafında çalışmasıdır.  Bu noktada çoğunlukla WCF'in Silverlight için sunduğu özel binding sayesinde bu iletişimi daha hızlı hale getiren "Silverlight-enabled WCF Service" kullanırken aynı zamanda klasik ASMX uzantılı web servislerini de yine Silverlight uygulamalarında kullanabilmekteyiz.

Baktığımız zaman Silverlight ilk olarak çıktığından beri veri odaklı uygulamalarımızı bu şekilde geliştirmekteyiz ve hala da bu yöntem yaygın olarak kullanılmakta. Ancak bu şekilde uygulama geliştirdiğimizde özellikle development tarafında bazı tekrarlayan işler yapmak durumunda kalabilmekteyiz. Öncelikle biraz büyük çaplı bir uygulama gerçekleştirdiğimizde özellikle servise yeni bir metot eklediğimizde ya da serviste bulunan bir metodun imzasını güncellediğimizde bu güncellemeyi aynı zamanda Silverlight uygulaması tarafındaki servis referansında da yapmak durumundayız. İşte bu durum özellikle servisiniz biraz büyüdükçe zaman almakta ve bazı zamanlarda can sıkıcı olabilmektedir.

Bunun yanında kullandığımız yöntem çok temel bir yöntem olduğu için paging, validation, authentication gibi mekanizmaları genelde kendimizin gerçekleştirmesi gerekmekte. Tüm bunlar da şüphesiz ki uygulama geliştirme süresini oldukça arttırmaktadır. Ayrıca istemci tarafındaki Silverlight uygulamasının servis metotlarını asenkron olarak çağırmasıyla beraber metot sonuçlarının alındığı handler metot tanımlamaları da baktığımızda uygulamaları biraz daha karmaşık hale getirmektedir.

WCF RIA Services ??

WCF RIA Services'a baktığımızda ise aslında adından da anlayabileceğimiz üzere WCF ekosistemi içerisinde bulunan bir programlama modelidir. Connected Systems MVP'si Burak Selim Şenyurt hocanın blogunda bulduğum WCF ekosistemini açıklayan resme bakıldığı zaman aslında WCF RIA Services'ın tam olarak nerede bulunduğunu çok daha iyi anlayabiliriz.

WCF RIA Services tamamen WCF altyapısını kullanmakla beraber bir WCF servisi üzerinde yapabildiğiniz tüm konfigürasyonları WCF RIA Services üzerinde de yapabilmekteyiz. WCF RIA Service tanımına baktığımızda aslında adında anlaşılacağı gibi RIA uygulamalarında yani Silverlight uygulamalarında kullanılmak üzere geliştirilmiş bir programlama modelidir.

WCF RIA Services ile beraber özellikle Silverlight uygulamalarında n-tier modelinde uygulama geliştirmeyi kolaylaştırmak amaçlanmıştır. Ayrıca özellikle Visual Studio 2010 üzerinde bulunan geniş tooling özellikleri ile de özellikle veri uygulamaları geliştirmek oldukça kolay bir hale gelmiştir.  Bunun yanında yine kod tarafında ilerleyen yazılarda da göreceğimiz üzere artık sunucu tarafındaki metotları çağırmak çok çok daha kolay bir hale gelmiştir. Ayrıca artık "Update Service Reference"  yapmaya da gerek kalmamaktadır. Wink

Bunun yanında WCF RIA Services ile istediğiniz veri tabanı erişim katmanını da kullanmanız mümkün. İster LINQ to SQL yada Entity Framework kullanın isterseniz NHibernate. Yada ADO.NET !Smile

İlk yazımızın sonuna gelirken kısaca bir özet yapmak gerekirse, WCF RIA Services, WCF ekosistemi içerisinde bulunan ve Silverlight uygulamaları geliştirmede gerek Visual Studio 2010 tarafında büyük kolaylıklar sağlayan gerekse programlama tarafında işleri oldukça kolaylaştıran yeni bir servis programlama modelidir. Bu programlama modeli yine altyapısında tamamem WCF'in altyapısını bulundurmakla beraber Silverlight uygulamalarının geliştirilmesi amacıyla çok daha kolay ve basitleştirilmiş bir programlama modelini yazılım geliştiricilere sunmaktadır.

Bir sonraki yazımızda ilk WCF RIA Services uygulamasına giriş yapacağız.

Görüşmek Üzere,



Yorum Gönder


Yorumlar

  • profile

    ilkayilknur

    • 23
    • 3
    • 2012

    @Mehmet, Merhaba RIA Services bahsetmiş konu ile alakalı değil. Bahsettiğin senaryo için Background Agentları araştırmanı tavsiye ederim. http://msdn.microsoft.com/en-us/library/hh202941(v=vs.92).aspx

  • profile

    mehmet

    • 21
    • 3
    • 2012

    merhaba, windows phone 7 ile servis uygulaması geliştirmem lazım .yani pda da çalışacak uygulamayı kapatsam bile arka planda servis olarak çalışacak. fakat hiç bir bilgim yok bu konuda. wcf ria services bununla alakalı mı .bilgilendirirsiniz sevinirim