Başlangıç > NEDİR?, XML SERİSİ > XML’E GİRİŞ. NEDİR BU ETİKET OLAYI ?

XML’E GİRİŞ. NEDİR BU ETİKET OLAYI ?

xmlsg.gifGünden güne popülerliği artan XML’in neden bu kadar önemli olduğunu öğrenmek istiyorsanız öncelikle buradaki XML NEDİR ? (NEDEN BU KADAR ÖNEMLİ) başlıklı yazımı okumanızı tavsiye ederim.Bu yazıda ise XML’in önemini bir kaç örnekle tekrar açıklayıp daha sonra kullanım mantığını anlatmaya çalışcağım.

Öncelikle XML’ e ihtiyaç duyabileceğiniz bir senaryo üzerinden gidelim. Diyelimki siz bir araba üreticisisiniz . Fakat araba üretmek için farklı firmalardan parça alıyorsunuz. Tekerleği A firmasından, camları B firmasından , müzik sistemini C firmasından, ısıtma sistemini de D firmasından aldığınızı düşünelim. Müşterilerinize sunacağınız üretim planınız dolayısıyla bu firmalara bağlı. Peki her defasında arayıp onlardan stok vs. hakkında bilgi almanız uygun olur mu? Elbette olmaz. O zaman onlardan verilerini paylaşmlarını isteyeceksiniz. Buraya kadar herşey güzel. Peki veri paylaşım işi ne şekilde yapılacak?

Hemen aklınıza veritabanı yönetim sistemine erişsinler gibi bir çözüm gelebilir. Bu yaklaşım belki bir yere kadar doğru. Ama düşününki tüm üreticiler farklı veritabanı yönetim sistemleri kullanıyor, bu veritabanı yönetim sistemleri de verileri farklı tipte tutuyorlar. Her biri için uygulamanızda farklı çözümler üretmeniz gerekecek. Ayrıca güvenlik, performans , ölçeklenebilirlik ve erişim yönetimi gibi konularda da düzenlemeler getirilmeli.

Demekki ortak bir standart oluşturulup verileri o şekilde paylaşmak daha mantıklı. İşte XML burada devreye geriyor. XML ile kendi standartınızı tanımlama imkanına sahipsiniz. Belki bir yerlerde okumuşsunuzdur ; XML için bir meta-dildir derler. Yani kendi tanımlamanızı yapmanıza , kendi standardınızı oluşturmanıza imkan verir. Bu örnek bir B2B (BUSINESS TO BUSINESS) uygulama örneğiydi.

Başka bir örnekle yolumuza devam edelim. Bu örnekte ise XML altında farklı bilgileri birbirlerine karıştırmadan tutabilme imkanımızdan bahsedeyim. Düşünün ki bir masaüstü uygulaması geliştirdiniz ve bu uygulamanıza 12 farklı dilde dil desteği eklemek istediniz. Genelde izlenen yol şudur: Uygulamanın olduğu dizinin içine Lang adında bir dizin yaratılır oraya da 12 adet metin dosyası koyulur ve içlerinde farklı dillerdeki çevirilir tutulur. Siz de uyuglama menüsünden ilgili dili seçersiniz ve uygulama artık o dile ait dosyayı kullanır. Güzel bir çözüm gibi görünüyor. Peki daha iyisi olabilir mi? XML kullanırsanız olur. Her dil için farklı etiketler tanımlayıp bu eteiketlerin arasına çevirileri yerleştirirseniz tek bir XML belgesi ile işi halletmiş olursunuz. Ne gibi bir avantaj elde ettik diye soruyorsanız hemen söyleyeyim. Bu yapı daha hızlı çalışcaktır. Ayrıca tek bir dosya olduğu için yönetimi daha kolaydır. Yada farklı kelimler eklemek istediğinizde daha rahat güncelleme yapabilirsiniz. Hatta buradaki çevirleri farklı uygulamalar için de kullanılabilir kılmış olursunuz.

Özetleyecek olursak XML önemli bir teknoloji ve çoğu uygulamada kullanmak faydalı olacaktır. Yapılan testlerde de çoğu zaman bir veritabanından daha hızlı cevap verdiği görülmüştür. Eğer işlemleriniz uygunsa verilerinizi XML içinde tutarak hosting firmanıza bir de veritabanı yönetim sistemi için para ödemekten de kurtulmuş olursunuz. Fakat bir noktanın altını çizmek istiyorum. Asla XML bir Veritabanı Yönetim Sistemi gibi yetenekli olamaz. XML veriyi sadece saklar ama veritabanı yönetim sistemleri bu verileri kullanarak çok daha detyalı işlemler yapabilirler. O nedenle XML mi yoksa Veritabanı Yönetim Sistem mi kullanayım gibi bir soru aklınıza gelirse, sizlere tavsiyem ihtiyaç analizlerinizi iyi yapmanız yönünde olacaktır. Ayrıca artık çoğu Veritabanı Yönetim Sistemi XML’i bir veri yapısı olarak desteklemektedir. Bunu da göz önünde bulundurmalısınız.

