Wikipedia'da şu şekilde tanımlanıyor. (
https://en.wikipedia.org/wiki/Web_service)
Web servis; bir elektronik aletten diğerine www üzerinden birbirleriyle iletişim kurabilmesi için sağlanan servislerdir.
Aslında güzel bir tanım sayılabilir.
TutorialsPoint üzerinde ise şu şekilde tanımlanıyor (
https://www.tutorialspoint.com/webservices/what_are_web_services.htm)
Kendini HTTP üzerinden kullanılabilir olarak yayınlayan, XML mesajlarıyla haberleşebilen kodlara web servis denir.
Kendi cümlelerimizle toparlayalım.
İki tane sistemi (bilgisayarları) birbiri ile haberleştirmek için genelikle XML mesajları (json da olabilir) kullanarak www (http) üzerinden göndermek suretiyle çalışan programlara web servis diyoruz. Özellikle dikkat edilmesi gereken noktalardan birisi herhangi bir görüntü katmanının olmamasıdır. Yani bir interenet sayfası veya bilgileri gösteren bir ekran olmaması, sadece mesajın kendisinin görünmesi gerekiyor.
Neden kullanılıyor?
Genel anlamda farklı iki makina arasında bilgi paylaştırmak için kullanılıyor diyebiliriz. Yani bir bilgiye ihtiyacımız var. Mesela; TC kimlik no verip, vergi borcu almak istiyoruz. Bunun için bir sayfa tasarlamaya ihtiyacımız yok. Sadece bir XML mesaj gönderip, cevap olarak da XML içinden bilgi almamız yetiyor. Sonra bu bilgiyi kullanacağız. Kredi kartı üzerinden borç ödeyeceğiz mesela. Bunun için ne yapmamız lazım. Bankaya bir servis üzerinden bağlanıp ödeme bilgisi gönderebiliriz. Bunun için de bir ekrana ihtiyacımız yok. Aslında konunun içine girdikçe heryer kullandığımızı ama farkında olmadığımızı göreceğiz.
Önemli özellikleri:
Tabi bu şekilde servisleri açtığımız zaman, ya da açık olanları kullanmak istediğimiz zaman bunun güvenliği nasıl olacak, Göndereceğimiz/alacağımız bilgilerimizin tipi, alan isimleri ne olacak gibi sorular geliyor. Bunları da WSDL dediğimiz (Web Service Definition Language) dosya içinden anlayabiliyoruz.
Başka sorularımız olursa devam edebiliriz :) Sanıyorum bu kadar yeterli.