Web servisleri, web üzerinden servis veren program parçalarıdır. Bir kullanıcının, HTTP protokolü üzerinden web servisini kullanmasına RPC (Remote Procedure Call) denmektedir. HTTP üzerinden yapılan bu çağrımlara karşı SOAP (Simple Obect Access Protocol) dediğimiz protokol ile XML çıktıları üretilir. Bu sayede standart bir veri paylaşım aracı olan XML ile istediğimiz verileri alıp kullanırız. SOAP standartları, W3C standartlar komitesi tarafından belirlenmiştir. Bütün bu standartları uygulamaya geçiren SOAP sayesinde web servisine, platformdan bağımsız çağırımlar yapılabilmektedir. Yani .NET ortamında geliştirilen bir web servisine JAVA ile geliştirilen bir programdan ulaşmak mümkündür.
SOAP dışında bazı standartlar da vardır, bunlar XML, WSDL, DISCO ve UDDI olarak sıralanabilir. XML, web servislerinin veriyi sunmak için kullandığı bir standarttır. WSDL (Web Service Description Language), web servisinin sunduğu arayüzü tanımlamak için kullanılır, bir web servisinde bulunan fonksiyonların hangi parametreleri aldığını ve ürettiği bilginin türünü bu standartlar ile belirtiriz. DISCO (Dıscovery Protocol) sayesinde ise bir sunucuda paylaşıma açılmış bütün web servislerinin organizasyonu sağlanır. UDDI (Universal Description, Discovery and Integration) standartları, internet üzerinde paylaşıma açılmış ve uygulamalar tarafından kullanılabilecek web servislerinin organizasyonunu sağlar.
Web servisleri günümüzde önemli yer tutmaktadır. TC Kimlik No sorgulama, merkez bankasından anlık doviz kurlarının çekilmesi, örneğin bir şirketsiniz uzak şubelerinize anlık master verilerin sunulması web servisleri ile rahatlıkla sağlanır. İhtiyaca göre ya web ortamından ya da windows ortamından çağrılabilirler.
Web Servis Hazırlanması
Yeni bir web servis hazırlanması için File->New Web Site buradan pencere açılır (Bkz Şekil 1). “ASP.Net Web Service” seçeneği seçilir. Dil seçimi ise isteğe bağlı olarak tercih edilebilir. Dosyanın kaydedildiği yer de seçildikten sonra pencere kapatılır.
Şekil 1. Web Servisi Yaratılması |
Karşımıza web servisimize ait basit bir method gelir. Bu method ekrana sadece “Hello World” yazdırır. Bu methodu silip kendimize illeri getiren method oluşturacağız (Bkz Şekil 2). İlleri sunmak için ilk önce access de yeni bir database mdb (iller.mdb) dosyası ve bu dosyada sehirler tablosu yaratıp, iller ekleyeceğiz.
Şekil 2. Web Servis Kodu |
Bu kodlar Service.vb dosyasında olması gereken kodlardır ve bir metot belirtir. Bilinen ado.net kütüphanesine ait kodlar kullanılarak ilk önce veritabanına bağlantı sağlanmıştır. Sonra, adapter nesnesi ile bir sorgulama cümlesi yazılıp bu sorguya uyan veriler datasete(verikümesine) aktarılmıştır. Metodun geri dönüş veritipi dataset olacak. Yani bu metot sonlandığı zaman geri dönüş olarak bir dataset gönderecektir. Şimdi F5'E basarak bu Web Servisimizi test edebiliriz.
Şekil 3’de Web Servisimize ait oluşturulmuş olan bütün metotlar bu sayfada görüntülenir ve hangisini test edileceği buradan seçilir. Bizim örneğimizde sadece bir tane metod olduğundan karşımıza çıkan metoda tıklıyoruz. Karşımıza gelen yeni sayfadanda Invoke butonuna tıklıyoruz. Bu aşamalardan sonra karşımıza ado.net kütüphanesine ait kodlar ile verileri çektiğimiz datasetin içeriği görülecektir.Tabikide burada açılacak olan sayfa bir xml sayfasıdır. Dolayısıyla verilerde xml üzerinden gelecektir.
Şekil 3. Web Servisi Test |
Emin Serkan BAYDAR
Yorumlar
Yorum Gönder