RDA ile Mobil Cihazlar Üzerinde Uygulama Geliştirme

Türkiye’de pek bilinmeyen bir şey mobil uygulama geliştirme hadisesi. Bu sebeple sessizliğimi bir süreliğine mobil işlemler için bozacağım.

Ben de herkes gibi mobil cihazlara ilk baktığımda “ulen kim kullanır bunu” demiş ve pek küçümsemiştim. Zira bir bilgisayar gibi rahat gelmemişti, yazı yazmak bile çok zordu bir kere. Hem database olsa bile ne kadar büyüklükte bir boyutu kaldırabilecekti ki? Fakat elbette Microsoft bizim için pek çok şey düşünmüştü.

Mobil işlemler hala sınırlı. Elbette bluetooth, wireless gibi pek çok seçenek gelişti. Fakat bunların yaygınlaşması zaman alacaktır. Biz oldukça eski fakat gerek kullanım kolaylığı gerek pratikliği ile oldukça popüler olmuş RDA hususunda ilerleyeceğiz. Bir de merge replication var ama ona değinmeyeceğiz.

Öncelikle RDA nedir onu bir açıklayalım. RDA yani Remote Data Access, bir ana veritabanı ve buna bağlı local veritabanları arasında yapılan işlemleri sağlayan mimaridir. İyi de ne bu şimdi artist misin demeyin örnekle açıklıyorum hemen.

Bir satış temsilcisi düşünün, bu adam günde 50 firma gezecek diyelim. Firmasının sorumluluğu mümkün olduğunca elemanından verim almaktır. İşte burada mobil cihaz devreye girer. Bu adama bir PDA ya da ne varsa verilir. Adam çıkış noktasındaki servera gelir ve mobil cihazını ana servera bağlar. Sonra cihazındaki RDA ile geliştirilmiş uygulamasını açar ve kullanıcı adı şifresi ile “data alma” kısmına gelir. Bu işlem ile sunucudaki en güncel bilgileri alır ve yola koyulur. Bu bilgiler uygulamanın ihtiyaçlarına göre geliştirilir. Adamın satış rotasını çizelgeleyen, noıtlar alabileceği bir arayüz oluşturulabilir. Neyse adam gezer tozar, işlerini halleder şirketine döner. Elinde pek çok data oluşmuştur. Yine başladığı noktaya döner. Server’a cihazını bağlar, bu sefer “data gönderme” olayının gerçekleştiği ekrandan yaptığı tüm aktiviteleri içeren dataları gönderir. Böylece hem cihazı temizlenmiş, hem en son güncel bilgiler ana makineye gönderilmiş olur.

İşte bizim Mobil işlemlerimizde RDA ana mantıkta bunu yapar. Ne kadar güzel değil mi?

Peki nasıl yapar? Bir kere bizim bir IIS’e ihtiyacımız var. Bu abi cihaz ile server arasındaki local bağlantıyı sağlar. Diğer ihtiyacımız şüphesiz Microsoft Sql Server. Bir ana veritabanımız olacak ki ondan gidip bize özel dataları alalım değil mi? Alalım nereye alacağız? Evet bir de mobil cihazlar için biçilmiş kaftan olan Sql Server Compact Edition’a ihtiyacımız var. Bunu da mobil cihazımıza yükledikten sonra olan “helva yapma” hikayesine dönüyor.

RDA Ne Yapıyor?

Helvayı .net ile yapacağımızı söylemiştim. Bu platform bize üç ana fonksiyon sağlıyor. İlk ikisini yukarıda anlattım, hani data al data gönder. İşte bunları Pull ve Push fonksiyonalrı ile yapıyoruz. Pull veritabanından ilgili dataları çekmeye, push ise elimizdekileri sunucuya göndermemizi sağlar. Diğeri de SubmitSql fonksiyonudur. Bu doğrudan sunucu üstünde değişiklik yapmamızı sağlıyor. Bu pek gerekmez, ama gerekebilir de değil mi?

