WEB SERVİCE Web Service kavramının ne olduğunu anlatmadan önce, benzer bir amaca hizmet eden daha köklü bir kavram olan API ‘den bahsetmek gerekir. API(Application Programming Interface) API:bir programın işlevselliğini başka programların da kullanabilmesini sağlayan fonksiyonlara verilen addır. API ‘ye ÖRNEK Hepimizin bildiği gibi ICQ programının temel iki fonksiyonu vardır.Mesaj göndermek ve dosya göndermek. ICQ yapısı içinde bulunan bir .DLL dosyası bu fonksiyonları içerir. İşte bu .DLL dosyası bir API’dir. Bu .DLL dosyası kullanılarak o fonksiyonları çağırarak mesaj ve dosya gönderebiliriz. API ‘LERİN DEZAVANTAJLARI API’lere herkesin ulaşabilmesi güvenlik açısından büyük bir dezavantajdır. Diğer bir dezavantaj ise günümüzde unix,linux,windows ..gibi farklı işletim sistemleri;.net,java gibi farklı uygulama platformlarının bulunmasından dolayı,her uygulama için ayrı ayrı API’ler yazılma zorunluluğudur. WEB SERVİCE NEDİR? API’nin ne olduğunu öğrendikten sonra web service kavramını açıklayabiliriz. Web service için internet çağının API’leri diyebiliriz. Tek cümleyle web service “internet üzerinden kullanılabilen platform bağımsız API” diye nitelendirilebilir. AVANTAJLARI Haberleşecek sistemlerin birbirlerinin gerçeklenmelerinden haberdar olması veya platformlarının uyumlu olması gerekmez. Örneğin, Java ile geliştirilmiş ve UNIX sistem üzerinde çalışan bir uygulama ile .NET ile geliştirilmiş ve Windows işletim sistemi üzerinde çalışan bir uygulama, birbirlerinin çalışma ortamlarından bağımsız olarak, XML iletişim standartları aracılığıyla iletişim kurabilir. Bir uygulamanın fonksiyonlarını, internet üzerinden çok geniş bir kullanıcı kitlesine açmak mümkündür. Örneğin;Merkez bankasından döviz kurlarını web sitelerinin, bankaların, ajansların vs.. alması. HTTP üzerinden çalıştırıldığı için, sistemleri dışarıya güvenlikten pek fazla ödün vermeden açmak mümkün olur. Firewall’lar, uygulamalar arasında veri paylaşmak istediğimizde bize engel olmaz. API’lerde güvenlik sorunu vardı.Bu Web Service’in API’ye olan üstünlüğüdür. Her platform bağımsız teknolojide olduğu gibi, Web Service’ler de ürünü geliştirmek için gereken süreyi ve emeği azalttığı için maliyetleri düşürür. SOAP(Simple Object Access Protocol ) Daha önce bahsettiğimiz gibi web service platform bağımsız çalışabiliyor.Peki bu nasıl oluyor??? w3c standart komitesi tarafından belirlenen SOAP protokolü ile platform bağımsız çalışabiliyor. DİĞER STANDARTLAR SOAP dışında birtakım standartlarda vardır. XML:Web servislerinin veriyi sunmak için kullandığı bir standarttır WSDL(Web Service Description Language):Bir uygulamanın bir web servisini kullanması için web servisinin nasıl çağırılacağının, arayüzünün, hangi protokollerin ve kodlama standartlarının belirtilmesi gerekir. WSDL web servisini tanımlayan bir XML belgesidir. DISCO(Dıscovery Protocol) :Bir sunucuda paylaşıma açılmış bütün web servislerinin organizasyonunu sağlar. UDDI(Universal Description, Discovery and Integration):Kurum ve web servisleri bilgilerini saklayan ve yayınlayan sunuculardır. Bir web servisi istemcisinin bir servis sağlayıcıdan bir servisi çaĞırma aşamasındaki temel adımlar: Web servisi istemcisi (SOAP Client) servis kayıt biriminden (UDDI) web servisini bulur. İstemci bir SOAP mesajı hazırlar. SOAP mesajı bir XML belgesidir. İstemci SOAP mesajını web server veya uygulama sunucusunda çalışan SOAP istek dinleyicisine gönderir. İstek dinleyici gelen isteklere cevap veren sunucu programlardır. Bu programlar bir JSP, ASP, CGI veya ISAPI programıdır. SOAP sunucu gelen SOAP mesajını parse eder ve gerekli parametreleri göndererek istenen nesnenin istenen yöntemini çağırır. Çağırılan nesnedeki yöntem çalışır ve sonuçları SOAP sunucusuna gönderir. SOAP sunucusu gelen sonucu SOAP mesajı formatında biçimlendirerek istemciye gönderir. İstemci gelen SOAP mesajının içindeki bilgileri alarak istekte bulunan programa gönderir.