Yazılım dünyasında ihtiyaçlar ortaya çıktıkça bu ihtiyaçlara cevap verecek çeşitli yazılım mimarileri ortaya çıkmış. İlk önceleri tek katmanlı (1-Tier) yazılımlar varmış. Mesela paradox veritabanı kullanarak geliştirilmiş bir yazılım. Bu mimaride veritabanı ve uygulama aynı bilgisayar uzerinde bulunur.
Dezavantajlar
-Bu mimari tek kullanıcılı yazılımlar içindir.
Daha sonraları aynı veritabanı uzerinde bircok kisinin islem yapma ihtiyacı doğmus ve iki katmanlı (2-Tier) yazılımlar ortaya cıkmıs. Bu mimarinin bir diger adıda Client/Server dır. Bu mimaride veritabanı ayri bir bilgisayar uzerinde yeralır ve uygulamalar ag uzerinden bu veritabanı ile iletişim kurarlar.
Avantajları
-Aynı veriler uzerinde bircok kisi calisabilir.
Dezavantajları
-İş mantığı uygulamada yer aldığı için en ufak bir degisiklikte butun clientların guncellenmesi gerekir.
-Her client veritabanina fiziksel bir baglanti kurdugu icin kullanici sayisi arttikca performans duser.
-Veritabani disariya acik oldugu icin daha fazla risk soz konusudur.
-Uygulamanın calısabilmesi icin clientların yapılandırılması gerekir. (veritabanı suruculerinin kurulması vb.)
Zaman ilerledikce client/server mimaride insanlarin ihtiyaclarina cevap veremez olmus ve ortaya N-Tier (3-Tier, Multi-Tier, Distributed Computing v.s) adlı bir yapı cıkmıs. Bu yapı en az 3 bilesenden olusur. Client - Application Server ve Veritabani) Bu katmanlara sırasıyla sunum katmanı, is katmani ve data katmani da denir.
avantajları
-client tarafında her hangi bir yapılandırmaya ihtiyaç olmaz (genelde)
-iş mantıgı orta katmanda (iş katmanı) yer aldıgı icin bu katmanla ilgili degisikliklerde clientları guncellemek gerekmez.
-clientlar veritabanı yerine orta katmana baglandigi icin hem veritabani performansinda fazla bir azalma olmaz hem de veritabaninin guvenligi ust seviyeye cikmis olur.
-Clientlar veritabanından bagımsız hale gelirler. Veritabanı degistigi zaman orta katmanı ilgili veritabanı icin yeniden uyarlamak yeterlidir.
dezavantajları
-bu tur mimariye sahip bir yazılımı yazmak digerlerine gore daha zor ve karisiktir.
mimariler hakkında daha fazla bilgi icin asagidaki linklere bakabilirsiniz.
biz şimdi işin delphi tarafına odaklanalım.
Delphi Enterprise surumu 3 katmanlı uygulamalar olusturmak icin hazir bir teknoloji sunur. Eski adıyla Midas (Multi-tier Distributed Application Services Suite) yeni adıyla datasnap. DataSnap 3 farklı sekilde bu tur yazılımlar gelistirmeye imkan sagliyor. DCOM, Soket ve SOAP. Bunların birbirlerine gore bazı artı ve eksileri mevcut ama yazdıgınız bir uygulamayı DCOM’dan Sokete veya SOAP’a kolay bir sekilde donusturmeniz mumkun.
Datasnap’ın yanısıra 3. parti frameworkler de mevcut. Bunlardan en populer olanlari
Asta (A Smart Thin Application
RemObjects SDK for Delphi
kbmmv
midWare
rtc
dbOverNet
ntierIT
n-tier icine girdigim yeni bir alan. henuz pek fazla bilgim mevcut degil. yukarıda belirttigim bilesenlerin helplerini okumakla, orneklerini incelemekle mesgulum su aralar. yeni seyler ogrendikce buraya yazarım muhakkak. bu konularla ilgilenen arkadaslar varsa onların da tecrubelerinden faydalanmak isteriz.
not:bu bilesenlerin full surumleri bi yerlerde gozunuze falan carparsa haber edin ![]()

Entries (RSS)
September 28th, 2006 at 12:11:56
Bunlar bilinen şeyler, somut örnekler, örnek kodlar ve uygulamalar var mı elinizde?
October 6th, 2006 at 08:09:22
elimde su an icin bu tarz ornekler malesef yok bunun yaninda delphi nin demos klasorunde bazi ornekler mevcut
3. parti bilesenler icin ise ilgili bilesenin sitesine bakmak gerekiyor. rem objectin sitesinde oldukca iyi hazirlanmis ornek uygulama ve makaleler mevcut.
February 28th, 2007 at 09:54:48
[...] Daha once burada 3-katmanli mimari konusuna ufak bir giris yapmistik. simdi sira bir sonraki adima geldi. Ufak bir ornek gelistirerek olayi biraz daha somut bir hale getirelim. [...]