31 Ocak 2016 Pazar

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.  
     
Bir web servisten veri okuyup , veri almak istediğinizde bilgisayarınızda veri transferinin gerçekleşmesi için bir port açılır ve bu portan veri okunup veri gönderilir.

Bir kaç örnekle Web Servisin kullanım alanlarından bahsedelim.
Merkez bankası hergün döviz kurlarını kendi sistemi üzerinde belirler ve bu "kur bilgisi" üzerinde işlem yapan kurumlar merkez bankasının Web Servisleri aracılığıyla gün içerisinde değişen kur bilgilerini kendi sistemlerine çekerler ve bu şekilde merkezi ve güncel bir yapının oluşması sağlanmış olur.

Windows Messenger tarzı bir uygulama yaptınız kullanıcılar internet siteniz aracılığıyla sisteminize kayıt oldular ve bilgileri Web Server üzerinde bulunan Database kaydedildi.Chat leşmeye başlayabilmek için'de bilgisayarlarına sizin geliştirmiş olduğunuz uygulamayı indirdiler.

Programı başlattıkları zaman programınız giren kullanıcının kim olduğunu tespit edebilmek için bu kullanıcıdan "Kullanıcı Adı" , "Parola" bilgisi istedi.Şimdi sizin kullanıcının Client'ında bulunan uygulamanızda "Kullanıcı Adı" , "Parola" bilgisi var fakat kayıtlı olan kullanıcıların bilgisi Web Server'da arada bir iletişim kurmak lazım işte bu noktada yardımımıza Web Servisler yetişmekte.

Yazmış olduğunuz ve Web Server üzerinde çalışan bir Web Servis'e bu parametreleri geçerek giren kullanıcının gerçekten sistem'de var olup olmadığını varsa arkadaş listesini ve benzeri bilgileri Client'a çekebilirsiniz.

Web servisler kurumlar arası iş birliği açısından son derece önemlidir çünkü kurumlar iş birliği yaptığı satıcı , müşteri bankalar ve benzeri kurumlardaki iş süreçlerini birleştirerek daha iyi işlevsellik ve daha az maliyetle zorlu proje süreçlerini tamamlamaktadırlar. Günümüzdeki Web tabanlı projelerin büyük bir çoğunluğu dışardaki bir çok sistemle veri alışverişinde bulunmaktadır.Hastaneye gidersiniz hastane yazılımı "Sağlık Bakanlığı'nın" merkezi randevü sistemine bağlanmaya çalışır.Okula gidersiniz okul "Milli Eğitim Bakanlığı'nın" sistemine bağlanıp bilgi alışverişinde bulunmaya başlar.Özel bir firmada yazılımcı olarak işe başlarsınız yaptığınız proje gereği birlikte çalıştığınız müşterilerinizin farklı yazılım sistemleri ile paralel veri alışverişinde bulunmanız gerekir işte bu tarz işlemlerin olduğu her yerde Web Servis güçlü ve kararlı bir yapı olarak karşımıza çıkmaktadır. Web Servisler halan büyük ve kurumsal firmalar tarafından çok güçlü bir şekilde desteklenmektedir bundan dolayı Web Servis teknoloji halen önemi'ni korumaktadır.

Alıntıdır.

Delphi ‘de Web Servisleri ve SOAP Uygulamaları


Web Servisleri Internet üzerinden yayınlanan ve çağrılabilen bağımsız modüler uygulamalardır. Web servisleri sağlanan hizmetleri açıklamak için iyi tanımlanmış ara yüzler sağlar. Istemci gözatıcılar için Web sayfaları üreten Web sunucusu uygulamalarının aksine, Web Servisleri doğrudan insan etkileşimi için tasarlanmış değildir. Aksine, bunlara istemci uygulamaları tarafından programlama yoluyla erişilir.

Web servisleri istemci ve sunucu arasında serbest bir bağlantı sağlamak için tasarlanmıştır. Yani, sunucu uygulamalarının istemcileri belirli bir platform ya da bir programlama dili kullanma ihtiyacı duymaz. Dilin doğal tarzında, arayüz tanımlamaya ek olarak çoklu iletişim mekanizması da tasarlamaya izin verir.
Web servisleri, SOAP (Basit Nesne Erişim Protokolü) kullanarak çalışmak üzere tasarlanmıştır. SOAP merkezi olmayan, dağıtılmış bir ortamda bilgi değişimi için standart hafif bir protokoldür. Uzak yordam çağrıları kodlamak için XML kullanır ve genellikle bir iletişim protokolü olarak HTTP kullanır. SOAP hakkında daha fazla bilgi için, http://www.w3.org/TR/SOAP/  adresindeki SOAP spesifikasyonuna bakın.

