Başlangıç > .NET, DATABASE, MESLEKTEN, NEDİR? > ASP.NET ve ADO.NET ÇALIŞTAYININ ARDINDAN

ASP.NET ve ADO.NET ÇALIŞTAYININ ARDINDAN

ado.jpgBu yazı için biraz geç kalmış gibi hissediyorum kendimi ama yine de sizlerle paylaşmam gereken bazı şeyler var.

Başlıkta bahsi geçen çalıştay (workshop) CETURK (COMPUTER ENGINEERING TURK) sitesi tarafından düzenlendi. Bu etkinliği düzenleyen ve bizlere eğitim veren ise arkadaşım Mehmet ACA’ ydı. Mehmet’in tamamen kendi çabaları ve özverisiyle düzenlediği bu etkinlik BTAKADEMİ’ de gerçekleştirildi. Bu arada sevgili hocam Sefer Algan’a da desteklerinden ötürü teşekkür etmek istiyorum.

Eğitimin içeriğine geçmeden evvel garibime giden bir durumu paylaşmak istiyorum. Açıkcası ben etkinlikte yer bulamam diye Mehmet’le iletişime geçip bana yer ayırmasını söylemiştim 🙂 ama sandığımın aksi bir durumla karşılaştım çünkü hem Mehmet’in hem de benim beklediğimden daha az talep olmuştu. Düşündüm de sanırım insalar para verip bazı şeyleri yapmayı daha çok seviyorlar yada daha iyidir sanıyorlar. Verilen eğitimi gidip bir eğitim kurumundan almaya kalksanız sanırım 5 saat için size en az 150 YTL hesap çıkarırlar. Bu nedenle biraz öğrenci arkadaşlara sitem ediyorum. Çünkü bu gibi organizasyonlarda bilginin yanı sıra çok güzel dostluklar ve paylaşımlar oluyor. Belki orada anlatılanları bir ADO.NET kitabından açıp öğrneebilirdiniz ama hata yaptığınızda yalnız olacaktınız. Halbuki Mehmet ve ben seminer süresince uygulama sırasında hata yapan arkaşlara elimizden geldiğince yardımcı olmaya çalıştık. Yeri geldikçe database ve xml kıyaslamaları ,güvenlik ,üç katmanlı mimari gibi konulara da girdik. Tüm öğrenci arkadaşlardan bu gibi aktivitelere karşı daha duyarlı olamalarını rica ediyorum. Çünkü hiçbir ücret alınmadan tamamen bilgi paylaşımı amacıyla yapılan aktiviteler bunlar.

Gelelim çalıştayda yapılanlara. Önce Mehmet basit bir veritabanı bağlantısı gerçekleştirdi. Hiçbir hazır araç kullanmadan basitçe ASP.NET sayfamızdan veritabanımıza bağlandık. Bundan sonra veritabanımıza ekleme yapmak için küçük bir arayüz hazırladık. Sonra da eklediklerimizin hazırladığımız dropdownlist içinde görülebilmesi için SqlDataReader nesnemizi kaynak olarak bu dropdownlist ile bağladık.

Bu sırada en önemli ayırım kod yazarken kullanacağımız veri kaynağıyla ilgili. Eğer SQL Sever haricinde bir kaynak kullancaksanız System.Data.OleDb namespace’ i içindeki sınıflardan faydalanmalısınız fakat SQL Server ile çalışırsanız System.Data.SqlClient içerisindeki sınıfları kullanmalısınız. OleDb ile SQL Server üzerinde işlem yapmak mümkün fakat performans ve desteklenen özellikler açısından SqlClient kullanmak daha iyi olacaktır. Elbette uygulamanızı farklı bir veritabanına taşıma ihtimaliniz varsa OleDb size büyük bir esneklik getirecektir.

Çalıştaydaki en önemli konulardan biri de DataSet kavramıydı. Bu yapı ile farklı kaynaklardan çektiğiniz verileri istemci bilgisayarının hafızasına yerleştirip sunucu ile bağlantıyı kesiyoruz. Yani disconnected olarak çalışan bir yapı var. Hafızadan çalıştığı için hem daha hızlı hem de database server üzerindeki yükü azaltıyor. Fakat dikkatli kullanılması gereken bir yapı. Düşününki 10 kişi aynı anda DataSetlerindeki bir hücreyi değiştirdi ve veritabanı sunucusuna bağlanıp oradaki değerle hafızadaki değerleri senkronize etmek istedi. Burada kimin dediği geçerli olacak ?  Ciddi bir sorun aslında bu. Yani çözülemeyecek bir sorun değil. Sonuçta en son gelen değer gerçerli olacak ama bizim isteğimiz dışında bir durum oluşabilir. Bu nedenle burada kendimiz bir iş mantığı kurmalıyız. Ben çok gerekmedikçe DataSet yapısını uygulamalarıma dahil etmeyi düşünmüyorum. Fakat çok fazla güncellenmeyen bir tablo üzerinde siz de görüntüleme amaçlı bir sistem kuruyorsanız yada el terminallerinizin veritabanı ile sürekli bağlı olması gerekmeyen bir uygulama geliştiriyorsanız DataSet kullanılabilirsiniz.

Veritabanından çektiğimiz değerleri bir de DataReader nesnesi üzerinde depolayabiliyoruz. Bu connected olarak çalışan bir yapı. Sürekli bağlı olduğu için ve her sorgu da veritabanı sunucusuna bağlandığı için DataSet yapısına göre daha yavaş ama daha güvenilebilir bir yapı. Ayrıca DataReader ile veritabanından çektiğiniz kolanlar üzerinde sadece ileri yönlü okuma yapabiliyorsunuz. JDBC uygulamalarında kullandığımız ResultSet yapısına çok benziyor.

