Bir yazılımcıdan hikayeler

Design your theme

Yazılım Test Uzmanları için Visual Studio Team System 2008 (Part 2)

TEST KULLANICI ARAYÜZÜ (UI) Bu kısımda bahsetmiş oldugumuz test özelliklerinin VSTS deki arayüzünün nasıl olduğu hakkında bilgi edinmeye calisacagiz. Herhangi bir test yapmadan once VSTS nin bize sunduğu özelliklerden biri olan test proje tipi olusturuyoruz. Bunun için yapmamız gereken, üst menudeki...

Yazılım Test Uzmanları için Visual Studio Team System 2008 (Part 1)

GirişEski tek kullanıcılı programlar yerini daha fazla kullanıcıyla giriş yapılan online sistemlere bırakmaya başladı. Bunun getirisi olarak sistemin, birden fazla kullanıcı dahil oldugunda nasıl bir tepki gosterecegi yazılım yaşam döngüsünde (SDLC) canlıya almadan önce kilit bir nokta olmaya başladı...

CSLA ile Web Projesi yapmak (Part 1).

Bu makalede Rockford Lhotka'ın yazmış oldugu bir framework olan CSLA.NET ile bir web projesinin tamamını sizinle paylaşmaya çalışacağım. CSLA.NET ile ilgili herşeyi aslında http://www.lhotka.net/cslanet/ sitesinden temin edebilirsiniz. Gelelim asıl mimariye. Bu CSLA ile neler yapabiliriz..

ASP.Net Seçili yazının başına yada sonuna karakter ekleme

Kısa tanımı başlıkta aslında ne yapmak istediğimizin "Seçili yazının başına yada sonuna karakter ekleme". Geçen bir arkadaşın sorması uzerine yaptıgım küçük bir javascript ve html kodlarıyla halledilebilen bir olay. Peki neden kullanacağız bunu, orasını bende tam bilmiyorum ama sanırım online sozlüklerde...

Silverlight Fish Eye Menu yapımı

Silverlight ile sonunda bir projede çalıştım. Daha onceden pek fırsat bulamamıstım silverlight ile birşeyler geliştirmeye ama bu projeden sonra sanırım daha içli dışlı olacağım gibi gorunuyor. Aslında yapılmak istenen şey gayet basit. Bir resim dizisi var mouse ile uzerine gelinen resimler ekrana yaklasiyor...

En Son Yazdıklarım :)


Aslında C# lambda ifadelerinin kullanımı çok basit olmasına karşın, ilk göründüğünde kafa karıştırabiliyor. Bu yazıda lambda ifadelerinin kullanımını ve geçirdiğin kod evrimini göreceğiz.

.Net 1.0 kod yapısında bir event handler ifadesi aşağıdaki şekilde yazılıyordu.

public Form1()

{

InitializeComponent();

this.button1.Click += new System.EventHandler(this.button1_Click);

}

private void button1_Click(object sender, EventArgs e)

{

MessageBox.Show("Merhaba Dünya");

}

.Net 2.0 Anonymous methodları kullanarak yazacağımız kodu daraltabiliyoruz.

- Event handler eklemeye gerek kalıyor ve delegate keyword’u kullanarak anonim medthodumuzu yaratabiliyoruz.

public Form1()
{
   InitializeComponent();
   this.button1.Click += new System.EventHandler(this.button1_Click);
 
 
    private void button1_Click delegate (object sender, EventArgs e)
    {
        MessageBox.Show("Merhaba Dünya");
    }
}

Yani eğer anonim methodları kullanırsak kodumuz aşağıdaki şekilde şekilleniyor.

public Form1()

{

InitializeComponent();

this.button1.Click += delegate (object sender, EventArgs e)

{

MessageBox.Show("Merhaba Dünya");

};

}

Tabii .net 3.0 ile birlikte lambda syntax’ı daha da basitleşti ve anlaşılır bir hale geldi.

Delegate keyword’unu kaldırdık.

Parametre tiplerinede artık ihtiyacımız yok.

Eğer tek ifade kullanacaksak parantezlerede ihtiyacımız kalmıyor.

Parametre ve methodu birbirinden ayırmak için => ifadesini kullanıyoruz.

public Form1()
{
   InitializeComponent();
   this.button1.Click += delegate (object sender, EventArgs e) =>
                         {
                             MessageBox.Show("Merhaba Dünya");
                         };
}

Böylece herhangi bir Lambda sözdizimi ile aynı kod aşağıdaki gibi basitleştirilmiş oluyor.

