Web Servis Tanımları
    • 21 Jun 2024
    • 3 Minutes to read
    • Dark
      Light

    Web Servis Tanımları

    • Dark
      Light

    Article summary

    Başka platformlardan, veri alma ve gönderme işlemleri web servisler aracılığı ile gerçekleştirilir. Web servisler platform bağımsız olmak üzere uzaktaki bir çok uygulamanın birbiri ile iletişim kurmalarını sağlayan yapılardır. Platformlar arasındaki iletişimi belirli bir standart haline getirmiş ve bir takım veri formatları ve protokollere göre yapabilmeyi sağlayan yapıdaki yazılımlardır ve farklı dillerde, frameworklerde ve teknolojilerde geliştirilebilir.

    PaperWork içerisinde de webservislerin kullanımı için bir yapı vardır. Web servisler bu yapıda tanımlanarak veri alışverişi yapılabilir. PaperWork içerisinde soap ve rest olmak üzere iki türlü web servis standardı kullanılmaktadır.

    Bilgilendirme
    SOAP "Simple Object Access Protocol"  (Basit Nesne Erişim Protokolü) en temel anlamda, internet üzerinden küçük miktarda bilgileri yada mesajları aktarma protokolüdür. SOAP mesajları xml formatındadırlar ve genellikle http bazen de tcp/ip protokolü kullanılarak gönderilirler.

    REST "Representational State Transfer" (Temsili Durum Transferi) istemci-sunucu arasında hızlı ve kolay şekilde iletişim kurulmasını sağlayan bir servis yapısıdır, servis yönelimli mimari üzerine oluşturulan yazılımlarda kullanılan bir veri transfer yöntemidir.

    Tercihe göre bu iki protokolden birisi PaperWork içerisinde tanımlanabilir ve kullanılabilir.

    Kullanacağımız servise uygun bir isim verilir  ve platform belirtilir, varsa kullanıcı bilgileri girilir. Servis içerisinde bulunan metodların parametreleri de giriş-çıkış olarak getirilir.

    Eğer bir kimlik doğrulama mekanizması kullanılıyor ise, bu bilgiler girilir. 

    Web Servis Kimlik Doğrulama

    Yok : Herhangi bir doğrulama işlemi olmadan servis çağrımı söz konusu olduğu durumdur.

    Temel : İstemci tarafında kullanıcı ve şifre bilgisi doğrulanarak servis çağrısı yapıldığı durumdur.

    AuthInHeader : Servis çağrısı sırasında header bilgisi ile kullanıcı ve şifre bilgisi doğrulması yapıldığı durumdur.

    ApiKey(Bearer) : Servis çağrısı sırasında anahtar bilgisi <Authorization> header'ı ile gönderilir.

    Soap  1.2 standartlı servisler için;

    Wsdl bölümüne adres girilir ve hemen sağında bulunan servis bilgilerini getir butonu ile servis içinde bulunan bilgiler alınır. Servis içerisinde bulunan metodların parametreleri de giriş-çıkış olarak getirilir. 

    Proxy Adı ve Client   Adı bilgileri servis wsdl   üzerinden otomatik doldurulur.

    Rest servisler end point bilgisi ile aksiyon türü (get, post, put ve delete) üzerinden  input (json)  ve ouput (json) veri alış verişi sağlanır.

    Bu servislerde metodlar ve parametreleri kullanılan servis metodunun yapısına göre arayüz üzerinde ekle / sil ile oluşturulur.

    Servislerin kullanılabilmesi için dikkat edilmesi gereken konular şunlardır :

    ◾ Servislerin çalışıyor olması yani testinin yapılmış olması gerekmektedir. (SOAP UI gibi uygulamalar kullanılarak servisler test edilebilir.)

    ◾ Kullanılacak platformlarda bağlantı problemi olmaması, yani erişilebiliyor olunması gerekmektedir. Örneğin test platformunda çalışma yapılıyor, bu platformda erişim var, ancak prod ortamına taşındığında çalışmıyor durumu oluşabiliyor. Bu durum prod ortamının servise erişiminin olmamasından kaynaklanabilir.

    ◾ Input ve output parametreleri detaylı bir şekilde açıklanmalı. Parametrelere göre değişen bir durum var ise, bunlar mutlaka belirtilmeli. Örneğin ilk iki parametre doldurulduğunda "Result2" verisi döner gibi.

    Alınan verinin büyüklüğü önemli, çok büyük veriler listeye doldurulmak istendiğinde timeout olabilir. Filtre kullanarak bu durum çözülebilir.

    Sağlıklı bir test yapılabilmesi için mutlaka request ve response XML örnekleri olmalı. Özellikle SOAP UI gibi uygulamalar kullanıldığında ekranda hem request hemde response XML bilgisi  yer alıyor. 

    WSDL Dosyalarında Türetilmiş ve Karmaşık Nesneler

    XML tabanlı WSDL (Web Services Description Language) dosyaları, bazen türetilmiş veya karmaşık nesneler içerebilir. Web servis tanımlama ekranlarında, bu tür servislerin kullanımı kısıtlı olabilir veya bazı durumlarda mümkün olmayabilir. Bu durumlar için, servisler arası iletişimi kolaylaştırmak amacıyla ara katman servisleri veya metodları kullanılır. Ara katmanlar, farklı servislerin birbiriyle uyumlu çalışmasını sağlar ve karmaşık nesnelerin entegrasyonunu kolaylaştırır. Dolayısıyla, eğer bir web servisi türetilmiş veya karmaşık nesneler içeriyorsa, bu durum doğrudan entegrasyonu engelleyebilir.

    Metodlar

    Servis bilgileri alındıktan sonra metodlar listeye gelir. Metod seçildiğinde parametreler bölümünde metodun giriş ve çıkış parametrelerini, veri tipini ve zorunluluk durumunu izleyebilir, bu veriler yardımı ile servisi kullanabilirsiniz. Kullanılmak istemediğiniz metodların durumunu pasif yapabilirsiniz.

    Parametlerelerin ve dönüş değerlerinin detaylı bilgileri yukarıdaki ekranda olduğu gibi detaylı bir şekilde gösterilir. Veri tipine göre request ve response yapısı hazırlanmalıdır. Burada yeşil renkte görünen parametreler giriş parametreleri, kırmızı renkte görünen parametreler çıkış parametreleridir.

    SOAP Servislerde IIS tekrar başlatma
    SOAP servisinin geçerli olabilmesi için yapılan tanımlama sonucunda otomatik olarak bir kütüphane oluşur. Bu kütüphanenin geçerli olabilmesi ve çalışabilmesi için IIS tekrar başlatılmalıdır. Tanım sonrasında bu otomatik gerçekleşir. IIS tekrar başlatıldığında tüm kullanıcılar sistemden otomatik çıkartılır.