Bu arada ADO.NET ile sadece veritabanı işlemleri değil aynı zamanda XML üzerinde de işlemler yapabilme imkanımız var. Çalıştayda bir satırlık komut ile örneğini verdiğimiz XML belgesinden SCHEMA üretimi gerçekten çok güzel bir özellik.

Çalıştayın ilerleyen bölümlerinde Stored Procedureler ile ne şekilde çalışırız üzerine örnekler yaptık ve daha sonra da ASP.NET 2.0 ile gelen ve Data sekmesi altında yer alan bileşenleri inceledik. Bu bileşenler ile çok fazla veritabanı bilgisine sahip olmadan işinizi görmeniz mümkün. Fakat kendi deneyimlerime dayanarak gerçekten ciddi bir iş çıkarmak istediğinizde kolları sıvamanız gerektiğini söyleyebilirim.

En son aşamada da üç katmanlı mimari üzerine konuştuk. Burada üç katmanlı mimariyle uygulamaya geçmeden evvel karşılıklı olarak nedir ne değildir diye fikir belirttik. Hatta sevgili sistem programlama hocamız Tevfik İnan’ ın kulaklarını çınlattık 🙂 Mehmet bizlere kendi projesinde bunu ne şekilde uyguladığını gösterdi. Data Access layer için yazdığı metotları başka bir uygulamada da kullandı ve bu sayede REUSE OF CODE kavramını da vurgulamış olduk.

Çalıştayın genel hatları bu şekildeydi. Dikkat ettiyseniz bu defa pek fazla kod örneği vermedim çünkü Mehmet yazının altında vereceğim linkte hem uygulama kodlarını (asp.net+ database) hem de sunumu bizlerle paylaşıyor. Çok güzel ve çok keyifli bir etkinlik oldu benim için. Hele de insanlara yardımcı olmak , yeri geldiğince açıklama yapmak çok güzeldi. Bir de Mehmet’in çabası bana da ilham verdi. Ben de ilk kez buradan duyuruyorum : Mart sonuna doğru ben de bu gibi çalıştaylar düzenleyeceğim. Konu olarak XML ve SQL SERVER 2005 Administration seçtim. Şu an için içerik oluşturmak ve kendimi daha da bilgilendirmekle uğraşıyorum. Bitirme projem , çalışmalarım vb. düzene girer girmez etkinliklere başlayacağız. Ayrıca çalıştay gününü çok karlı kapattım. Mehmet sağolsun bana bir adet Windows Vista Bussiness bir adet Office 2007 ve iki adet de Microsoft Press kitabı hediye etti. Daha ne isterim. Buradan arkadaşım Mehmet’ e emeği , çalışmaları ve dostluğu için çok teşekkür ediyorum. Şimdilik benden bu kadar. Beni okumaya devam edin…

Çalıştay hakkında bilgi ve örnekler için: http://www.ceturk.com/haberoku.asp?id=210

Reklamlar
Kategoriler:.NET, DATABASE, MESLEKTEN, NEDİR?
  1. Mart 12, 2007, 11:13 pm

    1.5 yıldır PHP ile çalışmama rağmen bu aralar asp.net üzerinede öğrenimler yapıyorum aslında baya birşey öğrendim sayılır gridwiev,formwiev,sessonlar falan ancak kafama takılan bir soru var yapılan büyük çapta uygulamalarda bu hazır kontroller mi kullanılıyor yoksa herşey elle mi yazılıyor?

  2. Mart 13, 2007, 12:14 am

    İtiraf etmek gerekirse adam akıllı işlerde herşeyi kodla oturup yazıyoruz. Tabiki bir grip view’ü elle yazmayız ama en azından datasource ile bağlamayı falan wizard yerine kendimiz yapıyoruz. Geçen hafta 10. workshop gerçekleştirildi. Ben de orada 4 saate yakın sunum yaptım. İlerleyen zamanlarda bunların sıklığını arttıracağız. http://WWW.CETURK.COM ‘u takip etmeni öneriyorum.

    Bir de hazır bileşnelerin olasının şöyle bir avanjaı var.Dar zamanda iyi iş görüyorlar. Mesela ben bitirme projemde biraz tutuştuğum için 🙂 bu bileşenlerden faydalanacağım.
    Kolay gelsin

  3. Mart 13, 2007, 10:40 pm

    aslında saminerlerinize katılmak isterim ancak istanbul’da oturmadığım için katılamıyorum 😦 yoksa emin olun hiçbir semineri kaçırmazdım.. teşekkürler ilginize..

  4. Mart 13, 2007, 10:46 pm

    Haklısın aslında şu anda CETURK’te artık koordinatörlük görevini ben üstleniyorum.Hızlı bir büyüme planı ve sponsorluk çalışmalarına gireceğim. Microsoft,ibm vb firmaların desteğiyle farklı illere gitme planlarımız da var. Tabi gerçekleştirilmesi bir kaç ayı bulur ama bize sürekli bu yönde talepler geliyor.

    Kisa bir sure sonra ceturkte bu konuyal ilgili bir yazı yayınlayacağım. Sen de görüşlerini yorum olarak eklersen sevinirim. Daha organize ve verimli bir şekilde bu faaliyetleri gerçekleştirmek için çalışmalara başladık. Umarım diğer illerdeki arkadaşlarımıza da faydalı olabiliriz. Dediğin gibi istanbulda böyle şeyler zaten çok fazla var önemli olan diğer illere gidebilmek.

  5. Mart 13, 2007, 11:19 pm

    Aslında fazla uzak değilim, 2 saat Bursa 🙂

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: