Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

12 Eylül '09

 
Kategori
Yazılım
 

Web servislerin kullanılması

Web Servisler çok farklı şekilde kullanılabilen araçlar kümesidir. En sık kullanılanlardan 3’ü şunlardır; RPC, SOA ve REST

Uzaktaki prosedürleri çağırma (Remote Procedure Calling RPC)

Mimari öğeler XML-RPC'de gereklidir. RPC Web Servisler birçok yazılım mühendisine tanıdık gelen dağıtılmış fonksiyon yada metod çağırma arayüzü sunarlar. RPC Web Servisler’in temel birimi WSDL işlemleridir. İlk geliştirilen Web Servis araçları RPC üzerinde yoğunlaşmışlardır. Böylece bu stil geniş kapsamda uygulandı ve destek gördü. Gevşek bağlı olmadığı için bazı zamanlarda eleştirilmesine rağmen, adresleme servisleri(mapping service) tarafından doğrudan dil-özellik(language-specific) fonksiyonları yada metod çağırmaları için yürütüldü. Birçok yazılım firması bu yaklaşımın çıkmaz sokak olduğunu düşündü ve RPC'ye WS-I Temel Profilde müsaade edilmemesini talep etti.

Servise yönelik mimari (Service Oriented Architecture SOA)

Web Servisler iletişimin temel biriminin işlemden daha ziyade mesaj olduğu yerde, servise yönelik mimari(Service-oriented architecture SOA) esaslarına bağlı olarak mimariyi hayata geçirmek için kullanılabilir. Bu genellikle mesaja yönelik servisler olarak ifade edilir.

Servise yönelik web servisler birçok yazılım firması tarafından ve endüstri analistleri tarafından desteklenir. RPC Web Servisler’inden farklı olarak gevşek bağlılık olasılığı daha fazladır. Çünkü asıl üzerinde durulan WSDL’dir. Arakatman analistleri olay tabanlı SOA'yı oluşturmak için mesaja yönelik işlemleri ve web servisleri birleştiren kurumsal servis yollarını kullanırlar. Açık kaynak kurumsal servis yoluna örnek olarak "Mule" verilebilir.

Temsili durum transferi(Representational State Transfer REST)

Temsili durum transferi (Representational State Transfer REST) iyi bilinen standart işlemleri(HTTP için GET, POST, PUT, DELETE) oluşturmak için arayüzü kısıtlayarak, HTTP'yi kullanan yada benzer protokolleri kullanan mimarileri açıklamaya çalışır. Burada üzerinde durulması gereken mesajlardan yada işlemlerden ziyade dinamik kaynaklar ile etkileşimdir. REST tabanlı bir mimari (bunlardan birisi 'RESTful') HTTP üzerinde SOAP mesajlaşmayı açıklamak için WSDL'i kullanabilir. Soyut olarak SOAP'ın üzerinde hayata geçirilebilir yada SOAP'ı hiç kullanmadan oluşturulabilir. WSDL versiyon 2.0 bütün HTTP istek metodlarını destekler.(sadece versiyon 1.1'deki GET ve POST değil) Böylece RESTful Web Servislerin daha iyi yürütülmesi sağlanmış olur. Yazılım geliştirme paketleri daha çok WSDL 1.1 için araçlar sunmaktadır. Bu özellik için destek bu paketlerde yetersizdir.

RESTful olmayan Web Servisler’i eleştirenler Web Servislerin çok karışık olmalarını ve açık kaynak yürütülmelerinden ziyade büyük yazılım tedarikçilerine yada entegre edenlere istinat etmelerini sık sık şikayet ederler. REST Web Servis geliştiricilerinin bir büyük endişesi uzak etkileşim için SOAP WS araç paketlerinin yeni arayüz tanımlamayı kolaylaştırması. Bu, SOAP yazarları tarafından bir özellik olarak gözleniyor fakat sunucu üzerinde küçük bir değişikliğin yapılmasının farklı WSDL'de ve farklı servis arayüzünde sonuçlanmasının (SOAP gurubunun yükseltilmesi bile) sistemlerin sağlamlığını artırabilmesi endişeye düşürüyor. WSDL'den ve servisin XSD açıklamalarından oluşturulabilen client taraflı sınıflar, SOAP endpoint'e bağlanır ve endpoint değişirse yada client taraflı SOAP gurubu yükseltilirse bozulabilir. İyi tasarlanmış SOAP endpoint'leri (elle yazılan WSDL ve XSD ile) bundan zarar görmez fakat herbir servis için ortak arayüz kullanılması ve herbir servis için ortak bir client gerektirmesi problemleri hala devam eder. Web Servislerin XML'i paketlemede ve iletimde bir mesaj formatı, SOAP ve HTTP olarak kullanmasına bağlı olarak performans ile ilgili ayrıca endişeler vardır. VTD-XML gibi XML pars etme ve indeksleme teknolojilerinin belirlenmesine rağmen, XML ilişkili performans görevlerine yönlendirme yapılacaktır.

 
Toplam blog
: 177
: 1692
Kayıt tarihi
: 02.11.07
 
 

İlk,Orta ve Lise öğrenimi TED Kolejinde yaptı. Bilgisayar Mühendisliği lisans eğitiminden sonra E..