public Form1()

{

InitializeComponent();

this.button1.Click += (sender, e) => MessageBox.Show("Merhaba Dünya");

}

Devamı...

Facebook yarın büyük bir bomba patlatacak: Bombanın hedefinde ise Google'ın Gmail'i var!

Facebook'un çalışmalarını gizlilikle yürüttüğü yeni e-posta hizmeti Project Titan, Pazartesi günü yapılacak özel Facebook etkinliğinde hizmete açılacak. Şirket çalışanlarının 'Gmail katili' olarak adlandırdığı söylenen hizmetin, @facebook.com uzantısıyla kullanıcıların hizmetine sunulması bekleniyor.

Hizmetin arayüzde yapılan basit bir değişiklikten öte olacağı, Facebook'un kapsamlı bir web-mail istemcisi oluşturduğu düşünülüyor. POP3 desteği de sunması beklenen hizmetin büyük bir potansiyele sahip olduğunu düşünüyoruz.

Facebook şu anda dünyada en popüler fotoğraf paylaşım ve hattaetkinlik düzenleme aracı. İsterse bu içerikleri ve daha fazlasını e-posta istemcisiyle entegre edebilir, arkadaşlarınızı bildiği için hangi e-postaları daha çok okumak istediğinizi tahmin edebilir.

Facebook e-posta hizmetinin nasıl olacağını, Gmail'e gerçektenrakip olup olamayacağını merakla bekliyoruz...

Kaynak: Chip
Devamı...


Messenger ve Facebook: Hayatımızın Vazgeçilmez İkilisinin Ortaklığı Bakın Nelere Kadir...

Windows Live Essentials 2011 çıkalı henüz sadece 1 ay oldu. Windows Live Messenger ve Facebook Connect'i de içeren paket, Microsoft ve Facebook için oldukça kârlı oldu ve Windows Live Messenger, Facebook'ta en çok kullanılan ikinci uygulama haline geldi.

Microsoft'un ikinci sıraya yükelmesi, Windows Team Blog tarafından da onaylanırken, site yeni istatistikleri de kullanıma sundu. Bu istatistiklere göre Messenger'ın bir gündeki aktif kullanıcı sayısı 9 milyon iken aylık bazda ise bu sayı 11.5 milyon. Bilgiler arasında Messenger ve Facebook arasında 250 milyon sohbetin yapıldığı ve bunların toplam 1.5 milyar dakika uzunluğunda olduğu da yer alıyor. (Kaynak: Chip.com.tr)
Devamı...

Facebook BlackBerry uygulaması kullanıcıların istekleri doğrultusunda yenilendi.

BlackBerry için uzun süredir yayında olan Facebook uygulaması hakkında kullanıcıların geri dönüşlerini dikkate alan Facebook, BlackBerry için yeni bir uygulama tasarladı. Yeni Facebook uygulamasıyla birlikte kullanıcıların istedikleri birçok özellik artık BlackBerry'e gelmiş oldu.

Yeni uygulamanın en büyük yeniliği Facebook Places özelliğinin BlackBerry'e gelmiş olması. Kullanıcılar bulundukları yeri telefonlarından anında Facebook Places'a gönderebilecek. Arkadaş listesi sayfasından da arkadaşların profil fotoğraflarını ve sayfalarını görüntülemek artık mümkün. Kullanıcıların sorunlu olduğunu belirttiği navigasyon çubuğu da tamamiyle elden geçirilmiş. Kişi ve sayfa arama özelliği getirilmiş ve yeni işletim sistemi BlackBerry 6'ya ve onun özelliklerine tam uyum sağlanmış.

Yeni Facebook BlackBerry uygulamasını ücretsiz olarak BlackBerry App World'den indirebilirsiniz.
Devamı...

TEST KULLANICI ARAYÜZÜ (UI)

Bu kısımda bahsetmiş oldugumuz test özelliklerinin VSTS deki arayüzünün nasıl olduğu hakkında bilgi edinmeye calisacagiz. Herhangi bir test yapmadan once VSTS nin bize sunduğu özelliklerden biri olan test proje tipi olusturuyoruz. Bunun için yapmamız gereken, üst menudeki File>New>New project (Dosya>Yeni>Yeni Proje) yolunu izlemek olacak. Bu işlemden sonra karşımıza VSTS de bulunan butun proje tipleri karsımıza gelecek. Biz bir tane Test proje tipi oluşturmak istediğimiz icin en asagida bulunan Test Project (Test Projeleri)’ nin altındaki Test Document i seciyoruz. Sag taraftaki menude karsımıza VSTS nin bize sagladigi templateler cıkıyor. Biz Test Project i seciyoruz.







