Change Font Size

Change Screens

Change Profile

Change Layouts

Change Direction

Change Menu Styles

Cpanel
Cuma, 14 Ocak 2011 20:57

Neden ORM- Object Relatioanal Mapping- kullanayım ki?

Yazan&Gönderen  Muhammet Ali YURTÇİÇEK
Bu Öğeyi Derecelendir
(2 Oylar)

Object Relatioanal Mapping

Her geçen gün kullanım alanı artan ve kurumsal uygulamalar için vazgeçilmez bir unsur haline gelen Object relational mapping konseptini ve temel hatları ile uygulamalarımıza getirdiği kolaylıkları anlatacağım bu yazımda. ORM nesne modellerine bağlanma işini otomatikleştiren bir yoldur ve nesnelerin tablolara, tabloların nesnelere dönüşümünü sağlayarak kodları basitleştirir böylelikle uygulama liderleri pazarlama işine daha fazla zaman ayırabilir ve daha hızlı ve etkin pazarlayabilir. Aynı zamanda ORM kullanılarak kodlama ve bakım masrafları azaltılabilir.

ORM ile gömülü SQL, stored procedürler ve interfaceler ilişkisel veri tabanlarına göre daha az kodla yazılabilir.ORM büyük veritabanları ile işlem yapılması işini kolaylaştırır ve stored prosedürlere göre çok daha hızlı bir şekilde çalışarak sorunların çözümüne hızlı bir şekilde ulaşmanızı sağlar.

Object-to-Database Mapping(Nesne- veritabanı haritalama)

Bir ORM tolunun yerine getirmesi gereken en önemli konu nesne ve veritabanını ilişkilendirerek haritalama üzerinden işlemleri hızlı bir hale getirmesidir. Bir ORM aracı iş objelerini veritabanına başından sonuna bazı metadata haritalamalarını kullanarak haritalayabilmelidir. Bu nesne tabanlı ilişkisel haritalamanın temel unsurlarından biridir.

ORM yapılarının bize kazandırması gereken işlevleri sıralayacak olursak

Object Caching

İsminden de anlaşılacağı gibi nesnesel veri önbellekleme yaparak persistence katmanının performansını arttırır.

GUI Mapping

IT dünyasındaki bir çok konu gibi bu konuda tartışılmaktadır. Graphical user interface arayüzü kolaylaştırır LINQ to SQL ve EF GUI dizaynı visual studio ile yapılabilirler.

Multiple database-Platform Support(Çoklu veritabanı ve platform desteği)

İyi bir ORM bir ilişkisel veritabanı sisteminden diğerine taşınabilir olmalıdır.

Dynamic Querying(Dinamik Sorgulama)

ORM’in bir başka özelliği de dinamik sorgulama işlevidir ve DBAlerin korkulu rüyasıdır. Dinamik sorgulama desteği

ORM araçları kullanıcı tarafından girilen dinamik sorgulama desteğini vermelidir. Kullanıcıya özel bir filitre veya kriter koymasına izin veren bir yapıda olmalıdır. Bu yapılar LINQ to SQL ve EF de doğal olarak vardır. Böylelikle kullanıcı girişlerine göre framework otomatik olarak sorgu üretebilir.

Lazy Loading

Lazy loading’in amacı  bir program başlatıldığında belleğe öncelikleri belirlenmiş bileşenleri yükleyerek veritabanı serverlerine aktarır böylelikle bellek kullanımı optimize edilmiş olur. Temel olarak performans artırımı için kullanılır.LINQ to SQL de hazır fonksiyonlar kullanılarak ilk erişimde hangi yapıların yükleneceği seçilebilir. EF(Entity Framework) default olarak bu yapıyı destekler.

Nonistrusive Persistence

Fonksiyon, class, interface veya herhangi bir belirli sağlayıcılardan kalıtım ya da extend almaya gerek kalmamasını sağlayan önemli bir özelliktir. LINQ to SQL bu özellikleri destekler. Belirli sağlayıcıları kullanmadan özel bir sınıf oluşturularak isterleri bu sınıfı kullanarak sağlayabiliriz. Oluşturulan bu sınıf’ın ORM yapısına katılması istenilebilir.

Code Generation(Kod generasyonu)

ORM’in belirsiz bir alınıdır. Bazı yazılımcılar ORM’de code generationa yer olmadığını iddia eder ve iyi düşünülmüş bir nesne modelinin kodlamalarının elle yapılması gerektiğini savunurlar. Static veritabanı kullanılan projelerde code generation’un kullananılması çok büyük kolaylıklar sağlar örnekleyecek olursak soyut veri nesne katmanı nesne modelinden extend alıyorsa code generation kullanılabilir.

Multiple Object Orianted Framework Support(Çoklu nesneye dayalı faramework desteği)

Bir ORM ürününün çoklu nesneye dayalı diller ve geliştirme araçlarına uygunluğu zor bulunan bir özelliktir. .NET ve JAVA ORM yapılarını destekleyebilir özelliktedir.

Stored Procedure Support(Gömülü prosedür desteği)

Bir çok büyük organizasyonlarda dinamik SQL i kullanarak işin altından kalkmak mümkün değildir.Bu yüzden DBAler ORM üzerinde kötü bir tecrübe yaşamışlardır. LINQ to SQL ve EF stored prosedürü destekler.

Miscellaneous(Çesitlilik)

Kriterleri aşağıda sıralanan şekildedir.

-              Fiyat

-              Kullanım kolaylığı

-              Dokümantasyon

-              Pazar etkinliği

-              Performans

-              Destek

Etkin uygulamalarda bütün bu kriterleri bir ORM aracının sağlayabilir olması gerekmektedir.

Bir ORM aracı seçtiğimizde bunun bütün ihtiyaçları karşılayabileceğini düşünmeyin kullandığınız mimaride herhangi bir değişiklik yapmadan önce ORM mantığını tam olarak anlamanız gerekir. ORM araçları üretimi arttırıp pazarlama sürecini azaltır ama yanlış bir kullanımda tersi ile de karşılaşılabilir.

Son Düzenleme Cuma, 14 Ocak 2011 23:13
Muhammet Ali YURTÇİÇEK

Muhammet Ali YURTÇİÇEK

Veri bilgi çağının vazgeçilmez unsurudur.

Website: aliyurtcicek.blogspot.com E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir

Yorum yaz

Make sure you enter the (*) required information where indicated.
Basic HTML code is allowed.

You are here Kategoriler MICROSOFT Neden ORM- Object Relatioanal Mapping- kullanayım ki?