Daily Archives: 21/01/2007

XML NEDİR ? (NEDEN BU KADAR ÖNEMLİ?)

xml.jpgBu yazı ile NEDİR? kategorsinin de ilk yazısını yazmış olacağım. Ayrıca bu yazıyı XML SERİSİ kategorisine de dahil ediyorum. XML SERİSİ kategorisinde XML ile ilgili olarak geçen kavramlar hakkındaki görüşlerimi ve bilgilerimi bulacaksınız.

“XML NEDİR ? ” sorusu her ne kadar başlık da olsa bu yazı XML’i açıklamak için değildir. Ama yine de kısaca tanımlamak gerekirse :  XML önceden tanımlanmış ve statik bir formu olmayan yeni diller tanımlamamızı sağlayan genişletilebilir bir işaretleme dilidir. Dahası için bakınız…

Ben XML ile Java Teknolojileri Derneği’ nde Serkan Demir tarafından verilen Kod Üreticiler-VELOCITY seminerinde tanışmıştım. O sıralar her yerde XML konuşuluyordu. Hatta Web sitelerinde turunu turuncu XML simgeleri belirmeye çoktan başlamıştı bile. Peki bu neye yarıyordu yada HTML gibi oturup öğrenilesi birşey miydi?

XML kullanıyor olmak için ezberlemeniz veya bilmeniz gereken keyword hemen hemen yok gibi. Kurallar da az. Olan kurallar da iyi oluşturulumuş (WELL-FORMED) bir XML belgesi hazırlayabilmek için gerekli. Tamamen metin (text) tabanlı bir dosya biçimi ; yani çalışabilmek için notepad yeterli. Elbette XML belgenizin boyutu büyükse ve içine DTD, SCHEMA gibi kavramlar girecekse görsel bir editörden faydalanmak akıllıca olacaktır. Bunun için de bir yazı yazacağım.

Bu yazıyı yazmaya başladığımda size kullandığınız programlardan örnek vermek için Program Files içinde *.xml diye bir arama yaptım ve arama hala bitmedi. Demekki kullanılan XML  belgesi çok fazla ve bu da bize XML’ in ne kadar önemli olduğunu bir kez daha gösteriyor.

Mesela MSN Messenger ‘daki konuşma kayıtlarınız, Zone Alarm programındaki güvenlik tanımlanırınız, Bitcomet programindaki dil ayarları , Spybot- Search and Destroy programindaki zararlı yazılımların tanımları , Firefox‘daki güncellemeler ve daha niceleri XML belgelerinde tutuluyor. Peki neden plain text değil de XML tercih edilmiş?

En önemli nedeni kolay okunabilir olması. XML belgelerinden herhangi birini açıp okuduğunuzda konu hakkında bilginiz olmasa bile neyin neye yaradığını anlayacaksınız. Mesela düz bir metin dosyası olsaydı ve ilk satırda 0 yazsaydı. Siz onu nasıl algılardınız? Eminim bu yazıyı okuyan herkes farklı algılayacaktır. Ama <ShowSplashScreen>0</ShowSplashScreen>  bu şekilde olsaydı artık farklı birşey düşünme gibi bir durumunuz olmayacaktı. Zaten Web 2.0 ile herşeyi etiketler yada kategorilere ayırır olduk . İşte bu mantık ile XML birebir örtüşüyor.

Diğer bir etken de hız. Gerçekten hızlı bir yapısı var çünkü neyin nerede olduğunu biliyorsunuz. Hatta doğru ayrıştırıcıyı seçtiğinizde ratgele erişimle dosyanın istediğiniz bir yerine gidebilirsiniz. Peki metin dosyasında ne yapardınız. En fazla aradığınız şeyin kaçıncı satırda olduğunu bulurdunuz ve uygulamadan bu satıra gidebilmek için taklalar atardınız. Hatta kullanacağınız XML belgesi yeri geldiğince bir veritabanından daha hızlı çalışır. Bu deneyim ile sabittir. O yüzden sanırım artık çoğu veritabanı veri tipi olarak XML’i destekliyor.xml-example.JPG

Yukardakilerin yanına bir de daha kontrollü olmasını ekleyebiliriz. Yani ben ne dedim şimdi ? XML dosyalarınızın ; önceden hazırlayacağınız bir şablona uyup uymadığını kontol edebilirsiniz. Bunun için DTD ve SCHEMA gibi kavramlar var . Bu kavramlara  da başka bir yazımda değineceğim. Ama düz metin dosyanız için böyle bir şansınız yok.