Bu işlemi gerçekleştirdikten sonra Solution Explorerda da gorundüğü gibi GLBTestProject adında bir projenin olduğunu gosteriyor. Herhangi bir test projesi cözümümüze eklendiği zaman, bazı önceden tanımlanmıs ve projeyle birlikte gelen dosyalarda sisteme eklenir . Biz default olarak atılmıs bu dosyaları kullanmayacagimiz için sistemimizden silebiliriz. Peki bu otomatik eklenen dosyalar ne işe yarıyor biraz onlardan bahsedebiliriz. İlk başta eklenen klasor “Solution Items” in icersindeki otomatik eklenen dosyalar ne işe yarıyor onlara bir göz atalım.
localtestrun.testrunconfig — Test Çalıştırma ve Yapılandırma dosyası olan localtestrun.testrunconfig, testin nasıl çalıştırılacagina dair bilgileri saklar. Bu dosya testin nereden çalıstırılacagını (Local/Uzaktan) veya testi çalıştırmak için script önceliklerini, testler tamamlandığında scriptlerin temizlenmesi gibi bilgileri tasır.
GLBTestProject.vsmdi — Bu dosya bir Visual Studio metadata dosyasıdır. Dosya testlerin bagımlılıklarına göre, testin organizasyonunu saklamak için kullanılır (Mesela ilk başlatılacak test gibi). Bu meta dosyası, test yöneticisi penceresi kullanılarak değiştirilir ve seçilmiş testleri yürütme için IDE tarafından kullanılır.

Gelelim test projemizde otomatik olarak yaratılan ve silebilecegimiz dosyalar ne işe yarıyor ona bir göz atalım.Aslında bu dosyalar VSTS tarafından bize birer örnek olması amacıyla yaratılıyor. Bu yüzden silmemizde bir sakınca yok.
AuthoringTests.txt —Bu dosya aslında bizim projemize eklenmez, sadece Ana Düzenleme Ekranında (Main Editing Window) görüntülenir. Dosya sadece bir test projesinin çalışma temellerini anlamak için bize yardımcı olur.
ManualTest1.mht — Bu .mht dosyası, manual test (Elle test) için bir örnektir.
UnitTest1.cs — Bu dosya, birim testleri (Unit Test) kodlama işlemine yardımcı olcak bir sablondur.

Bu işlemi gerçekleştirdikten sonra, yeni bir test nasıl eklenir ona bakalım. VSTS ekranımızda sağ tarafından bulunan “Solution Explorer ” in içersinde bulunan test projemize (GLBTestProject) ters tıklayıp karşımıza cıkan menuden “Add” ürününü seçiyoruz. Aşağıdaki şekilde göründüğü gibi VSTS ın bize sagladigi butun test teknikleri hızlı menu seçimiyle karsımıza geliyor.




Hızlı Menu seçeneğinden kolay bir şekilde yeni test teknikleri oluşturabiliriz. Menunun ikinci kısmında gordünüz gibi mevcut testler burada sıralanıyor. Eger testler hakkında detaylı bilgileri gorerek bir ekleme istiyorsak, listenin en başında bulunan “New Test ” seçenegine tıklamamız yeterli olacaktır. Bu işlemi gerçekleştirdiğimiz zaman, şekilde göründüğü gibi karşımıza VSTS nin butun testleri detaylı bilgilerle ekrana geliyor.

