SOAP Hakkında Bilgi

SOAP üzerine yazılmış bilgilendirici yazıyı buradan paylaşmak istedim. Umarım SOAP nedir sorusuna cevap arayanlara faydalı olur.

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.

kaynak: evcil.net


Konular

Hanci.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor.
Hanci.org sitesini kullanarak çerez politikamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.