Konuyla ilgili müthiş bir makale zamanında csharpnedir.com’da yayınlanmış. Ben üstten bir değinmek istedim. Belki vakit bulursam pek benzeri olmayan örnekler de eklemek isterim. En azından güncel olsun. 10 yıllık bilgiler değil de son teknoloji nereye geldi öğrenmek lazım değil mi?

Hadi bakalım, iyi oldu bu yazı.

İnternet, Web 2.0, Ajax, .Net, Framework, Intellisense vs. vs. ve Gelecek

Uzun bir aradan sonra merhaba.

Düşünüyorum da doğumumuzdan itibaren başkaları tarafından belirlenmiş bir istikamette, onların sınırladıkları duvarlar arasından süzülüyoruz. Kimimiz önden kimimiz arkadan birbirini takip ediyor. Fakat herkesin yolu ortak. Bunu büyük bir damar olarak düşünebiliriz, içinde milyonlarca kılcal damar var. Herkesin yolu ayrı gözükse de, herkes esasında aynı yolda.

Ne ki şimdi bu dediğinizi duyar gibiyim. Herkes bilgisayar ve dolayısı ile teknolojinin inanılmaz hızlı gelişiminden yakınır. Kimileri artık yeni teknolojileri öğrenemediğini söyler. Fakat her zaman birileri öğrenir, bir yere kadar karnını doyurur sonra yine upgrade olur.

Bundan 7-8 sene önce, çok uzun gelmiyor daha dün gibi sanki, her yer Java Applet’leri ile doluydu. Dhtml menüler zortlar, sayfalar gereksiz efektlerle açılır, çoğu sitenin arkasında midiler çalardı. Anımsarsanız yüzünüzde tebessüm olacaktır değil mi?

Fakat şimdi dönüp inşaa ettiğimiz şeylere baktığımızda farklı bir tebessüm var yüzümüzde. Belki gurur denebilir buna. Neden? Oldukça optimize edilmiş, tablesız, MVC sistemlerini sonuna kadar kullanan, kimilerinin küçümsediği o internet sistemleri artık bir sanat olmuş durumda.

Peki acaba bundan sonra ne olacak. Romalılar gibi doyuma ulaşıp yerle bir mi olacağız? Ben pek sanmıyorum. Dedimya, yeni doğanlar için yeni yolları biz geliştiriyoruz zaten. Daha şimdiden birbirinin aynı, taklidi, klon onlarca sistem doldu. İnternet sanal bilgi alanı olmaktan ziyade bir çöplük oldu. Bunu fark eden, bilgileri toparlayıcı hedefi olan sistemler yükselişe geçti ki en güzel örneği Facebook ve Youtube sanırım.

Sağa bakıyorsunuz ajaxla süslenmiş içeriği olmayan binlerce blog, sola bakıyorsunuz binlerce dostluk sitesi, forumlara değinmeyeceğim bile. Fakat artık browser içinden çalışan ve birilerinin “bak bu güzel” diyip herkesin “huraa” diyerek saldırdığı web 2.0 denen şeyin de sonu geliyor gibi. Zira web 3.0′ın çıkacağı da duyuruldu. Gelişen internet bağlantılarının faydasıyla ben artık daha gelişmiş browserların ortaya çıkacağını, klasik sunucu-istemci olayının text based ya da max. flash arayüzlü sistemler yerine oldukça işlevsel, olmazsa olmaz sistemlere geçiş yapılacağını düşünüyorum.

En azından düşünüyorum evet. Zira sıkıldım artık Ajax’tan, word press’ten, rss’ten, css’ten. Artık aynı kokuyor sanki hepsi. Bu doyuma ulaşmanın farkında olan Microsoft SilverLight’ı çıkartmayı deniyor, ama acaba ne denli başarılı olacak.

Sözün özü şu güne kadar öğrendiğim tek şey, siz teknolojiyi yaratın kazanın. Siz teknolojiyi taklit edin az kazanın. Siz doyuma ulaşmış sistemleri kullanın kaybedin.