İstediğiniz testi seçip, ismini sizin ve takım arkadaşlarınızın anlayacagi sekilde değiştirebiliriz. Eğer birden fazla test projemiz varsa “Add To Test Project” kısmından ilgili test projesini seçip, yeni testimizi ekleyebiliriz.
Şimdi kısa detaylarla bu kısımda bulunan testlerin niçin kullanıldıkları hakkında bilgi edinmeye çalışalım.
a. Manual Test Tipi (Elle Yapılan Testler)
Bu tip, test tipleri arasında en basit olanıdır. Elle yapılan test ile oluşturulan testler, grup içersinde etkileşimle tamamlanacak testlerdir. Mesela bir testimiz var, bu test cok karmaşık bir yapıya sahip ve bu testi tamamlamak uzun bir zaman gerektiriyor. Bu test birçok yazılımcı ve test uzmanı ile birlikte geliştirilecek kodlara sahip. Iste bu özelliklere sahip bir test manual test olarak yaratılır ve işlem elle geçici olarak tamamlanır.
b. Unit Test Tipi (Birim Test)
Adından da anlaşılabilecegi gibi birim testler, uygulamamız için yazdığımız alt program parçalarının, diğer tüm bağımlılıklarından izole edilerek belli koşullarda beklenen çıktıları verip vermediğinin kontrol edilmesidir.
Geliştirilen kodun çalıştığından emin olmak için bir test alt yapısı gerekmektedir. Bunu sağlamanın bir yolu, uygulamanın (fonksiyonlarının) çalıştırılması için, kodların üretilmesi ve gerek duyulduğunda biraz daha kod geliştirerek, test projeleri oluşturmaktır. Uygulamanın her biriminin test edilmesi hedeflendiği için, birim testleri olarak adlandırılmış. Bu testlerin en önemli avantajı, her türlü değişiklikte tekrar tekrar çalıştırılabilir olması. En azından, fonksiyonel seviye de hataları yakalamak mümkün. Birim testlerinin proje bazlı takip edilmesi, üretilmesi ve çalıştırılması için bir alt yapı (Framework) sağlanmıştır.
Temel olarak birim testleri; iş fonksiyonlarının doğru çalıştığını, beklenen değerlerin elde edilmesi için test durumlarının tasarlamasını kapsıyor. Birim testleri ile metod seviyesinde test gerçekleştirildiği için, yazılım geliştiricinin sorumluluğunda gözüküyor. Araçlar Test uzmanı için VSTS sürümünde de yer alıyor.

c. Web Test Tipi
Web test tipinde, yapacaginiz tüm etkileşimler kayıt altına alınır ve bu kayıt Microsoft Internet Explorer tarafından gerçekleştirilir. Fareyi her tıkladığınızda bütün HTTP istekleri playback yapabilmek için tarayıcı tarafından yakalanır. Bu istekler ALMA (GET) ve GÖNDERME (SUBMIT) yaklasımlarını ve formlardan veri gönderme yaklaşımlarını içerir. Hatta kaydedilen test için farklı değer kümeleri göndermeye olanak saglar.
d. Load Test Tipi
Load Test yaparak sistemin birden fazla kullanıcı ve çesitli senaryolarla nasıl tepkiler verebildigini ölçebiliyoruz. Aslında load test, diger test özelliklerinin çeşitli senaryolarla belirli özelliklerle tekrar edilmesinden olusuyor. Load testler birden fazla bilgisayarı test etmenize olanak sağlar. Isterseniz sadece kendi local makinenizde test yapabileceginiz gibi Visual Studio Team Test Load Agent (VSTTLA) sayesinde uzaktaki birden fazla bilgisayarıda aynı anda test edebilirsiniz.
e. Ordered Test Tipi
Ordered test tipi, belirtilmiş bir sıra dogrultusunda, farklı tipteki testleri düzenlememize izin verir. Mesela birim testlerden olusan bir grubumuz var ve bu grup bir ordered testin elemanı degilse, testleri çalıstırırken hiçbir yol ve sıra izlenmez hatta bir sonraki çalıstırmanında bir önceki sırayla aynı olacagida garanti degildir. Mesela bir kullanıcı ekleme ve kullanıcı giriş birim testleri yapmak istiyorum. Once kullanıcı ekleme birim testinin başarılı olması lazım ki sonra oluşturulmus kullanıcı uzerinden kullanıcı giris birim testini çalıstırabiliyim. Iste bu sırayı kesin saglama için Ordered Test tipi kullanılır.
f. Generic Test Tipi
Generic test, Organizasyonda hali hazırda bulunan herhangi bir testen yararlanmamızı saglar. Bu tip yaygın olarak bir komut satırı calıstırarak mevcut testleri desteklemek icin kullanılır. Mesela bir cok takım, uygulamalarına karsı testlerini çalıştırmak için ya batch dosyaları yazarlar yada basit komut satırı programları oluştururlar. Mesela MyTest.exe/run_all gibi olur. Sonra aynı komut satırını çalıştırmak için bir generic test yapılandırılır. Yararı ise Generic terstleriniz Visual studio da diger testleriniz arasında gorunur.


Devamı...


Giriş