Sanırım yukarıda yazdıklarım XML’ in faydalarını ve getirilerini anlamanız için yeterli olmuştur. Şimdi de XML ve etiketleme işlemi hakkında birşeyler söylemek istiyorum. Etiketler burada bizlerin düzenli bir yapıya kavuşmasını sağlıyor. Mesela siz bir kıyafetinizi götürüp buzdolabına koyar mısınız? Yada yiyeceklerinizi kıyafet dolabında saklar mısınız? Umarım yapmıyorsunuzdur 🙂 . İşte XML’ de tanımlayacağımız etiketler neyin nereye ait olduğunu belirtmek için kullanılır. Bu durumu XML kullanarak anlatmak istersek şöyle birşey yapabiliriz: (Yazım kuralları ile ilgilenmeyip mantığa yoğunlaşın)

xml1.JPG

Bu yapı ile artık bize “gömlek” lazım olduğunda buzdolabına boşu boşuna bakmayacağız. Kıyafetdolabına gidip oradan da gmleklere ulaşabiliriz.

Konunun pekişmesi için başka bir örnek daha verelim. Düşünelim ki veritabanımızda tablolarımız var ve orada AJAX-TR yazarlarına ait bilgileri tutuyoruz. Biz bu yapıyı XML’ e taşımak istersek şöyle bir hiyerarşi oluşturabiliriz.

xml2.JPG

 xml3.JPG

Bu örneği yazınca ne kadar açıklayıcı bir örnek verdiğimi düşündüm. Nedenine gelince: Burada ben etiketleme kullanmamış olsaydım ve Erhan’ ın doğum tarihini öğrenmek isteseydim bana 2 adet doğum tarihi bilgisi gelirdi. Fakat bunların hangisinin hangi Erhan’a ait olduğunu bilmem güçleşirdi. Bu yapıda ise doğumtarihi gelen kişinin soyadını da öğrenebilme şansımız var. Bu sayede hangi doğum tarihi hangi yazara ait bilebiliriz.

XML ile ilgili örenkleri çoğlatmak mümkün. Sizler de ev adresinizi XML yapısı ile ifade etmek isteseniz nasıl bir hiyerarşi kuracağınızı düşünerek bu konuyu pekiştirebilirsiniz. Burada dikkat etmeniz gereken oluşturduğunuz yapının OKUNABİLİR (HUMAN READABLE) olmasıdır. Yani sizin XML ile ifade ettiğiniz adresinizi ben açıp baktığımda anlayabilmeliyim. Zaten amaç bilgiyi paylaşmaksa burada okunabilirlikten vazgeçemeyiz. Yine aynı şekilde mümkün olduğunca basit hiyararşiler oluşturmalısınız. Yani ayrıştırmak ve bu XML’i kullanarak uygulama geliştirmek kolay olmalıdır. Son olarak da size tavsiyem etiket adlarınızı mümkün olduğunca açıklayıcı seçmeniz. Burada kendinize göre kurallar oluşturabilirsiniz. Ama etikelerinizi adlandırırken mutlaka daha sonra da açıp bakınca anlayabileceğiniz şekilde isimler seçin.

XML ile tanışmanızı ve mantığını anlamanızı hedeflediğim yazım şimdilik bu kadar. Bir sonraki yazıda ise sizlere XML’in dil kurallarından ve XML belgelerinizi hazırlamakta kullanabileceğiniz araçlardan bahsedeceğim.

Umarım faydalı bir yazı dizisi olur. Sabırla okuduğunuz için teşekkürler. Beni okumaya devam edin…

Reklamlar
Kategoriler:NEDİR?, XML SERİSİ
  1. gfbbrk17
    Mart 6, 2007, 1:30 pm

    valla su anda derste bunu görüyoruz ama tam olarak anlamamıştım.teşekkür ederim yardımcı olduğunuz için

    gfbbrk17

  2. Mart 6, 2007, 5:53 pm

    İşine yaramasına sevindim. Eğer istanbuldaysan http://www.ceturk.com/etkinlikkayit.asp?id=21 buradahi adreste XML anlatıyor olacağım.ç katılabilirsin.

  3. Nisan 1, 2007, 11:45 am

    ben giriş nedir diye sormuştum ama genede güzel olmuş tebrik ederim

  4. Nisan 1, 2007, 11:46 am

    güzel olmuş okudum da bana çook yardımcı oldunuz teşekkür ederim…

  5. mrlmz
    Nisan 30, 2007, 9:30 pm

    XML ye neden bakıyorum hiç bilmiyorum ajax için gerekli diye ilgileniyorum makale güzeldi ama daha bişey çıkaramadım okumaya devam …

    İYi çalışmalar ..

  6. Alper
    Ağustos 31, 2007, 3:29 pm

    Gercekten cok aciklayici bir makale,yazilarin devamini bekliyoruz

  7. ece
    Mayıs 28, 2008, 10:04 pm

    makale güzeldi xml azda olsa anladım

  8. Engin
    Ocak 28, 2015, 12:18 pm

    teşekkürler açıklayıcı sade olmuş

  1. Şubat 17, 2007, 11:21 am
  2. Haziran 14, 2011, 6:11 pm

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: