Pazartesi , 20 Kasım 2017
Anasayfa » C# » Web Services » Web Servis Nedir

Web Servis Nedir

Daha önceki API Nedir yazımızda API kavramını ve sahip olduğu potansiyeli açıklamıştık. Bu yazımızda API’lerin en yaygın kullanım alanlarından web servisleri nedir? Sorusuna cevap bulacağız.

Web servisi özellikle dağıtık mimarili uygulamalar için düşünülmüştür. Web servisleri genel anlamda farklı uygulamaların ağ üzerinden haberleşmesini sağlayan ve iletişimini standart bir XML mesajlaşma sistemi kullanarak gerçekleştiren bir yazılım parçasıdır. Burada XML, bir web servisindeki tüm iletişimleri kodlamak için kullanılır. Örneğin, bir istemci bir XML iletisi göndererek bir web hizmetini çağırır, ardından karşılık gelen bir XML yanıtı bekler. Tüm iletişim XML türünden gerçekleştirildiği için web servisi herhangi bir işletim sistemine veya programlama diline bağlı değildir. Örneğin bir Windows sunucusu üzerinde C# kullanılarak kodlanmış uygulama Iphone için Swift dili ile geliştirilmiş bir başka yazılımla XML standartlarında web servisleri aracılığı ile iletişim kurabilir. Bu durum web servislerinin aslında bir API olmasından kaynaklanmaktadır. Sadece veri iletişimi ile sınırlı kalmazlar. Uygulamaların işlevselliklerinin paylaşımında da rol alırlar.

Web hizmetleri, doğrudan uygulama-uygulama etkileşimi için İnternet’i kullanan XML tabanlı bilgi alışverişi sistemleridir. Bu sistemler programlar, nesneler, mesajlar veya belgeler içerebilir.

Bir web servisi, uygulamalar veya sistemler arasında veri alışverişinde kullanılan açık protokol ve standartların bir toplamıdır. Çeşitli programlama dillerinde yazılmış ve çeşitli platformlarda çalışan yazılım uygulamaları, internet benzeri bilgisayar ağları üzerinden, IIS gibi bir servis sağlayıcı tarafından tek bir bilgisayarda işlemler arası iletişim benzeri şekilde veri alışverişinde bulunmak için web servisleri kullanılır. Bu birlikte işlerlik (örneğin, Java ve Python veya Windows ve Linux uygulamaları arasında) açık standartların kullanımından kaynaklanmaktadır.

Özetlemek gerekirse, bir web servisi ;

  • İnternet veya özel (intranet) ağlar üzerinden kullanılabilir
  • Verileri etiketlemek için standart bir XML mesajlaşma sistemi kullanır
  • Herhangi bir işletim sistemine veya programlama diline bağlı değil

Web Servislerinin Bileşenleri

Temel web servisleri platformu XML + HTTP‘dir. Tüm standart web servisleri bu bağlamda aşağıdaki iletişim protokollerini kullanarak çalışır.

  • SOAP (Basit Nesne Erişim Protokolü) : Bir ileti aktarmak için
  • UDDI (Evrensel Tanımlama, Keşif ve Entegrasyon) : web servislerini tanımlama, yayınlama ve bulma işlemleri konusunda bir standarttır.
  • WSDL (Web Hizmetleri Açıklama Dili) : Hizmetin kullanılabilirliğini açıklamak için

Örnek olarak;

Basit bir hesap yönetimi ve sipariş işleme sistemi düşünün. Muhasebe personeli, yeni hesaplar oluşturmak ve yeni müşteri siparişleri girmek için C# veya Java ile oluşturulan bir istemci uygulaması kullanmaktadır.

Bu sistemin bilgiyi depolamak için bir veritabanına ihtiyacı vardır. Bu veritabanı ise farklı lokasyonda bulunan bir Linux sunucusunda bulunabilir. İstemci uygulama verileri çekebilmek için sunucu sistemde bulunan veritabanı ile internet üzerinden etkileşime geçmelidir.

Bu işlemi gerçekleştirmek için gereken adımlar şunlardır:

  • İstemci programı, hesap kayıt bilgilerini bir SOAP iletisi olarak hazırlar.
  • Bu SOAP iletisi bir HTTP POST isteğinin gövdesi olarak web servisine gönderilir.
  • Web servisi, SOAP isteği paketini açar ve uygulamanın anlayabileceği bir komut haline dönüştürür.
  • Uygulama, bilgileri gerektiği gibi işler ve o müşteri için yeni bir benzersiz hesap numarasıyla yanıt verir.
  • Daha sonra, web servisi yanıtını başka bir SOAP iletisine paketler ve HTTP isteğine yanıt olarak istemci programına geri gönderir.
  • Müşteri programı, hesap kayıt işleminin sonuçlarını almak için SOAP iletisinin paketini açar ve istemci uygulaması üzerinde işler.

Sonuç olarak;

Mevcut yazılımlarınızın bir takım işlevselliklerini ağ üzerinden servis edebilmeniz, diğer yazılımların servis vasıtasıyla uygulamanızı kullanabilmesi, üstelik bütün bunların platform bağımsız gerçekleştirilebiliyor olması büyük bir avantajdır.

Hakkında Recep ORTAKÖYLÜ

İlginizi Çekebilir

PHP ile ASMX Web Servisi Çağrısı Yapmak

Bir web servisi web protokolleri üzerinden diğer üçüncü taraflar uygulamalar için erişilebilir bir uygulamanın mantıksal bir …

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir