Makale Özeti

Bir önceki makalede FotoVision uygulama örneği hakkında verdiğim bilgilere ilave olarak FotoVision ve bu uygulamanın kullandığı XML WebServisi'nin smartclient ile kullanımı hakkında bilgiler sunmaktayım.

Makale

merhaba arkadaşlar.

Bir önceki makalemde SmartClient Uygulamalarından FotoVision Örneği hakkında ön bilgilendirmelerde bulunmuştum. Bu makalede ise FotoVision Desktop uygulamasının kullandığı servis ve bunlardan bazılarının işleyisi hakkında bilgi vereceğim.

Öncelikle FotoVision'un genel yapısal diagramını tekrar inceleyelim.

bu akış şemasında yönetici FotoVision Desktop ile "ADMİN SERVİS" isimli web servisini kullanarak sunucu bilgilerine ulaşmakta ve bilgiler üzerinde değişiklik hakkının tümünü ele almakta.

Smart Client uygulamalarında bilindiği gibi en önemli amaçlar olarak uygulamanın çevrimdışı çalışabilme ve sunucu ile haberleşmede geçen zaman kaybının önlenmesi diyebiliriz. Hâl böyle olunca tabiki işler herzaman ki gibiHız için yol almaya başlıyor. Bildiğiniz gibi XML veri kaynakları ve servisleri hızlı veri sağlayıcıları olarak bilinir ve hertürlü bilgisayar sistemlerinde çalışabilme özelliğinden dolayı günümüzde vazgeçilmezliğini öne çıkarır hale getirmektedir. FotoVision uygulamasını yazan saygıdeğer paylaşımcı amca ve abilerimiz de XML teknolojisini kullanmaktan geri kalmamışlar. Bu yazıda FotoVision un 2 temel noktasından bahsedeceğim. Bunlar:

1-) Kullanıcı Giriş Bilgileri ve Oturum Açma Metodu
2-) Resim ve Resim Bilgilerini Depolama

1-)Kullanıcı Giriş Bilgileri ve Oturum Açma Metodu
---------------------------------------------------------

FotoVision uygulaması herhangi bir veritabanı bulundurmadığından dolayı, kayıtlarını xml formatında veya sistem ve konfigürasyon dosyalarında barındırır. Normal olarak FotoVision uygulamamızı kendi bilgisayarımıza kurduğumuz zaman ilave olarak sunucudaki kullanıcı şifresini değiştirebilmemiz için küçük bir şifre değiştirme uygulaması verir. Normalde FotoVision Desktop uygulaması kendi bünyesinde kullanıcı şifresini saklar. Şimdi aşağıdaki şekli sırasıyla anlatalım. Desktop uygulamamızda: eklediğimiz ,değiştirdiğimiz veya sildiğimiz resim bilgilerini sunucuya aktarmak için "UPLOAD" veya menüden "File->Upload All Changes" butonları ile işlemi başlattığımızda ilk olarak resimler üzerinde yapılan değişiklikleri kendi yerel belleğinde bulunan dosyalar üzerinde değiştirir.(Renk ayarları,yeni eklenen resimler,resim boyutları,resim bilgileri v.b) (Bunu yapmasının nedeni daha sonra çevrimdışı çalışabilmesi içindir. SmartClient uygulamalarında çevrimdışı çalışılabilinecek bilgiler kendi sistemimize depo edilir. Ve sunucuya aktarılıncaya kadar bu depodaki dosyalar üzerinde işlem yapılır. ) Dosyalarımızda değişiklikler yapıldıktan sonra webservisine elimizde bulunan şifre ile başvurulur.

"AdminService" webservisi ona belirttiğimiz şifrenin karşılığını, sunucudaki "web.config" dosyasında bulunan ve yine şifrelenmiş durumda bulunan şifreyi çözerek bizim belirttiğimiz şifre ile karşılaştırır. eğer karşılaştırma doğru ise servis bize TRUE değeri ile sunucudaki resim değişiklikleri için izin vermiş olacaktır. Fakat geriye FALSE değeri dönerse ozaman iznimiz yok demektir. Ve FotoVision Desktop tekrar şifre isteyecektir. Ve ne zamanki doğru şifre yazıldı ozaman giriş yaptıracaktır.

Yukarıdaki kodlar "PhotoAdmin.asmx.vb" dosyası içeriğidir. Yani "Admin Web Servisi" tasarı dosyasıdır.

Şifre bilgisinin tutulduğu yer olan web.config dosyasında şifrenin tutulduğu bölüm:

Buraya kadar olan bölümde; kullanıcı işlemi gerşekleşmekte ve kendi bilgisayarımızda değiştirdiğimiz resimleri karşı sunucuya yedeklemesini yapabilme imkanı için izin almış oluruz.

 

2-) Resim ve Resim Bilgilerini Depolama
----------------------------------------------

Az önce kullanıcı girişinde parantez içinde bahsettiğim olayı biraz daha açalım. SmartClient in amaçlarından olan çevrim dışı çalışma işlemi için 2 taraftada bilgilerimiz olması gerekmekte. Yani bağlı çalışmamız gereken bir sunucu olması lâzım. Ve aynı zamanda çevrimdışı durumdayken bizim, üzerinde işlem yapmak istediğimiz veya işlem yapmamız gereken bilgiler neler ise onların da kendi yerel bilgisayarımızda bulunması gerekmektedir.

FotoVision Smartclient uygulamasında resimler bizim bilgi kaynaklarımız durumunda. Bu kaynakların içinde öncelik olarak resimlerin kendileri ana kaynağımız. Bununla birlikte bu resimlerin boyutları,kapladıkları alan miktarı,oluşturma tarihi.değiştirme tarihi,ilgili resim'e ait açıklama ve isim,bağlı olduğu albüm gibi bir çok bilgi bize lazım olan bilgidir. Aslında bu örnekte bütün kayıtlar bize her an lazım :) yani sunucuda bulunan bütün bilgiler kendi yerel bilgisayarımızda da bulunması lazım. Tabiki bu sadece FotoVision ve benzerleri uygulamalar için geçerli.

Resimlerin ve Bilgilerinin tutuluş şekli yine XML formatlı bilgi kütüphanelerindedir. Aşağıdaki şekilde kendi bilgisayarımızda ve sunucudaki dosyalama şekli gösterilmekte.

Bu bilgilere ulaşan ve kullanıcılara göstermesi için yazılmış kod mantığı şöyle:

1-)Web sunucusunda "Photos" klasörü ve Kendi bilgisayarımızda "My Albums" klasörlerinin nin içeriğindeki klasörler bizim ALBÜM isimlerimiz oluyor. (animalsi,baby,flowers,land)
2-)Albüm olarak varsayılan klasörler içindeki "album.xml" dosyası o albüm ile ilgili bilgileri içermekte.
3-)resim adı ile aynı olan XML dosyası adını taşıdığı resmin bilgilerini içerir.
4-)Yine o klasör içinde bulunan "thumbnails" klasörü içinde resimlerin sergilendiği ortamlara daha hızlı bir şekilde ulaşması için resimlerin boyutlarının küçültülmüş formatları bulunur.

resim bilgisinin bulunduğu XML yapısı aşağıdaki gibidir.

<metadata>
<photo filename="hummingbird.jpg" title="Hummingbird" date="04.12.2003" description="Hummingbird coming in for a landing." hashcode="URaTAkaFPSWZAPC4MUJgtA==" />
</metadata>

veri kaynaklarımız bunlarla ibaret. "UPLOAD" butonunu seçtiğimiz de öncelikle resimleri son istediklerimize göre derlemekte ve sunucuda kapı açarak yerel pc de bulunan bilgileri sunucuya upload etmektedir. Bunun için yine "AdminServis" web servisi kullanılmakta. Bu bölüm için gereken bilgiler aşağıdaki kod dizesinde mevcut.

Albüm Güncelleme
--------------------

Albüm Bilgilerini Kullanıcıya Gönderme
--------------------------------------------

---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------

Resim Güncelleme
---------------------

Resim Bilgisini Kullanıcıya Gönderme
------------------------------------------

Bunlardan ayrı yine resim ve albüm bilgilerini silme ile ilgili servislerde mevcut. Onları burada belirtme gereği görmedim. çünkü yapılar aynı...

Aşağıda Bu servis ile ilgili referans ekleme penceresinde servise ait sınıfları görebiliyoruz.

FotoVision ile ilgili temel bilgiler bunlardı. Daha detaylı bilgi isteyen veya bu uygulamada bir yere takılan arkadaşlar olursa herzaman yardımcı olabilirim.

Bundan sonra WeRock.net veya WeFly.Net uygulaması hakkında bilgi vermeyi düşünüyorum.

Sabrederek yazımı okuyan arkadaşlara çok teşekkürler. Dilimin döndüğünce birşeyler yazdım; umarım faydalı olabilmişimdir. Yazım ve imlâ hataları için özür dilerim.

Görüşmek Üzere...