joomla templates Data Warehouse Türkiye

Wed04272011

Last update07:32:32 PM GMT

Back Kategoriler Oracle Data warehouse Neden ORM- Object Relatioanal Mapping- kullanayım ki?
Cuma, 14 Ocak 2011 20:57

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

Yazan&Gönderen  Muhammet Ali YURTÇİÇEK
Bu Öğeyi Derecelendir
(4 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 Pazartesi, 14 Şubat 2011 14:51
Muhammet Ali YURTÇİÇEK

Muhammet Ali YURTÇİÇEK

1987 / Van doğumluyum. İlköğretimimi Vanda tamamladım. Lise öğrenimime İstanbul Haydarpaşa Anadolu Lisesinde başladım ve Milli Piyango Anadolu lisesinde tamamladım. 2006 yılında Sakarya Üniversitesi Bilgisayar Mühendisliği Bölümüne başladım ve 2010 yılında öğrenimimi tamamladım. İlk profesyonel iş hayatıma Global Bilişim Sistemlerinde Uygulama Danışmanı olarak başladım.Daha çok enterprise uygulamaların geliştirilmesinde rol aldım. Kariyerime Vodafon'da Oracle ve Java üzerine Danışman olarak devam etmekteyim. İlgilendiğim ve kullandığım teknolojiler ve programlama dilleri: Oracle 10-11g , Oracle Pl-Sql,DWH, Java, Hibernet, Sipring,SQL,Asp.net,C#,Delphi,ORM,MEF,LINQ to SQL,IoC, Linux Bana ulaşabileceğiniz adresler: [email protected], [email protected] http://www.linkedin.com/profile/view?id=95301476&trk=tab_pro aliyurtcicek.blogspot.com

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
Login to post comments