Veri iletimi (Data Transmission)
Bilgisayar Teknolojileri gelişen teknoloji ile son yıllarda
oldukça fazla değişti. Özellikle Stand-Alone çalışmak üzere tasarlanmış
istikrarlı AS400’ler den günümüz bütünleşik sistemlere doğru oldukça hızlı bir
değişim yaşandı. Bu adımda en büyük değişiklik ise kendi kendine çalışan
sistemlerden her noktada farklı bir servis ya da programla iletişime geçen
yapılar ortaya çıktı. Böylece yazılım geliştiricilerin odağına veri alış verişi
ciddi bir konu olarak girmiş oldu.
Önceleri, veri alış verişi mümkün olan en basit yollarla ele
alındı, standart karakter uzunluğunu temel alan düz metin iletimi şeklindeki
mesajlaşmalar olarak başlayıp, Bir süre Copybook kullanımı ve delimiter character
yordamı sonucu yine düz metin olarak sürmüştür.
İlerleyen dönemlerde toplu veri iletimi ihtiyaçlarının da
etkisi ile Dosya kullanımı gibi alternatiflerde denenmiş, ancak neticede daha
standart bir yapı olarak XML ortaya çıkmıştır.
XML (eXtensible Markup Language) temel olarak Server-Client
mimarisinde sunucu-istemci arasında gerek toplu gerekse münferit veri
iletiminde genel geçer kuralların oturtulması ve daha performanslı hale
getirilmesi amaçlı oturtulmuş, HTML yapısından esinlenerek geliştirilmiş bir
işaretleme dilidir. W3C (World Wide Web Consortium) tarafından
standartları belirlenir.
HTML gibi hiyerarşik bir işaretleme dilidir. Ancak XML’de
kullanılan etiketler, HTML’den farklı olarak kişiler tarafından belirlenir ve
ön tanımlı değildir. XML için listelenebilecek 4 temel kural şu şekildedir.
·
XML etiketleri hiyerarşik bir yapıda oluşturulmalıdır.
·
Açılan etiketler mutlaka kapatılmalıdır.
·
XML’ de etiketlere nitelik atanabilir.
·
Xml Case Sensitive bir dildir.
XML in bilinen versiyonları 1.0 ve 1.1 olarak ele alınabilir.
1.0 ve 1.1 arasındaki temel farklar Encoding bazlı
farklardır. Bunları listelemek gerekir ise:
· 1.1 Gelecek encoding yapısını destekleme için tasarlanmış yani forward compatible iken 1.0 backward
compatible dır.
· 1.0 satır sonu karakteri desteklemez
iken 1.1 de hizalama hatalarını gidermek amaçlı destek eklenmiştir.
· 1.1 de 1.0 deki şüpheli karakterleri
desteklemek için kontrol karakterleri eklenmiştir.
· 1.1 ile Referans’ larda URI (Uniform
Resource Identifier) ın yanı sıra IRI (Internationalized Resource Identifier)
desteği de gelmiştir.
XML user-defined olduğu için veri tipi tanımları SXD (XML
Schema Definition) ile yapılmaktadır. Önceleri veri kontrolü (Data validation)
konusunda performans kaygısı nedeni ile bir süre Well-designed XML denilen
sıralamanın önemli olduğu sürüm kullanılmış olsa da Günümüzde Daha esnek bir
yapıda çalışmaktadır. XML veri saklama anlamında kullanımı olsa da temel olarak
veri alış-verişi amaçlı geliştirilmiştir, dolayısı ile Web-service yapılarında
en yaygın görünen cevap tipidir. XML tipi dönüş sağlayabilmek için MIME Type
tipinin “text\xml” olması gerekmekte buradan da anlaşılabileceği gibi cevap
static metin olmaktadır.
Sonraları Big-Data kavramı ile toplu verinin boyutları tekrar
değerlendirilmeye başlandığında, veri iletimi adımının da revize edilmesi
gerekliliği oluştu. Zira günümüz odak noktalarının en önemli değerlerinden biri
performans ve bu noktada da transfer edilen veri ile ne kadar fazladan bilgi
taşındığı önemli. Restfull servisler ile birlikte JSON (JavaScript Object
Notation) cevap dönen servis yapıları şekillenmiştir. JSON yapıları Javascript
ten alışa geldiğimiz, minimum kontrol bilgisi içeren nesneler olduğu için yüklü
verinin iletimi noktasında oldukça pratik ve XML e alternatif oluşturabilecek
bir çözümü bizlere sunuyor. Bu noktada Dikkat çeken bir diğer Nokta Restfull
servislerde JSON cevap tipi nedeni ile MIME Type ayarının “application\json” olması.
Kısacası XML gibi static bir tip değil. Başka bir değişle uygulama, dolayısı
ile dinamic verilerin taşınması, yerine göre farklı girdilere göre farklı cevap
dönen metotların Servis cevabı olarak istemciye taşınmasına da olanak
sağlayacaktır.
Yorumlar
Yorum Gönder