Eski tek kullanıcılı programlar yerini daha fazla kullanıcıyla giriş yapılan online sistemlere bırakmaya başladı. Bunun getirisi olarak sistemin, birden fazla kullanıcı dahil oldugunda nasıl bir tepki gosterecegi yazılım yaşam döngüsünde (SDLC) canlıya almadan önce kilit bir nokta olmaya başladı. Visual Studio Team System ile test durum yönetimi konusunda çok ciddi bir yatırım gerçekleştirdi. Test uzmanlarına, farklı testleri gerçeklestirmek için test araçları ve bu testlerin yönetimi,çalıstırılması, izlenmesi ile ilgili test durum yönetimi araçları sunmustur. Bu araçlar ile, yazılım gelistirme ve bakım süreçlerindeki test islemleri desteklenmektedir. Mesela, Load Test yaparak sistemin birden fazla kullanıcı ve çesitli senaryolarla nasıl tepkiler verebildigini ölçebiliyoruz. Aslında load test, diger test özelliklerinin çeşitli senaryolarla belirli özelliklerle tekrar edilmesinden olusuyor. Bu konuyla ilgili detaylı bilgileri ilerleyen bolumlerde bulacagiz.


Visual Studio Team System, SDLC de butun ihtiyac duyulan kısımları gerceklestirmeyi sağlıyor : source code control, automated build system, testing, architecture... Yani VSTS bu kısımda ikiye ayrılıyor : “Visual Studio Team System For Software Developers” ve “Visual Studio Team System For Software Testers”. VSTEST ile VSTESD elbette birbirinden ayrı süreçlere sahipler yalnız, testler gerçekleştirilken bazı bölümleri paylaşıyorlar. Aşagıdaki grafik bu konuyu bize daha detaylı bir sekilde anlatıyor.




Yazılım gelistiriciler için birim test alt yapısı (Unit Testing) VSTEST sürümüyle de birlikte kullanılabilmektedir. Yazılım gelistiriciler için VSTS sürümündeki birim testlere ek olarak; uygulamaların fonksiyonel ve operasyonel gereksinimlerini test etmek için bir çok test tipi daha sunulmustur. Bu test tipleri ve açıklamaları asağıdaki tablodaki gibidir.

Bu test tiplerinin olusturulması, çalıstırılması, test sonuçlarının kaydedilmesi, basarısız testlerin yazılım gelistiriciye yönlendirilmesi, test istatistiklerinin izlenmesi, test raporlarının yayınlanması islemleri de, Test uzmanları tarafından gerçeklestirilen isler arasında. Test uzmanı, isinin merkezinde fonksiyonel bir yönetim ekranı (Test Manager) ile islemlerini takip etmektedir. Bu araç özellestirilebilir bir yapıda ve gruplama, sıralama, filtreleme ve kolon seçme özelliği gibi özelliklere sahiptir. Asağıda, Test yöneticisinin tüm testleri aynı ekranda listelediği bir ekran görüntüsü sunulmustur :




Test yöneticisi genis özelliklere sahip. Üzerinde çalısılan testlere, daha basit ve hızlı erisim için bir de Test görüntüleme (Test View) aracı hazırlanmıs. Asağıda, Test görüntüleme aracının, ekran görüntüsü sunulmustur :



VSTS ile tanıtılan yeni bir proje tipi daha var. Test Projeleri. Test projesi, tüm testlerin saklanması için tasarlanmısdır. En önemli avantajı, diğer projeler gibi, kaynak kod yönetim sisteminde saklanması. Değisikliklerin takip edilmesi, versiyonlama, geriye alma gibi fonksiyonlar da testler içinde kullanılabilmektedir. Testlerin çalıstırılması ile, hatalı ve düzeltme gerektiren durumların belirlenmesi, sonuçların değerlendirilmesi islemi için Test sonuçlarının takip edildiği bir ekran var. Farklı testlerin çalıstırılması ile ilgili tüm sonuçlar buradan izlenebiliyor. Test uzmanları, çalıstırılmıs,devam eden ve çalıstırılmayı bekleyen tüm testleri bu ekrandan takip edebilirler. Basarısız testler için, hatayı içeren bir is takip nesnesi (Bug Work Item) hazırlanıp, yazılımcıya gönderilebilir. Yazılım gelistiriciye gelen is takip nesnesi üzerinden, test durum bilgilerine ulasılabilir. Hatanın düzeltilmesi, yeni is takip nesnesinin olusturulması ve testin tekrar çalıstırılması ile süreç tekrar test uzmanına tasınır. Proje yöneticisinin de, web sitesi üzerinden hata izleme raporlarını takip edebilmesi ile, gerçekten iyi bir birlikte çalısma ortamı sunulmus. Zaten VSTS ‘nin en önemi hedefi takım çalısması.
Devamı...

