Monthly Archives: October 2010

ASP.Net MVC Öğreniyorum Proje Uygulaması

ASP.Net MVC Öğreniyorum  video serisini, bir uygulama ile devam etmeye karar vermekteyim. Söz konusu uygulama temel anlamı ile bir kitap sitesi olmaktadır.

 bookstore2_thumb4

Uygulama ile pratik olarak, ASP.Net MVC projesinin nasıl şekillendiğini ve birçok aracın kullanımı göreceğiz.

Uygulama aşağıdaki resimde de gömüş olduğunuz gibi bir bazı bölümlerden oluşmaktadır. Bu bölümler;

image_thumb8

BookStore.App: Uygulama projelerinin barındıran klasördür. (Sanal klasör)

BookStore.Core : Controller, ViewData ve Extension gibi ASP.Net MVC nesnelerinin içerisinde barındıran bölümdür.

BookStore.Entites : Uygulama içerisinde kullanacağımız nesneleri barındırmaktadır.

BookStore.Logger : Uygulama içerisinde yaşanacak hataların, hata günlüklerine (Log) yamamızı sağlayan bölümdür.

BookStore.Test : Uygulama ile ilgili olarak yazacağımız testleri içeren bölümüdür.

Söz konusu uygulamamız, açık kaynak kodlu (Open Source) araçlar kullanarak geliştirme yapacağız.  Kullanacağımız araçlar;

  • Nhibernate 3
  • MvcContrib
  • Log4net
  • FluentValidation
  • Moq
  • XUnit
  • AntiXSSLibrary
  • Newtonsoft.Json
  • Castle Proje
  • Spark View Engine
  • JQuery

Uygulama projesi, bir açık kaynaklı proje gibi bir Code Hosting sitesine yüklemiş bulunmaktayım.

bookstore3_thumb3

Her görsel video sunucunda uygulamayı aşama aşama Commit edeceğimi bu sayede daha kolay bir şekilde kaynak kodları inceleme şansınız olacaktır.

BookStore / https://github.com/ibrahimatay/BookStore

Uygulama dosyalarının get source seçeneğini kullanarak indirebilirsiniz.(zip/bz2/gzip)

Şimdiden herkese kolay gelsin.

IBRAHIM ATAY

Getting Results the Agile

Özellik ile iş uygulamalarında planlama ve iletişim sorunlarından dolay geliştirilen uygulamalar amaçlarına ulaşmamaktadır. Bu gibi durumları ortadan kaldırmak için Agile( yada Çevik) denene iş süreçleri planlama stratejileri geliştirilmiştir.

 Untitled

Bu yazında ise Agile konusunda internet üzerinde bilgilenebileceğiniz bir kaynak olan “Getting Results the Agile Wayisimli kitabı sizler ile baylaşmaktayım. Bağlantıdan söz konusu kitabın Wiki kaynağını inceleyebilirsiniz.

İyi okumalar

IBRAHIM ATAY

Cloud Computing Düşüncesi

Kim diyebilir ki “ben teknolojiye yetişebiliyorum…” . İçerisinde bulunduğumuz tarihlerin bir ya da iki yıl öncesinde msn en popüler sosyal paylaşım aracı iken şimdi yerini Facebook, Twitter ya da FriendFeed bırakmakta. Söz konusu paylaşım ağları ile binlere ulaşan fikirleri ve düşünceleri tartışabiliyoruz. (Burada önemli olan hangi sosyal ağını kullanmak değil ne kadar hızlı bilgiye ulaşmak olmalı…)

Türkiye ‘ye ilk internet ağı ODTÜ ve TÜBİTAK ortak girişimi sayesinde kurulmuştu. Bu kurumlar sayesinde gelen internet önce evlerimize sonra çantalarımıza girdi. Şimdi ise 3G ve 4G sayesinde ceplerimize girdi. Hızlı ilerleyen teknoloji, araç olmaktan çıkıp yeni bir dünya haline geldi.

image 

Kullanıcı tarafında yaşana hızlı tüketime karşılık olarak Web standartları da şekil almaktaydı. Web bir ve iki arasında SOA, P2P gibi teknolojiler kullanıcılara sunuldu. Tarihler günümüze doğru gelindiğinde ise web iki ile üç arasında artık zengin internete uygulamalar yavaş yavaş gündeme gelerek iş uygulamaları hazırlanmaya başlandı.

Yeni dünya, kişisel bilgisayarlarımızda kullandığımız uygulamalarını zaman, mekân ve platformlardan bağımız olarak kullanmak isteyen kullanıcı talepleri oluşmaya başlandı.

