21 Ekim 2009 Çarşamba

Web Servisleri – Bölüm 1

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.
image
Ş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.
image
Ş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.
image
image 
Şekil 3. Web Servisi Test
Şekil 3’de görüldüğü gibi dataset verileri xml şeklinde görüntülenir ve testimizin başarılı olduğu bu şekilde anlaşılır. Bu aşamalardan sonra Web Servisimiz herhangi bir ortamdan (web, windows, mobile vb.) çağrılabilir duruma gelmiştir.
Emin Serkan BAYDAR

Hiç yorum yok:

Yorum Gönder