SOAP Nedir? Avantajları Nelerdir - I

XML Web servislerine temel oluşturan SOAP nesne aktarım protokolüne bir bakış.

Dağıtık, tek merkezli olmayan uygulamaların veya çeşitli noktalardaki nesnelerin, kendi barındıkları platformla aynı veya farklı platformlardaki nesnelerle aynı dili konuşması mevcut nesne iletişim arayüzlerinin (COM, CORBA, EJB gibi) kullandığı transfer protokollerinin gerek uygulamayla bağdaşmaması, yani kullanılan programlama diline veya işletim sistemine uyumsuzluğu, gerekse protokolun mevcut diğer protokollerle olan uyumsuzluğundan dolayı hep sorun teşkil etmiştir ve ortak standart bir protokole ulaşılamamıştır. Bu noktada SOAP devreye girerek, web servisleri ve dağıtık uygulamalar arasındaki iletişim karmaşasına bir son verip standartlaşmaya gitmeyi hedeflemektedir.

SOAP (Simple Object Access Protocol - Basit Nesne Erişim Protokolü), distributed (dağıtık) uygulamalarda ve web servislerinin haberleşmesinde kullanılmak üzere tasarlanan, RPC (Remote Procedure Call) modelini kullanan, istemci/sunucu mantığına dayalı bir protokoldür. Dağıtık uygulamalarda ve Remote messaging için yeni bir teknoloji olmasına karşılık, alt yapısı sayesinde web üzerinde kullanmak için en uygun protokol olması nedeniyle Web Servislerinin adı SOAP la birlikte anılır olmuştur.

SOAP''ın avantajlarını irdelemeden önce benzer protokoller, yapıları ve getirileri hakkında bilgi sahibi olmak, SOAP''ın avantajlarını daha iyi anlamak için uygun olacaktır. SOAP ile aynı kategori de sayılabilecek teknolojilerden en yaygın olarak bilinen ve kullanılanları DCOM, CORBA/IIOP ve Java EJB/RMI dır. Bunlardan kesmenin sol tarafında kalanlar, nesne iletişim teknolojileridir, sağ tarafındakiler ise kullandıkları iletişim protokolleri yani SOAP alternatifleridir.

COM+, Microsoft''un COM (Common Object Model - Ortak Nesne Modeli) teknolojisinin gelişmişi olan, farklı nesnelerin konuşabilmesi için ortak arayüz sağlayan bir teknolojidir. İçinde kullanıldığı programlama dilinden bağımsızdır ve teoride işletim sisteminden de bağımsızdır. Teoride dememin sebebi, COM''un değişik platformlarda çalışabilecek şekilde tasarlanmış olmasına rağmen, pratikteki kullanım alanının MS Windows işletim sistemleri dışına çıkmamış olmasıdır. COM objelerinin diğer işletim sistemleri altındaki nesnelerle iletişim kurabilen uyarlanmış versiyonu DCOM (Distributed COM) dur.

CORBA (Common Object Request Broker Architecture), yine dilden bağımsızdır ve platformlar arası iletişim için daha çok tercih edilir. İletişim protokolü olarak IIOP kullanır. Çeşitli üreticiler tarafından geliştirildiği için farklı sürümleri arasında uyumsuzluklar yaşanabilir.

Java EJB (Enterprise Java Beans) için dil bağımsızlığı bakımından durum farklıdır. EJB objeleri Java dilinde yazılmıştır ve yine sadece Java teknolojisine ait bir protokol olan RMI (Remote Method Invocation) kullanırlar.

Peki neden SOAP?
SOAP'ı benzeri protokollerden ayıran en belirgin ve üstün özelliği yapısının (daha doğru bir ifade ile mesaj formatının) XML üzerine kurulu olmasıdır. Dolayısıyla SOAP, XML in sağladığı esneklik, kolaylık ve platform bağımsızlığı özelliklerini içerir. XML''in bütün bilgisayar dünyası tarafından kabul görmüş sağlam bir standart olması ve uygulamalarda yaygın olarak kullanılmasından dolayı, text dosyası okuyup, XML işleyebilen bütün platform ve uygulamalar, kolaylıkla SOAP bilgisine de erişip işleyebilirler. SOAP mesaj formatı olarak XML, transfer protokolü olarakta HTTP kullanır. SOAP''a alternatif teknolojiler, kullanıldıkları mimariler aynı olsa bile, firewall tarafından aralarında haberleşecekleri portlardaki veri akışına izin verilmedikçe, firewalllar arkasında varlık gösteremezler. Diğerlerinin aksine SOAP, HTTP protokolünü kullandığı ve taşıdığı mesajlar düz yazı dosyası halinde olduğu icin firewall dostudur.

Bütün bu artılarının yanısıra, SOAP komple bir dağıtık ortam haberleşme yapısı olmadığı için taşınan bilginin güvenliği ayrı olarak değerlendirilmelidir. Hız bakımından SOAP zarfı (Mesajın içinde ne olduğu ve nasıl işlenmesi gerektiğini belirten kısım) alındığında gerekli objelerin oluşturulması için, SOAP zarfının açılması, XML''in işlenmesi ve parameterlerin dönüştürülmesi işlemleri zaman aldığından alternatiflerine görece yavaş kalabilir.

Sonuç olarak, SOAP, XML gibi sağlam, kolay kullanılabilir ve gelişmeye açık bir temele dayandığı için kısa zamanda alternatiflerinin yerini alarak iletişimde standartlaşmaya doğru atılan yeni bir adım olacaktır.

Not: .NET ortamında SOAP 1.1 tenolojisi yapıya dahil (built-in) olarak gelmektedir ve COM+/DCOM servis lerinin yerini COM+/SOAP almıştır.

, , ,

Arşivden

“SOAP Nedir? Avantajları Nelerdir - I” için şu yorumlar var:

  1. _____vb: []
    çok yararlı olmuş, soap'ın ne olduğunu anladım. siteye teşekkürler.
  2. celiker: []
    SOAP i oldukca iyi anlatmışsınız.

Yorum yazabilirsiniz


* [b], [i] ve [quote] serbest