Ana içeriğe atla

XML Teknolojisi Tarihçe

1967 yılında Kanada Hükümeti Baskı Ofisinde düzenlenen bir toplantıda, William Tunnicliffe, dökümanlarda, iç içe geçmiş içerik ve format bilgilerinin, birbirinden ayrılması gerektiğini anlatan bir konuşma yaptı. 1968’de New York’lu bir kitap yayımcısı, Stanley Rice, kitap yazarları için, döküman formatlarını standart haline getirmek amacıyla bir etiket seti hazırladı. Bu çalışmaya, Grafik Haberleşme Derneği (GCA , Graphic Communications Association), sponsor oldu ve etiket seti kavramının geliştirilmesini sağladı. GCA GenCode komitesi, etiketleme ile işaretleme mantığını birleştirerek, dökümanların, hiyerarşik yapıya sahip olacağını gösterdi.
İlk resmi işaretleme dili olarak gösterilen GML (Generalized Markup Language), 1969 yılında, yasal belgelerin kolay bir şekilde paylaşılabilmesi ve taşınabilmesi amacıyla, IBM’den Goldfarb, Mosher ve Lorie üçlüsünün yaptığı araştırma geliştirme çalışmaları sonucunda ortaya çıkmıştır. GML’in temeli, GCA GenCode komitesinin yaptığı çalışmalara dayanmaktadır. Diğer işaretleme dillerinin atası GML, 1978 yılında ANSI (American National Standard Institute) kurumunca oluşturulan bir grup tarafından geliştirilmeye başlandı. Dil, 1986 yılında SGML (Standard Generalized Markup Language) adını alarak, ISO (International Organization for Standardization) kurumu tarafından uluslararası standart (ISO 8879) haline getirildi.
SGML bir metin veya belge kümesinde kullanılan dilin yapısını belirtmek için kullanılan bir dildir. Tüm meta dillerde olduğu gibi, temel bir sözdizimi tanımlar ve bunu kullanarak kendi elemanlarınızı tanımlamanıza izin verir. Havacılık ve otomobil gibi büyük endüstri kuruluşları ve basın alanında bir belgeleme standardı olarak kullanılmıştır ve kullanılmaya devam edilmektedir.

SGML çok güçlü bir dil olmasına rağmen, yaratıcıları ve W3C (Word Wide Consortium) üyeleri tarafından, karmaşık yapısı ve yüksek uygulama geliştirme maliyetinden dolayı, Internet tabanlı, hızlı ve kolay web uygulamaları için tercih edilmemiştir.
1989 yılında Tim Berners-Lee ve Anders Berlung internet ortamında daha kolay belge paylaşabilmek için HTML (Hypertext Markup Language) dilini bir SGML uygulaması olarak geliştirdi. HTML dilinin yapısal tüm elemanları, SGML dilinde tanımlandı. HTML dili bir belgenin içerdiği başlık, font, resim ve tablo gibi bilgileri bilgisayar ortamında, standart bir şekilde görüntülemek ve biçimlendirmek için geliştirilmiş bir dildir. Öğrenilmesi ve uygulanması kolay olduğu için HTML yeni gelişmekte olan web’in süratle temelini oluşturmaya başlamıştı. Yalnızca sunum amaçlıdır ve daha önceden tanımlanmış sabit bir etiket kümesi içermektedir. Standart etiket kümesini kendimizin ekleyeceği yeni etiketler ile genişletemeyiz.
HTML’in içerik yönetiminden çok içeriği görüntüleme amaçlı olması, genişleyebilir bir dil olmaması, meta bir dil olmaması ve diğer zayıflıklarından dolayı, Internet ortamında yeni bir dilin ihtiyacı hissedildi. Bu yeni dil ne SGML kadar karmaşık, ne de HTML kadar basit olmalıydı.
“SGML’in güç ve esnekliğini içerecek basitleştirilmiş, genişletilebilir bir işaretleme dili”
clip_image001 
Bu ihtiyacı gidermek için, 1996 yılında XML dilini tasarlamak amacıyla W3C toplandı. XML’in basit dizayn yapısının çalışmaları, 1996 Ağustosunun son günlerinde başladı ve  yoğun çalışmalar sonucunda, 11 hafta gibi kısa bir sürede, SGML’96 konferansında,  XML’in ilk taslak versiyonu(draft) yayınlandı. Fakat, diğer ayrıntıların tamamlanması bir yıl daha sürdü ve Şubat 1998’de  XML 1.0 bir standart olarak W3C tarafından yayınlandı.
clip_image003