Merhabalar bu makalede Rockford Lhotka'ın yazmış oldugu bir framework olan CSLA.NET ile bir web projesinin tamamını sizinle paylaşmaya çalışacağım. CSLA.NET ile ilgili herşeyi aslında http://www.lhotka.net/cslanet/ sitesinden temin edebilirsiniz. Gelelim asıl mimariye. Bu CSLA ile neler yapabiliriz hadi başlayalım.



Architecture 'un oluşturulması:

Distributed Architecture
Nesneye dayali programlama genis bir konu. Ve simdi hangi architecture kullansak diye bir soru sorsak, herkes kafasında farkli bir yapiyla cevap vermeye calisacaktir. Oluşturacagimiz yapi cercevesinde amacimiz bütün .net uygulamalari icin kullanabilecegimiz bir yapi olustumak olacaktir. Kodlamaya başlanmadan once oluşturulacak bu Physical ve Logical modeller bizim birlikte daha yararli ve hizli bir çözüm oluşturmamizi sagliyacaktir.




The 5-Layer Logical Architecture
Boyle bir architecture yaratilirken asil amac butun .net technolojilerinin ayni yapiyi kullanabilmesidir. Amacimiz Windows, Web ve Web Service interfaceleri icin desteklenen, mantikli, birlestirilmis bir nesneye- dayali yapi olusturmak olacaktir.



Presentation:
Aslinda ilk bakista Presentation layer ile UI layer birbirinin aynisi gibi gorunebilir, sonucta ikiside kullanıcılar icin Graphical User Interface dir. Browser kullaniciya bazi gorseller sunar ve kullanıcının girdigi degerleri toplar. Burada yazilmasi gereken kod output’u olusturmak yada girilen inputu toplamamaktır. Bu iki işlemde esasinda web server tarafinda yapilir, client kullanici bu yapilan işlemlerden bihaberdir. Elbette Javascript vb. client side çalisir. Ama guvenilir degildir. Presentation layer, UI layerden sadece fiziksel bir şekilde ayriliyor. Tam olmasa da kullanıcının gordugu ekranların olustugu kısım aslında bir nevi.


UI:
UI layer, kullanıcılarin isteklerini karsilamakla yukumlu bir katmandir.
Butun webforms, winForms, server- side operations vb.. bu katman icersinde gerceklerstirilir. Aslinda ham verinin işlenecegi, bir alt katman olan Business Logic Layer’a da gerekli veriler buradan yollanir.



Business Logic Layer (BLL):
Bu katman aslında olusturulacak application un iskeletini olusturuyor olacak. Bütün data dogrulama, business kurallari, çalistirma, isletme, bu kisimda gerceklestirilir.


Data Access Layer (DAL):
Data Access Layer ile data managment asındaki iletisim insert, update, remove operasyonlarina erişebilmektir. Aslında data access layer datayi yönetmez yada datayi saklamaz, gorevi sadece business layer ile database arasinda bir köprü saglamaktir.


Data Storage And Management :
Ve son katman, database serverlarin (SQL/Oracle…) ve web serviceler uzerinden ulasilabilen diger applicationlarin bulundugu kısımdır.

Yani kısacası kullanacagimiz logical architecture ve Framework design asagidaki gibi olusacaktir.



Biz projemiz icin kullanilacak mimariyi kısa hatlariyla tanimaya calistik. Ve şimdi bir web projesi icin bu mimariyi nasil uygulamamiz gerektigini asagidaki figurede daha detayli bir sekilde gorecegiz.





Web tabanli programlarda, en iyi performansi saglayabilmek icin phsical katlari en azami sayiya getirmemiz gerekir. Buna ragmen performansla birlirlikte, ölceklenebilirlik ve guvenliğinde en üst seviyede olmasi lazim. Presentation kısmı phsical olarak zaten clientin makinesi olacaği icin onu ayri bir katman olarak ayiralim, ama UI, Business Logic ve Data access layerları aynı makine ve ayni process de kosabilirler. Ve eger kucuk bir application olusturulacaksa. Database Managment Layer da ayni makineda tutulabilir. Eger daha Secure bir web configurasyonu yaratmak istiyorsak logical architecturemız asagidaki gibi olacaktir.








Devamı...