Web servis teknolojileri

 Ana Sayfa / / Web servis teknolojileri

Web servislerinde hangi teknolojiler kullanılır!

Farklı program dilleriyle yaratılmış, farklı veri tabanları ve veri standartları kullanan uygulamaları bir biriyle konuşur hale getirebiliriz. Bu konuşan entegrasyon yapısını da internet ortamına aktarabiliriz. İşte tam da bu noktada Web Servisler, bu entegrasyonu sağlayacak alt yapıyı bize sunar. Web servislerine erişim standart bir ara yüz aracılığıyla gerçekleştiği için birbirinden bağımsız sistemlerin hep birlikte çalışmasına imkan tanır.

Tamda bu noktada karşımıza XML standizasyonu çıkıyor. Kişisel olarak bir XML delisi değilim. Evet XML genelde iyi bir çözüm olarak görünebilir acak tek çözüm XML yöntemiymiş gibi davranılmaması gerekir. Her yerde her zman XML kullanın denilmesi bence kabul edilebilir değil. XML'in bir standartlık sağladığı kaçınılmaz doğrudur. Çoğu alışveriş siteleri artık XML yapısı ile beslenmektedir. Antivirüs programları artık virüs güncellemelerini XML formatında çekiyorlar. XML veri aktarım için iyidir güzeldir. XML'i Parse etmesi derttir :)

Ancak XML veri standardı, web servisleri teknolojisinin temel yapı taşlarından biridir. Aşağıda web servis platformunda kullanılan standartlara değineceğiz:

SOAP: HTTP üzerinden uygulamaların bilgi transformasyonunun gerçekleşmesini sağlayan XML tabanlı bir protokoldür. SOAP ( Service Oriented Architecture  Protocol), uygulamaların karşılıklı çağrı yapabilmeleri için yaratılmış bir standarttır. SOAP ile internet üzerinden yayımlanan uygulamalar geliştirmeniz mümkün hale getirilmiştir.

Örnek bir SOAP döküman aktarımı:
<soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
  <Siparis No="1234">
   <Satici>Emre</Satici>
   <Alici>Sedat</Alici>
    <Urunler>
     <Urun No="1">Çelik Kapı Kolu</Urun> 
     <Urun No="2">Kapı Kilidi</Urun>
   </Urunler>
  </Siparis>
 </soap:Body>
</soap:Envelope> 


GörGörüldüğü gibi herhangi bir şekilde bu dökümanın nasıl işleneceği, verilerin nerede kullanılacağı bilgisi yer almamaktadır. Sadece bilgiyi tekrar kullanılabilir standart bir formatta sunmuştur.

Şimdide uzaktan metod çağırma yöntemini görelim.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
  <m:FiyatKontrol xmlns:m="http://abc.com/Urun">
   <symbol>Urun</symbol>
  </m:FiyatKontrol>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Bu yöntemde SOAP çağrısında FiyatKontrol metodunu Urun parametresi ile çağrılmış olduğunu görüyoruz.
FiyatKontol("Urun"); 


UDDI: Platform bağımsız bir frameworktür. Web servisleri hakkında bilgilerin depolandığı bir dizindir. İş servislerinin hangilerinin kullanılabilir olduğunu listeler. UDDI ve XML web servisleri ile internetten yaptığımız arama işlemleri çok daha hızlı ve başarılıdır. Açılımı Universal Description, Discovery and Integration'dır. Web servisleri için adres görevi görürde diyebiliriz.

WSDL: Web Services Description Language Web hizmetleri tanımlama dili olarak bilinmektedir. Client-Server mantığı ile çalışır. İstemci (client) HTTP protokolünü kullanarak sunucuya (server) ne istediğini iletir ve sunucu bu istemi XML standardına göre hazırlayıp yanıtını yine XML verileri halinde saklar. WSDL'ler 2007 yılında standart hale gelmiştir. 4 ana elemandar oluşur.

<definitions>
 
	<types>
	  tip açıklamaları ........
	</types>
 
	<message>
	  mesaj açıklamaları ........
	</message>
 
	<portType>
	  port açıklamaları .......
	</portType>
 
	<binding>
	  binding açıklamaları .......
	</binding>
 
</definitions>


WSDL'i entegre etmeniz için bir çok araç mevcuttur ancak biz Visual Studio.NET programcıları için daha kolaydır çünkü bu araçların bir kısmı Visual Studio.NET ile birlikte gelmektedir.

Düzenleyen: MERT AŞAR