XML ve XML Web Servisleri

XML’E GİRİŞ

XML(eXtensible Markup Language-Genişleyebilir Anlamlandırma Dili)  yoğun olarak kullanılan bir veri paylaşım ve aktarım metodudur. XML sadece veri aktarmaya yaramaz aynı zamanda verinin ortak bir dilde saklanması, birbirinden farklı birçok sistemin aynı veriyi okuyabilmesini ve yazabilmesini sağlar.

XML’in KULLANIM ALANLARI

  • Veritabanlarını depolamak
  • Vektörel grafikleri depolamak
  • Multimedya uygulamaları
  • İnternet Explorer ve kanallarını tanımlamak
  • Voice XML
  • IP Phone uygulamaları
  • SMS alt yapıları
  • Bazı web sitelerinde, site içerisinde markup kullanmak için

XML ve diğer ML’lerin arasındaki ilişkilerden bahsedecek olursak:

XML ve  SGML ( Standard Generalized Markup Language )

XML , SGML’nin daha belirlenmiş daha kurallı ve kapsamı çizilmiş halidir. XML, SGML’nin özelliklerini kapsayan SGML’nin bir alt kümesidir. XML’in geliştirilme amacı SGML ‘de eksik olan uygulama kolaylığını sağlamaktır.

XML ve HTML

HTML ve XML’i birbiriyle aynı olarak değerlendirmek doğru değildir. XML ve HTML’in oluşum amaçları çok farklıdır. HTML belgelerin şekilsel özellikleriyle ilgili iken XML belgelerin içeriği ile ilgilidir. Yani sonuç olarak HTML bir web sayfasına şekil verirken XML web sayfası içindeki verilerle ilgilenir.

 XML WEB SERVİSLERİ

Konular:
•     XML Web Servislerini Anlamak

•     XML Web Servisleri Oluşturmak

•     XML Web Servislerine İstemci Olmak

      XML Web Servislerini Anlamak

Xml Web Servisleri yazılan program kodunu çalıştıran bileşenlerdir. Sıradan bileşenlerden farkı bu işlevi farklı bilgisayarlara da sunmasıdır. XML Web Servislerine farklı bir bilgisayar ve farklı bir platformdan istemci olunabilir.

Yani XML Web Servisleri farklı platformalar arasında ortak olarak kullanılabilen bileşenlerdir. XML Web Servisleri ile farklı platformlar arasında veri aktarımına da belli standartlar sayesinden oldukça kolaylaşmaktadır.

XML Web Servisleri standart olan protokoller üzerinde çalışır. Bunlar, HTTP, XML, SOAP standartlardır. XML Web Servisleri adından da anlaşıldığı gibi mesaj alış verişi için XML standardını kullanır.

XML’ in bir standart olması ve herhangi bir platforma bağlı olmaması sayesinde XML Web Servisleri farklı platformların konuşmasını, veri alış verişini sağlar. Bu sayede uygulama geliştirme aşamasında programcılar farklı sistemleri kullanan uygulamalar yazarken standartları kullanarak işlerini daha kolay bir şekilde yapabilirler.

XML Web Servisleri HTTP protokolü üzerinden mesaj alış verişin yaptığı için internet üzerinden bir XML Web Servisine erişim yapılabilmektedir. Ek olarak bir intranetde de XML Web Servisi uygulaması yapılabilir. Önemli olan XML Web Servisinin HTTP protokolü ile yani bir web sunucusu ile sunuluyor olmasıdır. Tabi ki .NET Framework üzerinde programlanmış olan bir XML Web Servisinin sunulabilmesi için Internet Information Services (IIS) ve .NET Framework gerekmektedir.

XML Web Servislerinin Alt Yapısı

XML Web Servislerinin sağladığı faydalardan birisi XML Web Servisine istemci olacak ve o servisi kullanacak olan uygulamanın o servisin sadece adresini bilmesi yeterlidir. Bu şekilde servise eriştikten sonra XML Web Servisinin metotları çalıştırılabilir.

        XML Web Servisleri Dizinleri

Yayında bulunan ve kaydedilmiş servisleri listeleyen merkezi noktalar, dizinler vardır. Bu dizinler sayesinde arama yapıp istediğiniz bir XML Web Servisine ulaşabilirsiniz. Bu dizinlerin XML Web Servislerini listelemesini belirleyen tanımlamalara Universal Description, Discovery and Integration (UDDI) denir.

