-

DUYURU-Eskişehir Osmangazi Üniversitesi Bilgisayar Mühendisliği e-dergisi readmee 1 sene arayla tekrar sizlerle

Okulumuzun e-dergisi olan readmeebir senelik uzun bir ara vermişti.Uzun bir aradan sonra yeni arayüzü ve tasarımıile readmee  Temmuz sayısı okuyucuları ile buluştu.
Benim de Xml Web Servisleri yazıdizisi ile yer aldığım readmee’yi keyifle okumanız dileğiyle.

Temmuz2011 Sayısı Dergi İçeriği:

- Kaybolan 6 Yıl ve… ( Mahmut Bulut )
- IPv6 ( Pelinsu Önal )
- Görüntü İşleme ( Selin Köykıran )
- XML Web Servisler ( Derya Gündüz )
- WCF — 1 ( Abdulvahap Demir )
- Dragon Age : Origins vs. Dragon Age II ( OğuzCevizoğlu )
- Angry Birds ( Yusuf Kesgin )
- Çin Gezim ve Yansımaları ( Ömer Faruk Tunçbilek)


dilerseniz readmeeyi pdf formatında kaydedebilirsiniz.

readmee.com

DERYA GÜNDÜZ

XML WEB SERVİSLERİ

Web ortamındaki gelişmeleri üç safhada inceleyebiliriz:
  1. Belge Web’i (Document Web) : Web’in en ilkel halidir. Bu web türünde bilgi sadece okunabiliyordu,bilgi üzerinde değişiklik yapmak mümkün değildi.yani HTTP protokolü ile HTML dilinde biçimlendirilmiş statik belgelerin kullanıcılara sunuluyordu.
  2. Uygulama Web’i (Application Web) :dinamik HTML belgeleri ile kullanıcı ve iş uygulaması arasında etkileşim sağlandı.Bilgi üzerinde okuma ve bilgi yazma imkanı verdi.
  3. Servis Web’i (Services Web) :İşletmelerin diğer işletmelerle olan iş süreçlerini bütünleştirme gereksinimisonucunda ortaya  çıkan ve gelişmekteolan yeni yapıdır.  Bu yapının temel taşıweb servisleridir.
Webservisleri Nedir?

W3C (World Wide Web Consortium)  tarafından yapılan resmi tanımıyla web servisi, bilgisayarlararasında ağ üzerinden etkileşimi ve uyumluluğu sağlayacak yazılım sistemidir.Web servisleri programların etkileşimi sağlamaktadır.Webservisleri sayesinde farklı veri tabanındaki bilgiler çekilebilir.
Webservisler içinde metodlar barındırır ve client bir istekte bulunduğunda bumetodlar ile client isteğine yanıt vermiş olur.

Web servislerinin en büyük avantajı:Web servislerinin en büyük avantajı  Xml  (extensible Markup Language-genişletilebilir etiketleme dili) tabanlı olmasıdır.Xml,kişilerin kendi etiketlerini tanımlayarak bu etiketler ilehiyerarşik yapı kurabildikleri ,bunları istedikleri zaman değiştirebildikleri ;esnek, teknolojiden -platformdan bağımsız text tabanlı bir meta dilidir.Xml tabanlı olması beraberinde platform bağımsız olmayı dagetirir.
Platformdanbağımsız derken ne kastettiğimi biraz daha açmak istiyorum:Günümüz teknolojisio kadar zenginleşti ve çeşitlendi ki…..Farklı farklı işletim sistemleri,programlar…Bunlar bir yana bir programın bile birden çok farklı versiyonu var. Bu kadarçeşitliliğin olması şüphesiz yanında uyum problemlerini getirecektir.Birdosyayı aynı programın farklı versiyonlarında çalıştırmak istediğimizde bilezaman zaman problem yaşamaktayız,kaldı ki farklı program ve işletimsistemlerinde yaşanmasın.Bütün teknolojilerde ortak olarak açılan ve çalışantek dosya türü text dosyalarıdır(notepad).Ama notepad ile en basitinden birtablo oluşturup bunun üzerinde çalışmak istediğimizde bile bu tabloyu organizeetmek baya bir zor olacaktır:kolonların sırası kayabilir,karışabilir….Bununyerine tablolarımızı hiyerarşik yapı ile xmle atmak işimizi bayağı birkolaylaştıracaktır.Xml verinin hızlı bir şekildesogulanmasını,değiştirilmesini,transfer edilmesini,verinin içerik bilgisi ilesaklanmasını(bu noktada htmlden ayrılır) sağlar.Xmlin güzel yanlarındanbirtanesi de uluslararası bir standarttır ve evrensel bir formattır vefirewallara takılmaz(text tabanlı olmasından kaynaklı).

