XML Teknolojisine Gerçekçi Yaklaşım IX. "Türkiye'de Internet" Konferansı 11 Aralık 2003 Askeri Müze/Harbiye Kültür Sitesi, İstanbul XML Teknolojisine Gerçekçi Yaklaşım Bil.Müh. Deniz KILINÇ - Prof. Dr. Alp Kut Bilgisayar Mühendisliği Bölümü Dokuz Eylül Üniversitesi dkilinc@deu.edu.tr , alp@cs.deu.edu.tr
İçerik Tarihsel Bakış İşaretleme Dillerine Genel Bakış SGML, HTML, XML XML Teknolojisinin Özellikleri Sonuç
Tarihsel Bakış Basılı yayının gelişimi ve markup (işaretleyici semboller) 1967, Kanada Hükümeti Baskı Ofisi Toplantısı, William Tunnicliffe’in konuşması 1968, Stanley Rice ve GCA GenCode komitesi 1969, “ilk resmi işaretleme dili” GML (Generalized Markup Language) 1978-1986, ANSI kurumu tarafından GML’in geliştirmesi ve SGML’in ortaya çıkışı 1986, SGML’in, ISO-8879 standardı haline getirilmesi
Tarihsel Bakış 1989, HTML, Tim Berners-Lee ve Anders Berlung 1996, XML taslak versiyonunun SGML’96 konferansında duyurulması Şubat 1998, XML 1.0 versiyonunun yayınlanması
Tarihsel Bakış XML Uyg. XML SGML HTML GML GCA 2005 2000 1990 1980 1970 ? - 1960
İşaretleme Dillerine Genel Bakış GML SGML XML İşaretleme Dilleri HTML XML Uyg .... XHTML MathML
SGML GML’in ANSI tarafından geliştirilmesiyle ortaya çıkmıştır Temel bir sözdizimi tanımlar ve bunu kullanarak kendi elemanlarınızı tanımlamanıza izin verir Havacılık ve otomobil endüstrisinde yer alan büyük kurumlarca kullanılmıştır SGML çok güçlü bir dil olmasına rağmen, karmaşık yapısı ve yüksek uygulama geliştirme maliyetinden dolayı, Internet tabanlı uygulamalarda, özellikle hızlı ve kolay web yayınlarında tercih edilmemiştir .
HTML Web sayfalarının formatlanması amacıyla yazılmış, bir SGML uygulamasıdır. İçerik yönetiminden çok içeriğin görüntüsü ile ilgilenir. Standart formatlama amaçlı etiket seti vardır. Yeni etiketler eklenemez. Öğrenilmesi ve uygulanması kolaydır. Meta bir dil değildir.
XML SGML’in güç ve esnekliğini içeren basitleştirilmiş, genişletilebilir bir işaretleme dilidir. Ne HTML kadar basit, ne de SGML kadar karmaşıktır. XML veriyi ve verinin anlamsallığını, belirli geçerlilik kuralları çerçevesinde, belirli bir formatta saklayan bir metin dökümanıdır.
XML Fonksiyonsuz LISP Acrobatsız PDF Ticari anlamsallığı(semantic) olmayan EDI Kelime işleme anlamsallığı olmayan RTF Sıkıştırma olmayan ZIP Multimedyasız FLASH Daha fazla karakter içeren Mors Alfabesi Daha fazla kontrol karakteri içeren Unicode Mao’nun binlerce kilometrelik gezisinin ilk adımı Microsoft’un Sun’a karşı gizli silahı Sun’ın Microsoft’a karşı açık silahı
XML Teknolojisinin Özellikleri Yapısal bir text formatına sahiptir. Okunabilir bir yapıya sahiptir. Dökümanların işlenmesi kolay ve maliyeti azdır. Varolan güvenlik çözümlerini destekler.
XML Yapısal Text Formatına Sahiptir İçerik bilgisinin yanı sıra, içeriğin ne anlam taşıdığını (metadata) yapısal bir formatta tutar. Çoğu metin dosyası bu önemli avantaja sahip değildir. Sadece içerik bilgisini ya da en fazla, .ini uzantılı dosyalardaki gibi, tek seviyeli metadata bilgisini tutarlar. Sadece içerik bilgisine sahip dosyalarda, verileri ayırmak için, genelde virgül ve benzeri karakterler kullanılır.
XML Yapısal Text Formatına Sahiptir Uygulamanın türüne göre, XML’e ihtiyaç duyulmadan, basit metin dosyaları kullanılarak, daha verimli sonuçlar elde edilebilir. Birkaç parametreyi ve değerlerini, tek seviyeli tutmak için, yaratılacak konfigürasyon dosyasını, XML dökümanı yapmak gereksizdir.
XML Okunabilir Yapıya Sahiptir Avantajları Ön bilgiye gerek duyulmadan, XML dökümanları, insan ve makine tarafından kolayca okunabilir. Okunabilirlik, yazılabilirlik avantajını da getirir.
XML Okunabilir Yapıya Sahiptir Dezavantajları XML, genelde farklı sistemler arası iletişimi sağladığından, insan için okunabilir olması aslında çok fazla birşey değiştirmez. Asıl hedef sistemlerin entegrasyonudur. Formatlı ve okunabilir olması uğruna, dosya ebatları büyütülmüş, ağ trafiği yoğunluğu arttırılmış olur. İnsanlar isterlerse okunabilir olmayan XML dökümanları yaratabilirler.
XML Dökümanlarının İşlenmesi Kolay ve İşlenme Maliyeti Azdır XML işleme araçları, dünya çapında çok yaygındır ve ucuzdur. Düzenli bir yapıya sahip olan XML dökümanlarını işlemek amacıyla, birçok ayrıştırıcı tasarlanmıştır W3C, XML dökümanlarını işleyebilmek ve ayrıştırabilmek amacıyla, DOM(Document Object Model) adı verilen, ağaç-tabanlı işlem modeli metodu geliştirmiştir.
XML Dökümanlarının İşlenmesi Kolay ve İşlenme Maliyeti Azdır Dezavantajları DOM’un gerçek yaşam uygulamalarında, pratik olmadığı görülmüştür. DOM metodunda, büyük ebatlı dökümanlar da dahil olmak üzere, tüm dökümanlar, bellekte ağaç tabanlı bir modele oturtulur.
XML, Varolan Güvenlik Çözümlerini Destekler XML teknolojisi, mevcut internet ve ağ altyapısını desteklediğinden, bu altyapılar için belirlenen güvenlik kavramlarına getirilen çözümler, XML için de geçerlidir. Authentication Dijital imza ve sertifikaların kullanılması Encryption HTTP üzerinden SSL protokolü Authorization Görüntüleme, okuma, yazma hakları
XML, Varolan Güvenlik Çözümlerini Destekler XML dökümanları içerisinden, URI(Uniform Resource Identifier) kullanılarak, harici DTD dosyalarına referans edilmesi risklidir. Kaynağa erişen bir saldırgan, DTD üzerinde değişiklik yapabilir. OPTIONAL bir özellik REQUIRED yapılabilir Özelliklerin varsayılan değerleri değiştirilebilir. DTD içerisinde geçen varlıkların (entity), içerik metinleri veya referans ettikleri notasyonlar değiştirilerek, çeşitli virüslerin aktive edilmesi sağlanabilir.
Sonuçlar XML, veriyi ve verinin anlamsallığını, belirli geçerlilik kuralları çerçevesinde, belirli bir formatta saklayan bir metin dökümanıdır. XML teknolojisi çok abartılmaktadır. Bu abartı yüzünden XML’in ne olduğunun yanı sıra, yapabilecekleri hakkında da kafalarda karışıklık oluşmuştur XML tek başına basittir fakat ayrıştırma, işleme, entegrasyon, mesajlaşma ve transformasyon gibi işlemler o kadar da kolay değildir
Sonuçlar XML’in bir sistem tarafından anlaşılabilir olması için, sistemde bir yerlerde bir kod parçasının, dökümanı yorumlaması gerekir. Her kurum, ortak bir standart yerine, kendi standardını belirlediği için, farklı kurumlar arası haberleşme olabilmesi için, bir ayrıştırıcının yapabileceğinden daha fazlasına ihtiyaç vardır Bilgi sistemlerinde geçen dil kavramında, genelde bir programlama dilinden bahsedilmesine karşın, XML, C++ ya da Delphi gibi bir programla dili değildir, bir işaretleme dilidir.
Sonuçlar XML öğrenmesi, okunması, uygulanması ve test edilmesi kolay bir teknolojidir. B2B gibi uygun uygulamalarda, geliştirme zamanını oldukça kısaltır. XML açık bir standarttır, sürekli bir gelişim içersindedir ve yeni araçlar yazılmaktadır. Problem, XML’in kullanımına uygun olmayan senaryolarda bile uygunmuş gibi görülüp kullanılmaya çalışılması, insanların doğası gereği, yeni çıkan teknolojileri tüm problemlerde uygulamak istemesidir.
Teşekkürler.
<?xml version="1.0" standalone="yes"?> <KAMERA_KATEGORILERI> <KATEGORI ADI="35MM"> <KAMERA> <MARKA>Canon</MARKA> <MODEL>Z155</MODEL> <FIYAT>1875000</FIYAT> <AGIRLIK>120 gr.</AGIRLIK> </KAMERA> <MARKA>Nikon</MARKA> <MODEL>S5Z</MODEL> <FIYAT>1725000</FIYAT> <AGIRLIK>130 gr.</AGIRLIK> </KATEGORI> </KAMERA_KATEGORILERI> Başlangıç Etiketi İçerik Bilgisi Bitiş Etiketi <MARKA> Canon </MARKA>
DOM KAMERA_KATEGORILERI ADI=“35MM” KATEGORI KAMERA MARKA MODEL FIYAT AGIRLIK Canon Z155 1875000 120 gr. Nikon S5Z 1725000 130 gr. ADI=“DIJITAL” Minolta Dimage 5999850 110 gr.
PASCAL XPP Function Test: Boolean; Begin Write(‘Merhaba Dünya’); Result := True; End; <Function Name=”MerhabaDunya” Type=”Boolean”> <call function=”Write”> <param type=”String”> Merhaba Dünya </param> </call> <result>True</result> </Function>
SENARYO 1 “İLETİŞİM” 1 2 3 Formatsız Veri XML dökümanları Mesaj Server HTTP üzerinden Direk Erişim Mesaj Server Mesaj Gönderen/Alan Web Servisi İstemci Servis sağlayıcı Servis ambarı 1 2 3 “İLETİŞİM” Formatsız Veri XML dökümanları
SENARYO 2 “VERİTABANI”