Çeşitli XML Web Servisleri dizinleri mevcuttur. Bunlardan bir tanesi Microsoft’un XML Web Servisi dizini olan, http://uddi.microsoft.com sitesidir. Bu dizinlerde istediğiniz şekilde XML Web Servisi araması yapabileceğiniz gibi XML Web Servislerinizide bu dizinlere kaydedebilirsiniz.

XML Web Servisleri Bulunması

Bu işlem ile istemciler XML Web Servislerini tanımlayan (WSDL) dokümanların konumlarını alırlar.

Bu adım ile istemciler XML Web Servislerinin konumları ile ilgili bilgi sahibi olurlar.

        XML Web Servisleri Tanımlaması

Xml Web Servisi Tanımlaması XML Web Servisinin biçimi hakkında bilgileri içeren bir XML dokümanıdır. Bu doküman ile XML Web Servisi üzerinde yapılabilecek olan işlemler istemciye bildirilir.

        XML Web Servisinin İşleyişi

1. Eğer kullanılacak XML Web Servisinin adresi bilinmiyorsa bir UDDI dizini yardımı ile bir XML Web Servisi bulunur.

2. Discovery dosyasına (.disco) yapılan istek ile web servisinin tanımlama dosyasına yönlendirilir.

3.  Web Servisinin açıklama dosyası olan WSDL dosyasına istek yapılır. Servis biçimi öğrenilir.

4. Artık XML Web Servisinin metotları çalıştırılmaya hazır olarak istemcinin hizmetindedir. XML Web Servisinin metotları çalıştırılır.

Bir istemci UDDI aracılığı ile bir XML Web Servisine eriştiğinde UDDI servisi istemciye XML Web Servisinin discovery dosyası olan .disco uzantılı dosyanın adresini döner. Bu .disco dosyası XML Web Servisini tanımlayan kaynaklara link içerir.

[xml] <?xml version="1.0" ?>

disco:discovery
xmlns:disco="http://schemas.xmlsoap.org/disco"
xmlns:wsdl="http://schemas.xmlsoap.org/disco/wsdl">
<wsdl:contractRef
ref="http://www.siteniz.com/Hesapci.asmx?WSDL"/>
</disco:discovery><b>
</b>[/xml]

İstemci .disco dokümanındaki bilgileri kullanarak sunucudan XML Web Servisi açıklama dosyasına istek yapar. Bu dosya WSDL dosyasıdır. WSDL (Web Services Description Language) XML tabanlı bir dosyadır ve istemcinin XML Web Servisinin işlevlerini öğrenip etkileşime geçebilmesini sağlar.

Bir istemci XML Web Servisinin metodlarını çalıştırması için gerekli olan işlemler şunlardır.

1. İstemci yazılım istemci tarafında kalmak üzere bir sınıf yapısı oluşturur. Bu sınıf XML Web Servisinin WSDL dosyasında tanımlanan yapısına uygundur. Yani XML Web Servisinde hizmete açılan sınıfın yapısı ile aynı yapıdadır. Buna aracı (proxy) nesne denir.

2. İstemci sunucu sınıfın bir metodunu çağırır.

3.İstemcideki XML Web Servisi altyapısı metot çağrısını ve metodun parametrelerini SOAP mesajı olarak serialize eder. Ve bu mesajı XML Web Servisine yönlendirir.

4.Sunucudaki XML Web Servisi altyapısı gelen SOAP mesajını deserialize eder, nesnenin sunucu üzerinde bir örneğini oluşturur ve çağrı yapılan metoda parametreleri ile beraber çağrı yapar.

5. XML Web Servisi metodu çalıştırır ve geriye dönen değerleri altyapıya döndürür.

6. XML Web Servisi altyapısı dönecek değeri SOAP mesajı olarak serialize eder ve bu mesajı ağ üzerinden istemciye gönderir.

7. İstemci bilgisayardaki altyapı gelen SOAP mesajını deserialize eder ve değerleri aracı (proxy) nesneye aktarır.

8. Aracı (proxy) nesne ise aldığı değerleri kendi istemcisine aktarır.
Bir XML Web Servisi oluşturabilmek için .NET Framework’ün bir bileşeni olan ASP.NET altyapısı kullanılır.

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

İşletim Sistemlerine Giriş

İşletim sistemleri, bilgisayar donanımları ve kullanıcılar arasında iletişim sağlamak amacıyla yazılmış olan programlardır. Bilgisayar Nedir? …

Bir Yorum

  1. fikret

    teşekkür ederim. xml konusunda en kapsamlı bilgi