31 Ocak 2016 Pazar

Delphi'de WebService Part-2 (Service Yayınlama)

WebService Yayınlama


       Oluşturulan webservice dll'inin kulllanılabilmesi için öncelikle web ortamında yayınlanması gerekmektedir. Bunun için IIS üzerinde statik bir web adresi gerekmektedir. Verilecek örnekte bu iş için localhost kullanılmıştır. Eğer bilgisayarınızda IIS yoksa buradan indirebilirsiniz.

      Bu örnek Default Web Site'si üzerinden anlatılacaktır. Giriş ekranı aşağıdaki gibidir. Öncelikle yapılması gerekenler

1. IIS klasörünü belirlemek(DLL'in çalışacağı klasör yolu)
2. IIS'in .dll ve .exe uzantılarınıda çalıştırması için izinleri vermek

1. Dosya Klasörünü Ayarlama


       Eylemler menusünden Temel Ayarlar kısmına tıklayınız. Burada Site Adı, Uygulama Havuzu ve Fiziksel Yol gibi bilgileri düzenleyebilirsiniz. Fiziksel yolu DLL'in bulunduğu klasör seçin yada kendi oluşturduğunuz bir klasörün içine DLL'i atın ve bu dosya yolunu seçin


2. Gerekli İzinlerin Verilmesi

       DLL klasör yolu belirlendikten sonra yapılması gereken diğer bir işlem de bu DLL'nin çalışması için gereken izinlerdir. Öncelikle 32 bit(x86)  uygulamalarında çalışması için Uygulama Havuzları > DefaultAppPool (Siz hangi havuzu seçtiyseniz) > Gelişmiş Ayarlar > Genel > 32-Bit Uygulamaları Etkinleştir = True adımlarını takip etmelisiniz. Bu işlemden sonra artık 32 bit uygulamalarda IIS de çalışacaktır.


      Bir diğer onayda DLL ve Exe lerin çalışması için etkinleştirilmesi gereken bölümlerdir. Bunun için HOST>İşleyici Eşleşmeleri > CGI-exe > Çalıştır diyerek exeleri çalıştırabilir hale getiriniz.









  Son olarak tek bir etkinleştirme işlemi kaldı. HOST>ISAPI ve CGI Kısıtlamaları>Özellik Ayarlarını Düzenle>Tamam


Tarayıcıya localhost yazarak DLL'in çalıştığını test edelim


Delphi'de WebService Part-1 (Server Oluşturma)



Web Servis Nedir Nerelerde Kullanılır ?


Web Servis web üzerinden HTTP protokolü ile hizmet veren program parçalarıdır. Bir kullanıcının HTTP üzerinden bir web servisi kullanmasına RPC(Remote Procedure Call) denmektedir HTPP üzerinden yapılan bu çağrımlara karşı SOAP(Simple Obect Access Protocol) dediğimiz protokol XML çıktıları üretir. Veri transferi bu XML çıktıları sayesinde yapıldığı için platform bağımsız bir yapısı vardır. Web servisi kullanmak istediğiniz program parçasının hangi dilde yazıldığının pek bir önemi yoktur.Çünkü sonuçta Web servisten alacağınız veri tipi XML'dir.Bundan dolayı C# ile yazılmış bir Web Servis Java tarafından Java ile yazılan bir Web Servis .Net teknolojileri tarafından kolayca kullanılabilmektedir.Bu yazılımların çalıştıkları platformalarında pek önemi yoktur Unix üzerinde çalışan bir uygulamayla Windows üzerinde çalışan bir uygulama aynı Web Servisi sorunsuzca kullanabilirler.