Web Servisleri, HTTP protokolü ile XML gönderip alarak iki uzak cihaz arasındaki iletişimi sağlayan bir haberleşme yöntemidir.
XML olması sayesinde değişik platformlar ve programlama dilleri arasında haberleşme sağlanabilir.
Web’in yaygınlaşmasından sonra farklı platformarın birbirleriyle haberleşme ihtiyacı artmıştır. Bunun için web uygulamaları geliştirilmiştir. Web sevisleri ile de web uygulamalarımız kendi fonksiyonalitelerini dış dünya ile paylaşabilir hale gelmiştir.
Web servislerinde veriler XML olarak tutulur ve SOAP kullanılarak bir yerden diğerine taşınır. Web servislerinin yapısı itibariyle farklı serverlardaki farklı platformlarda çalışan uygulamalar birbirleri ile haberleşebilirler.
Web Servislerinin 2 farklı kullanım şekli vardır :
- Uygulamaların sıkça ihtiyaç duydukları işler vardır. Bunları sürekli tekrar tekrar yapmaktansa servisler tarafından yapılıp uygulamalardan çağrılırlar. Örneğin hava durumunu anlık olarak öğrenen program gibi.
- Başka platformda çalışan bir uygulama ile haberleşilerek veri alış verişinde bulunulur.
Web Servisleri, Service Orianted Architecture (SOA)’nın implement edilmiş halidir.
SOA’da iki farklı yazılım birbirleriyle haberleşir. Bu yazılımlardan bir tanesi istemci bir tanesi ise sunucudur. İstemci sunucuya istekte bulunur, sunucu da istemciye cevabı döner.
Sunucular servis açıklamalarını özel bir dizinde tutarlar. İstemciler ise bu dizine sorgu çekerek aradıkları servis, servis sağlayıcısında var mı diye kontrol ederler.
Web Servis platformunda kullanılan standartlar şunlardır :
1- SOAP : Simple Object Access Protokol
2- UDDI : Universal Description, Discovery and Integration
3- WSDL : Web Services Discription Language
SOAP :
HTTP üzerinden uygulamaların bilgi alış verişinin gerçekleşmesini sağlayan XML tabanlı bir protokoldür. Yani web servislere erişmek için kullanılan protokoldür diyebiliriz.
UDDI :
UDDI, web servislerini tanımlamak, interneti kullanarak iş servislerinin hangilerinin kullanılabilir olduğunun listelenmesi için kullanılan platform bağımsız bir frameworktür. Web servisleri hakkındaki bilgilerin depolandığı bir dizindir. İstemci ve sunucu ile SOAP ile haberleşir.
WSDL :
XML formatında yazılmış Web Service’lerin yerlerini, ne iş yaptıklarını yani metotlarını belirleyen bir dildir. 2007 yılında standart hale gelmiştir. 4 ana elemandan oluşur.
- <types> : Web servis tarafından kullanılan veri tipleri belirlenir.
- <message> : Web servis tarafından kullanılan mesajlar yazılır.
- <portType> : Web servis tarafından gerçekleştirilen işlemler yazılır.
- <binding> : Web servis tarafından kullanılan haberleşme protokolleri yazılır.
Ana Yapı
[codesyntax lang=”xml” lines=”no”]
<definitions>
<types>
tip açıklamaları ........
</types>
<message>
mesaj açıklamaları ........
</message>
<portType>
port açıklamaları .......
</portType>
<binding>
binding açıklamaları .......
</binding>
</definitions>
[/codesyntax]
Bir WSDL dokümanı bunların dışında başka elemanlar da içerebilir. Örneğin bir dokümanda birden fazla web servis tanımı yapılabilir.
WSDL İşlem Türleri :
En çok kullanılan yöntem request-response yöntemi olsa da WSDL’de 4 çeşit işlem tipi vardır.
Tip |
Açıklama |
One-way |
İşlem istek mesajını gönderir fakat cevap dönmez. |
Request-response |
İşlem istek mesajını gönderir ve cevap döner. |
Solicit-response |
İşlem istek mesajını gönderir ve cevap için bekler. |
Notification |
İşlem istek mesajını gönderir fakat cevap için beklemez. |