mework 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.
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.
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.
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.
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 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.
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.
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.


3 yorum:
Kardeşim eline sağlık döktürmüşsün gene, bakıyorum artık hiç copy paste yok ;) herifler harbi dediğin gibi uçuk şeyler yapmış, diğer partlarıda bekliyorum. Kolay gelsin
:) yok ya tamamen orjinal bu hahah. En kisa zamanda diger partlarida yayinliycam kardesim. Kolay gelsin. Iyi calismalar.
Güzel bir makale ama devami gelseydi iyi olurdu :)
Yorum Gönder