XML DERS 3

XML NEDEN ÖNEMLİ?

Merhaba,

Önceki XML yazılarında, XML’in neye benzediğini, nasıl kullanıldığını basitce gördük. XML çalışmalarına başlamadan önce var olan bir iki örnek görerek, ne üzerinde çalışacağımızı gözümüzde canlandırabilelim istedim. Bu yazı ise, XML’in bilişim dünyasındaki yeri ve önemi üzerine olacak. Böylece “XML öğrenmeye değer mi?” sorusunu cevaplamaya çalışacağız.

XML, veri-içerik (data-content) ve verinin sunumunu (presentation) ayırmamıza imkan veren bir betik (script) dili. HTML isimli betik (script) dili ile kardeş oldukları için şekil olarak birbirlerine çok benziyorlar. Ayrıca XML de, HTML gibi öncelikle Web’de kullanılmak için tasarlanmış.

Veri (data) ve verinin sunumunun (presentation) birbirinden ayrı olmasının ne demek olduğunu önceki yazılarda yer alan örneklerde görmüştük. HTML sayfalarında bildiğiniz gibi verinin (data) kendisi ve nasıl görüneceği (format) aynı yerde, iç içe geçmiş şekilde tutulmaktadır. XML’de ise veriler (data), bir XML dökümanı içinde yer almaktadır. Bu verilerin nasıl görüneceği (format) XML dökümanı içinde belirtilmemektedir. Bu veriler çeşitli yöntemlerle istenilen şekilde gösterilmektedir.

XML kullanımını, verileri (data) bir veritabanından (database) alan ASP sayfalarına benzetebiliriz. Böyle bir sayfada, sayfanın nasıl görüneceğini kodlarla belirleriz. Ziyaretçiye sayfayı göndermeden önce veritabanından (database) sayfanın içeriğini oluşturacak verileri (data) alıp sonucu ziyaretçiye göndeririz.

XML’İ FARKLI YAPAN NEDİR?

XML’i değerlendirilken yapacağımız en büyük hata, XML’i, web uygulamalarında kullanacağımız, veriyle daha rahat çalışmamıza imkan sağlayan, yeni bir betik (script) dili olarak görmektir. XML bunun çok ötesinde birşeydir. XML’in daha yetenekli bir HTML olduğunu düşünmek ise tamamıyla yanlıştır.

XML’in neden önemli olduğunu anlamak için onun TCP/IP ile olan benzerliklerinden bahsetmek gerekir. TCP/IP neden önemli ise, XML de o nedenlerden dolayı önemlidir.

Internet, bildiğiniz gibi binlerce bilgisayarın birbirleriyle haberleşmesine imkan veren dev bir ağ (network). Artık bu ağda (network) sadece bilgisayarlar da haberleşmiyor. Her geçen gün yeni bir cihaz Internet’e bağlanma yeteneği kazanıyor. Cep telefonları, televizyonlar, arabalar, evimizdeki eşyalar vs. de bu ağa dahil olmaya başladılar. (Internet’e farklı cihazların da bağlanabileceğinden bahsederken neden hep buzdolabı örneğini veriyorlar, hala anlamış değilim)

Internet’de yer alan cihazlar ve bilgisayarlar birbirlerinden çok farklı özellikler taşıyorlar. İmalatçıları farklı, donanımları farklı, işletim sistemleri farklı, Internet’e bağlanma yöntemleri farklı… Buna rağmen bütün bu cihazların birbirleri ile anlaşmalarını sağlayan ortak birşey var. Bunların hepsi aynı dili konuşuyorlar. Hepsi TCP/IP isimli haberleşme dilini konuşmayı biliyorlar. Bu sayede hiçbir cihaz kendi özelliklerinden birşey kaybetmeden diğerleri ile anlaşabiliyor.

Yerel çözümler söz konusu olunca ortak yanların pek önemi yok. Kendi işyerinizde yer alan bilgisayarların kendi aralarında haberleşebilmeleri yeterli. Başka bir firmanın bilgisayarları ile uyumlu olması, onlarla iletişim kurması gerekmiyor. Sizin için en uygun donanımı, işletim sistemini, programları alıp kullanabilirsiniz ama artık bilişim dünyası daha farklı bir yöne doğru ilerlemekte. İletişim, birlikte çalışabilme, bilgiyi paylaşabilme, uzaktaki bilgilere erişebilme gittikçe daha çok önem kazanmakta. Bu dünyada da iletişim ve bilgi paylaşımını kolaylaştıran teknolojiler önem kazanmakta, ne kadar iyi olursa olsun iletişim sorunu olan teknolojiler ise gün geçtikçe yok olmakta.

Bilgi cihazlarının haberleşmelerine imkan sağlayan ortak dil TCP/IP bu nedenle çok önemli. Peki ortak dil olarak TCP/IP’nin seçilmesinin sebebi neydi, neden bir başka haberleşme dili ortak dil olarak seçilmemişti?

