Web hizmeti, kendisini internet üzerinden erişilebilir kılan ve standartlaştırılmış bir XML mesajlaşma sistemi kullanan herhangi bir yazılım parçasıdır. XML, bir web hizmetiyle tüm iletişimleri kodlamak için kullanılır. Örneğin, bir istemci bir XML mesajı göndererek bir web hizmetini çağırır, ardından karşılık gelen bir XML yanıtını bekler. Tüm iletişim XML biçiminde olduğundan, web hizmetleri herhangi bir işletim sistemine veya programlama diline bağlı değildir — Java Perl ile konuşabilir; Windows uygulamaları Unix uygulamalarıyla konuşabilir.
Web hizmetleri, ürünler, süreçler ve tedarik zincirleri oluşturmak için ağ üzerinden tanımlanabilen, yayınlanabilen, konumlandırılabilen veya başlatılabilen bağımsız, modüler, dağıtılmış, dinamik uygulamalardır. Bu uygulamalar yerel, dağıtılmış veya web tabanlı olabilir. Web hizmetleri, TCP / IP, HTTP, Java, HTML ve XML gibi açık standartların üzerine inşa edilmiştir.
Web hizmetleri, İnternet’i doğrudan uygulamadan uygulamaya etkileşim için kullanan XML tabanlı bilgi değişim sistemleridir. Bu sistemler programları, nesneleri, mesajları veya belgeleri içerebilir.
Bir web hizmeti, uygulamalar veya sistemler arasında veri alışverişi için kullanılan açık protokoller ve standartların bir koleksiyonudur. Çeşitli programlama dillerinde yazılan ve çeşitli platformlarda çalışan yazılım uygulamaları, tek bir bilgisayarda süreçler arası iletişime benzer bir şekilde İnternet gibi bilgisayar ağları üzerinden veri alışverişi yapmak için web hizmetlerini kullanabilir. Bu birlikte çalışabilirlik (örneğin, Java ve Python veya Windows ve Linux uygulamaları arasında) açık standartların kullanımından kaynaklanmaktadır.
Özetlemek gerekirse, eksiksiz bir web hizmeti,
İnternet veya özel (intranet) ağlar üzerinden kullanılabilir
Standartlaştırılmış bir XML mesajlaşma sistemi kullanır
Herhangi bir işletim sistemine veya programlama diline bağlı değildir
Yaygın bir XML dilbilgisi aracılığıyla kendi kendini tanımlıyor
Basit bir bulma mekanizmasıyla keşfedilebilir
Web Hizmetlerinin Bileşenleri
Temel web hizmetleri platformu XML + HTTP’dir. Tüm standart web hizmetleri aşağıdaki bileşenleri kullanarak çalışır –
SOAP (Basit Nesne Erişim Protokolü)
UDDI (Evrensel Açıklama, Keşif ve Entegrasyon)
WSDL (Web Hizmetleri Açıklama Dili)
Tüm bu bileşenler Web Hizmetleri Mimarisi bölümünde tartışılmıştır .
Bir Web Hizmeti Nasıl Çalışır?
Bir web hizmeti, HTML, XML, WSDL ve SOAP gibi açık standartları kullanarak çeşitli uygulamalar arasında iletişimi sağlar. Bir web hizmeti şunlardan yardım alır –
Verileri etiketlemek için XML
SOAP mesaj aktarmak için
WSDL, hizmetin kullanılabilirliğini açıklar.
Solaris üzerinde, Windows üzerinde çalışan Visual Basic programınızdan erişilebilen Java tabanlı bir web hizmeti oluşturabilirsiniz.
JavaServer Pages (JSP) tabanlı ve Linux üzerinde çalışan web uygulamanızdan çağrılabilen Windows’ta yeni web hizmetleri oluşturmak için C # da kullanabilirsiniz.
Misal
Basit bir hesap yönetimi ve sipariş işleme sistemini düşünün. Muhasebe personeli, yeni hesaplar oluşturmak ve yeni müşteri siparişleri girmek için Visual Basic veya JSP ile oluşturulmuş bir istemci uygulamasını kullanır.
Bu sistem için işlem mantığı Java’da yazılmıştır ve aynı zamanda bilgileri depolamak için bir veritabanıyla etkileşime giren bir Solaris makinesinde bulunur.
Bu işlemi gerçekleştirme adımları aşağıdaki gibidir –
İstemci programı, hesap kayıt bilgilerini bir SOAP mesajı halinde paketler.
Bu SOAP mesajı, HTTP POST isteğinin gövdesi olarak web hizmetine gönderilir.
Web hizmeti, SOAP isteğini paketinden çıkarır ve bunu uygulamanın anlayabileceği bir komuta dönüştürür.
Uygulama, bilgileri gerektiği gibi işler ve bu müşteri için yeni bir benzersiz hesap numarasıyla yanıt verir.
Daha sonra, web hizmeti yanıtı, HTTP isteğine yanıt olarak istemci programına geri gönderdiği başka bir SOAP mesajına paketler.
İstemci programı, hesap kayıt işleminin sonuçlarını elde etmek için SOAP mesajını açar.
Örnek olarak bir döviz kuru web servis yapalım. Türkiye Cumhuriyeti Merkez Bankasından veri çekmeyi deneyelim ve bu işlemi C# da yapalım.
Yorum Yazın!