Bolu Beyi tarafından yazıldı Haziran - 13 - 2011 4 Yorum

Bugün şimdiye kadar paylaşmadığım çok farklı bir konudan bahsedeceğim. Şu an Türk Telekomda staj yapmaktayım ve 1 haftayı doldurdum. Benden “webservis” konusunu araştırmam istenildi. Ben de bu konuyu birçok farklı kaynaktan araştırdım ve web servis hakkında az çok bilgi sahibi oldum, sizlerle de paylaşmak istedim.

Web servis, internet üzerinden kullanılabilen, xml tabanlı bir sistem entegrasyon yöntemidir. Web servisler, yeni yeni gelişmektedir ve birçok kurum günümüzde web servislerden faydalanmaktadır.Web servisler 3 ana birimden oluşmaktadır: Servis sağlayıcı, servis istemcisi ve servis kayıt birimi.
Servis sağlayıcı(service provider): Bu birim, sağlayıcıdaki servislere erişimi sağlar ve kendi sitesinde bulunan web servisleri tanımını servis kayıt birimine (service registry) kaydeder. Burada servisin nasıl çağrılacağı belirtilir.
Servis İstemcisi (Service Requester) : Bu uygulama servis sağlayıcısındaki web servislerini çağırıp kullanır. Web servisinin nasıl çağrılacağını bulur ve ilgili parametreleri servis kayıt biriminden arayarak çağırır.
Servis Kayıt Birimi (Service Registry) : Servis sağlayıcılarının yayımladıkları web servisi tanımlarını saklar ve aranıp bulunmasını sağlar. Servis sağlayıcıları servis kayıt birimini tarayıp istediği servisler hakkında bilgi edinebilir. Ayrıca, servis kayıt birimi her servisin nasıl çağırılacağı konusunda tanım bilgileri de içerir.

Şimdi günlük hayattan bir örnek vererek açıklayayım. Farz edin ki bir internet siteniz var ve farklı farklı konularda bilgi paylaşımlarında bulunuyorsunuz, emek veriyorsunuz. Bir arkadaşınız da size bir teklif sunuyor: “Senin sitendeki yazıları kendi sitemde paylaşmak istiyorum.Ama benim sitemde sadece senin yazdığın yazıların başlıkları görünecek ve benim ziyaretçim o başlığa tıkladığında yine senin sitene yönlendirilecek. ” Siz olsanız bu teklifi kabul eder misiniz? Şahsen ben ederim, çünkü sitemin ziyaretçi sayısı artar ve daha çok kişiye hitab etmiş olurum. Buraya kadar anlattığım yerde web servislere ihtiyaç yok. Ama benim sitem asp.net ile yazılmışsa ve arkadaşımın sitesi de Java ile yazılmışsa işte o zaman web servislere ihtiyaç duyuyoruz. Bu problemi çözmek için, yani java ile c sharp’ı konuşturmak için ortak bir dile ihtiyaç duyulur. Bu da WSDL‘dir(Web Service Description Language- Web Servis Tanımlama Dili). Bu dil web servislerini tanımlamaya yaramaktadır adından da anlaşılacağı gibi. Farklı iki programlama dilini konuşturmak için bir de SOAP(Simple Object Access Protocol – Basit Nesne Erişim Protokolü)’a ihtiyaç duyulur. Öyle ki Java’da yazılan metodlar çağrıldığında, bu istek SOAP paketine dönüştürülür ve server(sunucu)’a gider. Server da SOAP paketini alır ve inceler. Daha sonra çağrılan metod işletilir ve veriler dataset’e aktarılır. Oluşturulan dataset nesnesi de SOAP yardımıyla client(istemci)’a gönderilir. Client bilgisayar da SOAP paketini alır ve verileri işler. Yani SOAP paketi client ve server arasındaki iletişimi sağlar. Burada tercüman örneğini verebiliriz. Sadece Türkçe bilen ve sadece ingilizce bilen iki insanın anlaşması için arada iki dili de bilen bir insanın aracılık etmesi gibidir.Türkçe bilen kişi tercümana Türkçe bir şeyler söyle(Java) ve tercüman bunu İngilizceye çevirir(C#), ardından İngilizce bilen kişi bir şey söyler(C#) ve tercüman bunu yine Türkçe’ye(Java) çevirir.Tercüman her iki kişi için anlaşılabilir bir aracıdır.

Son olarak WSDL ve SOAP‘ın XML tabanlı olduğunu unutmayınız. Web servisle ilgili bu sitedeki örneğe bakabilirisiniz. Bu yazımda web servisler ile ilgili fazla ayrıntıya girmedim, çünkü ben de yeni öğrendim zaten:) Ama bir sonraki yazılarımda web servislerle ilgili terimleri(WSDL, SOAP, SOA, UDDI, DISCO…) açıklayacağım. Tekrar görüşmek üzere…
Bu konu ile ilgili diğer yazılar:
SOAP
WSDL
W3C

Bugüne kadar 4 yorum yapıldı

  1. webservis dedi ki:

    Elinize sağlık,web servisler yeni teknoloji olduğu için çok az yerde kaynak bulunuyor,teşekrler..

  2. Anonymous dedi ki:

    Ellerinize sağlık

  3. Anonymous dedi ki:

    Ellerinize sağlık

  4. bolubeyi dedi ki:

    Teşekkürler…


Time limit is exhausted. Please reload CAPTCHA.