WebServisinin İşleyişi :
1.      Eğer kullanılacak XML Web Servisinin adresibilinmiyorsa bir UDDI dizini yardımı ile bir XML Web Servisi bulunur.
2.      Discovery dosyasına (.disco) yapılan istek ileweb servisinin tanımlama dosyasına yönelinir.
3.      Web Servisinin açıklama dosyası olan WSDL dosyasınaistek yapılır. Servis biçimi öğrenilir.
4.      Artık XML Web Servisinin metodlarıçalıştırılmaya hazır olarak istemcinin hizmetindedir. XML Web servisininmetodları çalıştırılır.
WebServis Kullanımı:Web Servisi(metodları) yazıldıktan sonra projereferans olarak eklenir.Referans olarak ekledikten sonra web servis metodlarınaprojeden erişilip metodlar kullanılabilir.Küçük bir örnek ile web metodun nasılgöründüğü ile fikir edinmek gerekirse:
public class Service1 :System.Web.Services.WebService
   {
       [WebMethod]
       public int Toplam(int a, int b)
       {
            return a+b;web
       }
       [WebMethod]
       public int Cikarma(int a, int b)
       {
            return a – b;
       }
.
.
.
Web servis çalıştırılınca şekildekigibi görünür.
Web servis kullanmak için eklenmesigereken kod parçası,
localhost.Service1 ws = newlocalhost.Service1();
Metodlar da şu şekilde kullanılır:
label1.Text = ws.Toplam(a,b).ToString();
Web servis eklendikten sonra şuşekilde görünür:
 
WebServisi Standartları:

WebServisi = SOAP + WSDL + UDDI
SOAP(Simple ObjectAccess Protocol): SOAP distributed(dağıtık) uygulamalarda ve web servislerininhaberleşmesinde kullanılmak üzere tasarlanan,istemci/sunucu mantığına dayalıbir protokoldür.. SOAPprotokolü sayesinde web servisleri, basit ve mesaj tabanlı bir iletişim sağlar.SOAP’ı benzeri protokollerdenayıran en belirgin ve üstün özelliği yapısının SOAP’ı benzeri protokollerden ayıran en belirgin ve üstün özelliğiyapısının  XML üzerinekurulu olmasıdır.
Soap’da header ve body kısımlarıvardır.Body kısmına mesajın ne olduğu yazılır.Güvenlik amacı ile Soap Headerakullanıcı adı ve şifre gömülebiliyor.
WSDL(WebServices Description Language):Bir uygulamada web servisini kullanabilmekiçin web servisinin hangi protocolleri içerdiğini,arayüzünün nasılolduğunu,nasıl çağrılabileceğini bilmek gerekir.Bu noktada UDDI’ya ihtiyaçduyulur.UDDI web servisi tanımlamalarını tutn bir protokoldür.
UDDI(UniversalDescription Discovery and Integration): UDDI kurumların kendilerini vesağladıkları servisleri yayınlayarak tanıtamalarını, ve bu bilgilerin dahasonra diğer kurumlarca taranıp bulunmasını sağlayan bir standarttır.
okulumuzun readmee e-dergisinde yayınlanan yazım,
DERYA GÜNDÜZ 
BİLGİSAYAR MÜHENDİSLİĞİ 4. SINIF