Artık hemen hemen her uygulamada IMPORT/EXPORT dediğinizde size bir XML  dosyası gerekiyor. Mesela ben bu siteden yani WORPRESS.COM’ dan sıkıldım ve farklı bir yerde blogumu devam ettirmek istiyorum.Peki onca yazı burada mı kalacak? Elbetteki HAYIR ! . Yönetici panelinden tüm blogumu EXPORT  edeceğim ve gidip mesela BLOGGER’daki bloguma IMPORT edeceğim. Hepsi bu kadar. Görüldüğü gibi XML belgesi bir çeşit ortak dil gibi kullanılabilir. Zaten ortaya çıkış nedenlerinden bir tanesi de EDI (Elektronic Document Interchange) ihtiyacıdır.

Yazıyı fazla uzatmadan size XML kavramını hayatınıza sokmayı tavsiye ediyorum . Bir yerlerden başlayın ve öğrenin. Öğrendikçe sevecek ve sevdikçe de kullanacaksınız. Umarım bu yazı dizisi de bu yolda size yardımcı olur. Beni okumaya devam edin…

BLOGSURF-2

surfboard3.jpgBu hafta BLOGSURF köşesi açısından açıkcası biraz verimsiz geçti. Takip ettiğim blogların çoğuna yeni bir yazı eklenmedi. Benim de zaman sıkınıtısı yaşamam nedeniyle çok fazla kaynağı gezemedim. Ama fırsat buldukça inceleyecek ; yeni yazılar çıkarak blogları favorilerimin arasına ekledim. Lafı uzatmayalım ve surfe geçelim diyorum.

*İlk yazı MarketingMa’ dan. WOMM hakkında. WOMM nedir diyorsanız buyurun. http://marketingma.blogspot.com/2007/01/istanbula-womm-geldi-duymayan-kalmasn.html

*Farketig de yine bize yazacak birşeyler verdi ve müşteri nereden nasıl bulunur sorusuna “uzaklarda arama” diyerek cevabı veriyor http://www.farketing.com/fikirler/2007/01/yeni_mterileri_.html

*Edunya da ise  Web 2.0 ile hayatımıza giren ETİKET kavramı üstüne güzel bir yazı yer alıyor. http://www.farketing.com/fikirler/2007/01/yeni_mterileri_.html

*DOLMAKALEM’ de bir canlı yayın komedisine dikkat çekilmiş. Gülmek isteyenler buyursun. http://www.dolmakalem.org/aci-problemi/

* Selim Tuncer’ den İletişimin ilk kuralı: Sen nerenle konuşursan muhatabın da seni orasıyla duyar!  başlıklı güzel bir yazı: http://selimtuncer.blogspot.com/2007/01/iletiimin-ilk-kural-sen-nerenle.html#comments

*AJAXIAN benim yeni tanıştığım bir blog. Burada güzel AJAX uygulamalarına yer veriliyor. Japano Web Application Toolkit  ile ilgili olarak buraya bakabilirsiniz. http://ajaxian.com/archives/japano-web-application-toolkit

*Sezer Yeşiltaş tarafından yazılmış AJAX NEDİR? SORUSUNA okuduğum en güzel cevabı veren yazı. Mutlaka okuyun diyorum.Öğrenecekesiniz. http://www.yesiltas.net/sezer/2006/10/ajax.html

* Fikir Atölyesi  ‘nden güzel bir çeviri ; güzel bir yazı. Çeviri ise Youtube ‘de yayınlanan Apple CEO’su Steve Jobs’a ait bir konuşma. AÇ KAL BUDALA KAL diyen Steve Jobs bakın daha neler demiş … http://www.fikiratolyesi.com/index.php/2006/03/14/ac-kal-budala-kal/

*Popüler Teknoloji de ise APPLE iPHONE gündemdeydi.. iPHONE için söylediklerine bir bakın isterseniz. http://www.burak.com/2007/01/10/apple-iphone-efsaneden-gercege/

*Hakkı Oktay Bey’in blogunda Oracle “ref cursor” tipi dönen fonksiyonu JDBC ile nasıl okuruz? başlığında güzel bir yazı yer alıyor.yorumları da okumayı unutmayın :) http://hakki.oracleturk.org/?p=96

*Tekno Seyir’ de Windows Live Servisleri’ ni tanıtan güzel bir yazı var . Tanışmak isteyenler bir baksınlar derim. http://www.teknoseyir.com/windows-live-servisleri/

*Finali  de Webrazzi ile yapayım. Monster Türkiye’ nin yayında olması duyurulmuş. Artık iş arayacak yeni bir kapımız daha var. Hepimize hayırlı olsun :)  http://www.webrazzi.com/2007/01/20/monster-turkiye-yayinda/

Doğruyu söylemek gerekirse yazıya başladığımda yazacak yada link verecek pek bir yer yok diye düşünüyordum ama 12 tane güzel yazı çıktı ortaya. Blog  arşivim zamanla zenginleştikçe sizleri yeni bloglara tanıştırmaya devam edeceğim. Eğer incelenmesini istedğiniz bir blog(unuz) varsa bana bildirebilirsiniz. Bir sonraki sörfe kadar dengede kalın ve beni okumaya devam edin…