Kullanıcı isteklerine cevap üretmek ve geleceğe taban oluşturmak için CloudComputing (ya da bulut hesaplama) sistemlerini oluşturmaya başlandı. Cloud Computing özellikle bireysel kullanıcılarından daha çok işletme ve kurumlara büyük avantajlar sağlamaktadır. Söz konusu avantajlar aşağıdaki gibidir.

  • Maliyet
  • Kullanım kolaylığı
  • Güvenlik
  • Ölçüllebirlik
  • Sürdürebilirlik
  • Bakım

Cloud Computing, şirketler içerisinde bulunan ve büyük maliyeler gerektiren iş yüklerini azaltarak sistemleri, dışarıya çıkarılarak daha az maliye, kolay yönetilebilir, sürdürülebilir ve en önemli olarak ise yüksek güvenlik sağlanabilinen sağlayıcılara taşımamızı sağlamaktadır.

Her uygulanamın kullanım çercevesi olduğu gibi Cloud Computing uygulamalarında da sınırlar tanımlayabilmekteyiz. Bu sınırlar aşağıda bulunmaktadır.

  • Private Cloud
  • Interval Cloud
  • Public Cloud

Cloud Computing uygulama sınırları ile ilgili örnek vermek gerekir ise; herhangi bir şirkette kullanılan ServisDesk uygulaması, bir şubede kullanılması durumunda Private Cloud uygulama şeklindedir. Uygulamanın şirketin tüm şubelerinde kullanılması Interval Cloud bir uygulama haline gelmiş olmaktadır. Söz konusu uygulama, Windows Azure platfomuna taşındığında ve diğer firmalara açarak kullandığımıda Public Cloud uygulaması haline gelmektedir.

Cloud Computing ‘in yapısal yönü incelendiğinde ise, temel olarak 3 katmandan oluşmaktadır. Bu katmanlar aşağıda bulunmaktadır.

  • IaaS (Infrastructure as a Service)
  • Paas (Platform as a Service)
  • SaaS (Software as a Service)

Cloud Computing ‘in katmanlarını, basit anlamda incelemek gerekir ise, birden fazla bulunan sunucun alt yapının sanallaştırak, farklı ürünlere(Windows Server, Linux) hizmet sağlanması IaaS katmanında gerçekleşmektedir. Söz konusu sunucu / sanallaştırma alt yapısı üzerinde hazırlanan platfoma, özgü hizmet sağlayıcılar açılıyor ve bunuların geliştiriciler(Windows Azure, Amazon AWS) tarafından kullanması sağlanması PaaS katmanında gerçekleştirilmektedir. Hazırlanan platfomu bir adım daha ileriye taşıyarak, paket bir ürünün desteği(Office 365, Micorosft Exchange) sağlanıyor ise bu işlem SaaS katmanında gerçekleşmektedir.  

Geliştirici gözü ile bakıldığın da uygulama geliştirmek ve geliştirilen uygulamanın konumlandırılması birçok sağlayıcı şirket bulunmaktadır. Aşağıda Cloud Computing ile ilgili bazı sağlayıcı şirketler bulunmaktadır.

  • Windows Azure
  • Amazon AWS
  • Google App Engine
  • IBM Cloud
  • Oracle Cloud

Söz konusu yazı dizimde sizler ile birlikte Windows Azure platformu ve uygulamalarında bahsetmeye çalşacağım. Bu yazımda Cloud Computing ve yazılımcı olarak kullanabilceğemiz platformlardan bahsetmeye çalıştım.

Herkese kolay gelsin.

IBRAHIM ATAY

Bu makale 10/09/2010 tarihinde yayınlanmıştır. Söz konusu makale 04/07/2012 tarihinde güncellenerek yeniden yayına alınmıştır.

ASP.NET MVC Öğreniyorum – 3 (Rounting)

ASP.Net MVC Öğreniyorum serisinin üçüncü bölümü yayınlanmış bulunmaktadır. Bu çalışmada ASP.Net MVC ‘nin önemli konularından biri olan Rounting konusunda değinilmiştir. Söz konusu yapı, çağırılan sayfaların adreslerini düzenlemesi gerçekleştirilmektedir. Bu nedenle özellikle SEO uygulama süreçlerinde büyük önem kazanmaktadır.

ASP.Net MVC ile ilgili kendisini geliştirme isteyen kişilere, popüler soru/cevap alanı olan Stackoverflow önermekteyim. Stackoverflow web sitesi, uygulama süreçlerinde karşılaşılan birçok tecrübeyi inceleyerek kendinizi geliştirebilirsiniz. Stackoverflow ‘un ASP.Net MVC ile ilgili bölümü için bağlantıyı kullanabilirsiniz. dan bahsetmeye çalıştım.

Alternatif Video Adres: https://vimeo.com/60738276

Konu ile ilgili sorularınızı info@ibrahimatay.org eposta adresine yöneltebilirsiniz.