Not: Web servislerini destekleyen bileşenler(componentler) SOAP ve HTTP kullanacak şekilde inşa edilmiş olmalarına rağmen,frameworkun(çerçevenin)diğer kodlama ve iletişim protokollerini kullanacak şekilde genişletilecek kadar yeterince geneldir.
Delphi SOAP tabanlı Web Servis uygulamalarını (sunucu) size inşa etmenize izin vermesi yanında , özel bileşenler ve sihirbazlar size web servisleri için istemciler inşa etmenize ya SOAP ya da  belge birebir stili kullanıarak size izin verir . Belge birebir stili .Net Web Hizmetlerinde kullanılır.
Web servis  uygulamaları arayüzlerde ne bulunduğu bilgisini ve bunları WSDL (Web Service Definition Language-web servisi tanmlama dili) kullanarak nasıl çağırılacağı bilgisini yayınlar.           Sunucu tarafında, uygulamanız bir Web servisinizi tanımlayan bir WSDL dokümanı yayınlayabilir.  İstemci tarafında, bir sihirbaz veya komut satırı yardımcı programı , ihtiyacınız olan bağlantı bilgisini ve ara yüz tanımlarını size sunarak bir yayınlanmış WSDL dökümanı ithal edebilir.  Zaten uygulamak istediğiniz Web sunucusunu  tanımlayan WSDL belgesi varsa WSDL belgesi alırken, siz de sunucu taraflı kodu oluşturabilirsiniz ve SOAP istemci ve sunucu taraflı program yazabilirsiniz.

Alıntıdır.

Delphi'de Web Service leri Nasıl Kullanılır?


       Bu dökümanın amacı delphi içinde webservice kullanarak güncelleme, lisans kontrol işlemleri ve diğer süreç işlemleri gibi işlemlerin internet ortamından nasıl kontrol edilebileceğinin gösterilmesi ile ilgilidir. Dökümanda web service in üç aşaması anlatılmadır. Bu üç aşama aşağıdaki gibidir.

1. Servisin oluşturulması
2. Servisin yayınlanması
3. Servisin kullanılması


       Birinci aşamada servis katmanı oluşturulur. Bu katman DLL dosya formatında olup IIS'de çalışacak ve bizim servis kullanıcıları arasındaki iletişimi sağlayacak katmandır. Bu katmanda yapacağımız sorguları yazarız. Eğer lisans kontrolü yapacaksak lisans fonksiyonlarını güncelleme kontrolü yapacaksak güncelleme fonksiyonlarını buraya yazarız. İkinci kısımda servisin IIS'de yayınlanması gelmektedir. Burada IIS de bir kaç ayar yapmamız gerekmektedir. Normal kurulumda IIS DLL ve Exe leri çalıştırma özelliği kapalı halde kurulur. Bu gibi ayarları açmamız ve DLL'imizin çalışmasını sağlamalıyız. Son aşamada hazır olan servisin kullanımına başlarız. Servis fonksiyonlarını WSDL protokolü ile yaptığımız uygulamanın içine importlayıp implemente ederiz. Böylece kullanabileceğimiz fonksiyonları görebiliriz. 


WebService Oluşturma


       Delphi'de WebService kolay bir şekil de oluşturulabilir. Sadece üç adımda bir WebService uygulaması geliştirilebilir. Bunlardan birinci adım Server kısmının oluşturulmasıdır. Bu kısım da serviste kullanılacak fonksiyonlar tanımlanır. Daha sonda IIS ile yayınlanarak bu fonksiyonlar kullanılır. Service oluşturma ve üç bölümden oluşur.

1. Proje Grubu Oluşturma
2. Server Oluşturma
3. Test Clienti Oluşturma

Proje Grubu Oluşturma


       Uygulamada Server ve Client tarafları olacağından iki uyguma arasında geçişin çabuk olması ve denenmesi için öncelikle yapılması gereken bir proje grubu oluşturmaktır. Proje grubu iki şekilde oluşturulabilir. File>New>Other>New>ProjectGroup diyerek yeni bir proje grubu oluşturabilir 




yada View>Project Manager(Ctrl+Alt+F11) açılarak buradan yeni proje grubu oluştur diyebiliriz.


Save diyerek proje grubunu kaydedebilirsiniz.


WebService Server Oluşturma

       Proje grubunu oluşturduktan sonra server kısmı için gruba yeni bir webservice projesi eklememiz gerekmekte. Bunun için proje grununa sağ tıklayıp yeni proje dedikten sonra webservice seçmeniz gerekir. Project Manager > Add New Project > WebServices > SOAP Server Application


yada File > New > Other > WebServices > SOAP Server Application

Seçimi yaptıktan sonra karşımıza beş seçenek çıkacaktır. IIS'te çalışacak bir service için seçili gelen ilk seçeneği seçiniz. Interface ve implement unitlerinin otomatik oluşması için daha sonasında gelen ekrana yes diyip diğer adıma geçin.




Bundan sonra ki adımda bizden service'in adını isteyecektir.


Ok tıklayıp işlemi bitirin.



Kaydettikten sonra kullanacağınız fonksiyonları yazabilirsiniz.



WebService Client Oluşturma


       Proje grubunda server kısmı oluşturulduktan sonra test için  bir form oluşturunuz. Bunun için File > New > Application diyerek yada proje grubuna fare sağ tık diyerek yapabilirsiniz.






       Server ve Client oluşturma işlemi böylece tamamlanmış olacaktır. Client için kısmında webservice fonksiyonlarını kullanabilmek için import işlemi yapmak gerekmektedir. Import işlemi diğer devam yazılarında bulabilirsiniz.

0 yorum:

Yorum Gönder