Şekil 1.1 İşaretleme dillerine genel bakış
XML (eXtensible Markup Language), SGML’in güç ve esnekliğini içeren basitleştirilmiş, genişletilebilir bir işaretleme dilidir. SGML’in alt kümesi olarak gösterilir ve HTML gibi  işaretleme etiketlerini kullanır. Aralarındaki fark, XML işaretleme etiketlerinin, içeriğin ne anlama geldiğini(metadata) tanımlamak için kullanılmasıdır. XML meta bir dildir. Yani, yeni işaretleme dillerini yaratabilme becerisine sahiptir. HTML de SGML’den türetilmiş bir dil olmasına rağmen bu özelliği taşımaz.
Diğer XML Tanımları
  • 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ı
Deniz KILINÇ

Yorumlar

Bu blogdaki popüler yayınlar

UML ve Modelleme – Bölüm 3 (Use Case Diyagramlar)

Önceki iki makalemizde (1, 2) UML’e genel olarak değinip ve modellemede kullanacağımız dokuz diyagram hakkında bilgiler vermiştik. Bu makalemizde Use Case diyagramından detaylı bahsedeceğiz. Öncelikle, genel Use case diyagramının tanımını hatırlayalım. “Bir kullanıcı ve bir sistem arasındaki etkileşimi anlatan senaryo topluluğudur.” Ivar Jacobson Senaryo tanımı için der ki:
“Aktörle sistem arasında gerçekleştirilen, sonucunda aktöre farkedilir getirisi/ faydası oluşan etkileşimli diyalogdur. ” UML Use Case Diyagramları  sistemin işlevselliğini açıklamak amacıyla kullanılır. Sistemin birbirinden ayrı özelliklerinin detaylarını göstermekten ziyade, Use Case Diyagramlar, tüm mevcut işlevselliği göstermek için kullanılabilir. Buradaki en önemli noktalardan biri,   Use Case Diyagramlar temelde sequence diyagram ve akış diyagramlarından farklıdır. Use Case diyagramlar dört ana elemandan oluşmaktadır. Aktörler, Sistem (Proje kapsamını belirtir), Use Caseler ve bunlar arasındaki ilişkiler. Şekil…

UML ve Modelleme – Bölüm 4 (Class (Sınıf) Diyagramları)

Bir önceki makalemizde UML modellemede kullanılan ilk diyagram olan Use Case diyagramını incelemiştik. Bu makalemizde nesne tabanlı programlamada kullanılan sınıflar ve sınıfların arasındaki ilişkileri modelleyebileceğimiz diyagramlar olan Class(Sınıf) diyagramlarını inceleyeceğiz. UML’de sınıflar, nesne tabanlı programlama mantığı ile tasarlanmıştır. Sınıf diyagramının amacı bir model içerisinde sınıfların tasvir edilmesidir. Nesne tabanlı uygulamada, sınıfların kendi özellikleri (üye değişkenler), işlevleri (üye fonksiyonlar) ve diğer sınıflarla ilişkileri bulunmaktadır. UML’de sınıf diyagramlarının genel gösterimi aşağıdaki gibidir. Şekil 1. Class Diyagram Şekil1’de görüldüğü üzere bir dikdörtgeni 3 parçaya bölüyoruz. En üst bölüm sınıf adını, orta kısım özellik listesini (üye değişkenler) ve en son kısım, işlev listesini (üye fonksiyonlar) göstermektedir. Çoğu diyagramlarda alt iki bölüm çıkarılır. Genelde tüm özellik ve işlevler gösterilmemektedir. Amaç, diyagramın sadece belirli k…

Cluster ve clustering nedir? Cluster oluşturmanın faydaları nelerdir? (Bölüm I)

Cluster, basit anlamda benzer bir amaç için belirli bir konfigürasyon yapılarak aynı görevi birlikte ya da yedekli çalışmasını sağlayan servistir. Cluster farklı amaçlarla oluşturulabilir fakat son kullanıcı tarafından her zaman tek bir bilgisayar gibi gözükecektir. Bir cluster oluşturmak için en azından iki adet sunucuya ihtiyaç vardır ve bir cluster içindeki her bir sunucu “node” olarak adlandırılır. İhtiyaç olan hizmete göre çeşitli sayıda nodelar bir araya gelerek clusterları oluşturmaktadır. Bir cluster oluşturmak için gerekli sebepler daha fazla performans ihtiyacı, yüksek erişilebilirlik (high availability) ya da her ikisi birlikte olabilir. Şimdi cluster çeşitlerini çok fazla ayrıntıya girmeden biraz daha yakından inceleyelim. Yüksek erişilebilirlik (High-availability) clusterlarıBu tip cluster yapısında öncelik erişilebilirliği arttırmadır. Bunu tek bir sunucunun görevini herhangi bir donanım yada yazılım problemi oluştuğunda diğer bir sunucunun otomatik olarak devralması olara…