SOA Birlikte Çalışınca (Çalışabilince) Güzel
Tarih: June 26th, 2007 | Mehmet Akyuz | Etiket: beraber işlerlik, beraber çalışabilirlik, dis box, e-devlet, e-devlet kapısı, edevlet, interoperability, ws-i | 1 Comment »Birlikte çalışırlığının önemini anlamak çoğunlukla sevimsiz tecrübelerin ardından gerçekleşiyor.
SOA açısından en önemli konulardan bir tanesi “birlikte çalışabilirlik”. Uygulamaların standartlar üzerinden, gevşek bağlarla birbirine kolayca entegre olabilmesinden bahsediyoruz. Fakat, maalesef, ya standartlar yeterince standart olamadığından ya da standartları gerçekleyen projelerin/araçların/ürünlerin farklılıklarından, herzaman beklendiği kadar kolay entegrasyonu gerçekleştiremiyoruz.
Benim sevimsiz tecrübem Axis ile implemente ettiğim web servisi sunucumun, gSoap ile implemente edilmiş istemciyle konuşamaması şeklinde oldu. Uzun süreli araştırmalar ve biraz da hile ile iki uygulamayı beraber işler hale getirebildik. Tabi ki içimize sinmeyen bir çözüm olmuştu yaptığımız.
(bkz: http://www.gridlab.org/WorkPackages/wp-5/guide/faults.html)
Peki yanlış olan neydi? Birimiz Türk diğerimiz Alman iken ve biz bile anlaşabiliyorken bu web servisleri neden beraber çalışamamıştı? gSoap‘un ürettiği web servisi tanımı (WSDL) yanlış mıydı? Yoksa hata Axis‘de miydi? Eğer nuSoap ya da XFire kullansaydık farklı problemlerle mi karşılacaktık?
Sonuçta iki projenin de “kendine göre” doğru implementasyonu gerçekleştirdiğini, ortaya çıkardıkları WSDL ve SOAP mesajlarının tamamen uygun XML şemalarını desteklediklerini, ama “şeklen” farklılıklar taşıdıklarını gördük. Namespace’lerin farklı algılanması ve işlenmesiydi bu farklılık. Sonuç ise gSoap’un hazırlayıp gönderdiği SOAP mesajının Axis’in kabul etmemesi olmuştu.
Bugünlerde kurumların kendi içlerindeki entegrasyon kadar aralarındaki entegrasyon da konuşulan konular arasında. Özellikle E-Devlet Kapısı çalışmalarıyla beraber bu tür entegrasyon, yalnızca kamu kuruluşları için değil, kamu kuruluşlarıyla bilgi paylaşan özel kurumlar için de ihtiyaç halini alıyor. Bu ihtiyacın literatürdeki adı İngiltere’de DIS BOX(Department Integrated Service Box) olarak konulmuş durumda. Kısaca kurumun sağladığı servisleri güvenli ve belirli sınırlar içinde sunabilmek (SLA), başka kurumların sağladığı servisleri de yine güvenli ve hızlı şekilde tüketebilmek için tasarlanmış yapılar bu DIS BOX’lar. Dayandıkları mimari de tabiki açık standartlar ve SOA.
Yukarıda anlatılanları birbirine bağlarsak kurumlar arası entegrasyonu bekleyen önemli sorunlardan bir tanesi “beraber çalışabilirlik/işlerlik”. Web servislerinin beraber işlerliği ile ilgili bir organizasyon da var üstelik. WS-I organizasyonu yaratılan web servislerinin gerçekten gevşek entegrasyonu sağlayabilmesi için sağlaması gereken standartları belirliyor. Bu standartları da güvenliği (WS-Security) ve güvenilirliği (WS-Reliability) işin içine sokan farklı profiller şeklinde ifade ediyor. Buna göre SOA’nızın içinde yer alan bir ürünün WS-I profillerini gerçekleyip gerçeklemediğini sorgulayıp, beraber işlerlik konusunda sıkıntı yaşama olasılığınızı görebiliyorsunuz.
WS-I SOA’ya uygun araçlar geliştiren kişiler/kurumlar için de test araçları ve örnek uygulamalar sunuyor.
Doğru SOA’yı gerçekleştirmek için atılacak adımlardan biri de beraber işlerliği sağlayabilmek. Çünkü, SOA birlikte çalışınca güzel.