TCP/IP açık bir bilgi teknolojisidir. TCP/IP’in özellikleri, kuralları, nasıl işlediği kimseden saklanmamaktadır. İsteyenler bu bilgilere rahatlıkla ulaşabiliyorlar. Bunun sayesinde donanım ve yazılım üreticileri, ürünlerinin TCP/IP’yi en iyi şekilde kullanabilmesi için gereken özellikleri ekleyebiliyorlar. TCP/IP herhangi bir kişinin malı değil. Onu kullanmak için kimseye telif hakkı, lisans parası ödemek zorunda da değilsiniz. TCP/IP’nin bağımsız bir teknoloji olması onun geleceğini de garantiye alıyor. Üreticisinin iflas etmesi, yok olması, bu teknolojiyi geliştirmekten vazgeçmesi, keyfi işlemler yapması söz konusu değil. Aynı zamanda TCP/IP, sorunlara gerçek çözümler üretiyor. Bu nedenlerden dolayı herkesin desteğini kazanmış ve Internet’de kullanılan standart haberleşme dili haline gelmiştir.

TCP/IP sayesinde bilişim cihazlarımız haberleşme imkanı kazanmışlardır ama yerel çözümler için üretilmiş programlarımız yeni gelişmelere yeterince uyum sağlayamamışlardır. Şu ana kadar her biri kafasına göre takılan uygulamalarımızın ortak çalışabilme, birbirleriyle iletişim kurabilme yetenekleri sınırlı kalmıştır çünkü her biri kendisine has bir veri yapısı kullanmaktadır.

Örneğin her veritabanı programı kendisi için özel tasarlanmış formattaki verilerle çalışabilir. MS Access programı Access formatında saklanan verilerle, MySQL veritabanı kendi formatındaki verilerle çalışabilir. Gerçi bazı çözümlerle bu sorunlar asılmaya çalışılmaktadır ama hiçbiri yeterli olmamakta ve birçok sorunla karşılaşılmaktadır.

Bu sadece veritabanlarına has bir sorun da değildir. Yazı programları, hesap tabloları, ajandalar vs. hep programa özel yapıdaki verileri ile çalışmaktadırlar. Kısacası programların veriyi paylaşmak için, bilgi cihazların iletişim kurmak için kullandıkları TCP/IP gibi ortak bir dili yoktur.

İletişimin bu denli önem kazanmadığı eski dünyada tabii ki ortak veri yapısına bu kadar ihtiyaç yoktu ve gerektiğinde geçici, eğreti çözümlerle bu sorun halledilebiliyordu. Paylaşılan bilginin boyutları büyüdükçe, geçici çözümler yetersiz kalmaya başladı ve standart bir veri yapısına duyulan ihtiyaç arttı.

XML bu sorunun çözümüdür. Bilgi cihazları için TCP/IP ne ise, programlar, uygulamalar için de XML odur. XML de TCP/IP gibi açık bir standarttır ve kimsenin malı değildir. World Wide Web Consortium (W3C) tarafından oluşturulmuştur. Veri yapısının farklılığından kaynaklanan sorunlara da gerçekçi çözümler sunmaktadır.

XML’İN SAĞLADIĞI İMKANLAR

Hatırlayacağınız gibi HTML’in çıkması ile birlikte bir çok ofis programı, hazırlanan veriyi HTML formatında saklama seçeneği de sunmaya başladılar. Böylece veri, farklı programlarla da rahatça kullanılabilecek, paylaşılabilirliği artacaktı ama HTML’in yetersizliğinden dolayı pek başarılı olamadı. HTML sayfası olarak saklanan veri birçok özelliklerini kaybetmekteydi.

XML’de veri (data), verinin görünüşünden (presentation) ayrıldığı için programlara, özelliklerini kaybetmeden veriyi ortak bir yapıda saklama imkanı sağlamaktadır. Her uygulama bu veriyi dilediği gibi sunabilmektedir.

Veri, bir veritabanında olduğu gibi yapısal özellikleri korunarak saklandığından, yığın olmaktan kurtulmakta ve gerektiğinde filtre edilebilen, sorgulanabilen bilgi olarak saklanmaktadır. Örneğin günümüz arama motorlarına, aradığımız konu ile ilgili kelimeleri giriyoruz ve bize bu kelimelerin geçtiği, büyük çoğunluğu konumuzla ilgili olmayan bir veri yığını getiriyor. Internet’deki verinin çığ gibi büyüdüğünü düşünürseniz bugünkü yöntemin ileride ne büyük bir çöplük yaratacağını görmek mümkün. XML sayesinde, arama makinalarında anlamlı sorgular yapmamız mümkün olacak çünkü veri, formatı ile iç içe geçmiş bir HTML sayfasından değil, aynı bir veritabanı gibi yapısal olarak saklandığı XML dökümanından temin ediliyor olacak. Örneğin “Microsoft yayınevinin yayınlamış olduğu Michael J.Young tarafından yazılan XML ile ilgili kitabın satısının yapıldığı sitelerin adresleri nelerdir?” şeklinde bir sorgulama yapabileceğiz.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*