| Editor Login | Register | ||
| > Bilgisayar > Nesne Programlama > vb.net |
|
|
| Smart Client Uygulaması | |||
Bu yazının birinci bölümünde Smart lient Kavramı açıklanmış ve smart client uygulamalarının nerelerde kullanılıp nerelerde kullanılamayacağı anlatılmıştı. Yazının bu bölümünde basit bir örnek uygulama yaparak bu tür uygulamaların nasıl oluşturulduğu ve nasıl kullanıldığı incelenecektir. Örnek Uygulama Örnek uygulamada hemen hemen tüm uygulamalarda bulunan ve kullanılan login (sisteme giriş) ekranı yapılacaktır. Bu ekran tamamen windows Application ortamında hazırlanacak ve daha sonra Web ortamında oluşturulacak yeni bir IIS üzerinden hizmete sunulacaktır. Client makinalar ise bu adres üzerinden uygulamaya erişip uygulamayı kullanacaklardır. Önce Visual Studio.Net te boş bir Solution açılır(Blank Solution). Bu Solution a ise isim olarak OrnekSmartClientUygulamasi ismi verilir(Şekil 1).
Şekil 1 Yeni bir Solution Yaratma
Daha sonra Bu oluşturulan Solution a projeler eklenir. Önce Login ekranın yapılacağı bir Windows Uygulaması Projesi oluşturulur(Şekil 2).
Şekil 2 WinAppLogin Windows Uygulaması Projesi Yaratma
Bu projenin ekran görünümü yapılarak kod yazımına başlanır. Ekran görünümü Şekil 3 tekine benzer bir yapıda olabilir.
Şekil 3 WinAppLogin Windows Uygulaması Projesi - Login Ekranı Örnek Dizaynı
Burada yapılacak olan, Tamam Butonuna basıldığı zaman oluşturulmuş bir Veri Tabanına gidip Login olmak isteyen kullanıcının Login olup olamayacağını denetlemek; eğer kullanıcı login olabilirse ona göre sayfayı yönlendirmektir. Bu örnekte Sistemde 3 çeşit giriş yapılabilsin. Kullancı ya Admin olarak , ya bir Client olarak ya da ziyaretçi olarak sisteme girebilsin. Bunun her biri için farklı bir yönlendirme sayfası yapılmalıdır. Bunun için yeni bir proje daha Solution a eklenir. İsmi WinAppUsers olan bu proje de bir Windows uygulaması olsun(Şekil 4).
Şekil 4 WinAppUsers Windows Uygulaması Projesi Yaratma
Bu projeye 3 adet form eklenerek Login ekranından kullanıcının girişine göre açılacak formlar oluşturulmuş olur. Bunlar örneği derinleştirmemek için basit formlar olsun(Şekil 5).
Şekil 5 WinAppUsers Windows Uygulaması Projesi - Formlar
Bu uygulama Compile edilirken EXE (Windows Uygulaması) olarak değil de DLL (Class Library) olarak compile edilecektir. Bunun için Solution Explorer penceresi içindeki Projenin üzerine sağ tıklayıp açılan context menüden Properties seçeneği seçilerek gelen ekrandan OutPut Type Class Library olarak değiştirilir. Böylece bu üç form bir DLL içerisinde yer alacaktır. Eğer daha esnek bir yapı istenirse üç form içinde üç ayrı DLL oluşturulabilir. Bunun için üç ayrı Windows Application uygulaması açılması yeterlidir. WinAppUsers Projesinin Build edilmesiyle elde edilen DLL i WinAppLogin Projesi içinde kullanmak için IIS kullanılacaktır. Bunun için Solution a bir Web Servisi eklenir(Şekil 6). İsmi SmartClientService olan bu bu web servisi DLL için gösterilen adres konumunda olacaktır.
Şekil 6 SmartClientService Web Service Projesini Yaratma
Oluşturulan bu Service içine DLL i eklemek için Project Menüsünden Add Existing Item (Shift+Alt+A) seçeneği seçilerek WinAppUsers Projesinin Build edilmesiyle elde edilen DLL Servise eklenir. Şimdi WinAppLogin Projesine geri dönülecek ve Login formunda kullanılacak olan kod bloklarının yazımına geçilecektir. Kod blokları Şekil 7 de gösterilecek ve konuyla ilgili görülen kod blokları açıklanacaktır.
Şekil 7 WinAppLogin Windows Uygulaması Projesi - Login Ekranı Kod Bloğu
Projeyi oluştururken önce
kod blokları projenin başına eklenir. Tamam Butonuna basıldığı zaman önce SqlConnection ve SqlCommand nesneleri oluşturulur, parametreler tanımlanır ve Datareader kullanılarak verilerin Veri Tabanından alınması sağlanır. Veriler alındıktan sonra, eğer sisteme girmeye çalışan kullanıcı Veri Tabanında mevcut ise bu kullanıcının ne olduğuna bakılır. Ona göre sayfa yönlendirmesi gerçekleştirilir.
Şekil 8 WinAppLogin Windows Uygulaması Projesi - Login Ekranı Kod Bloğundan Bir Bölüm
Şekil 8 de gösterilen kod bloğu Smart Client Uygulamasının nasıl oluşturulduğunu gösteren bloktur. Burada sLocation String değişkeni ile alınacak DLL in adresi tanımlanıyor ve bu DLL [Assembly] olarak alınıyor. Daha sonra Bu alınan DLL in hangi tipinin kullanılacağı kullanıcının girişine göre tanımlanıyor. Örneğin; Eğer kullanıcı Admin olarak giriş yapmışsa WinAppUsers.frmAdmin formu (Sınıfı) kullanılacaktır. Bu tip (Type) tanımlandıktan sonra Nesneye (Object) çevriliyor. Ve daha sonra bu nesnede form Nesnesine dönüştürülerek ekranda gösteriliyor. Oluşturulan ve Compile edilip çalıştırılan bu EXE projeyi de (Aslında MSIL kod da denilebilir) Web Service in içine atarak Client tarafına bir şey yüklenmesi gerekmeyecektir. Service içine EXE yi eklemek için Project Menüsünden Add Existing Item (Shift+Alt+A) seçeneği seçilerek WinAppLogin Projesinin Build edilmesiyle elde edilen EXE Servise eklenir. Yapılan bu uygulamayı .Net Framework yüklü olan bir Client tarafında çalıştırmak için yapılması gereken Şekil 9 da gösterildiği gibi HTTP://localhost/SmartClientService/WinAppLogin.exe satırını Windows içindeki Run altına ya da bir browser ın adres satırına yazmaktır.
Şekil 9 Uygulamanın Çalıştırılması
İki Bölümden oluşan bu yazı dizisinde birinci bölümde Smart Client Kavramı incelendi ve bu tür uygulamaların nerelerde kullanılıp nerelerde kullanılamayacağı üzerinde duruldu. yazının ikinci bölümünde ise örnek bir uygulama demosu yapılarak Smart Client uygulamalarının nasıl oluşturulduğu gösterildi. |
|
| Bağlantılar: bilgininefendisi.net |
| Open Source Document Project | AUP&TOS |