SOAP vs REST (farklılıklar) | Netgez.com
SORU
9 Kasım 2013, CUMARTESİ


SOAP vs REST (farklılıklar)

Web hizmeti bir iletişim protokolü olarak, SOAP ve REST arasındaki farklar hakkında yazılar okudum, ama SABUN üzerinde DİNLENMEK için büyük bir avantaj olduğunu düşünüyorum

  1. Diğerleri daha dinamik ve UDDI oluşturma ve güncelleme gerek.

  2. DİNLENME XML biçimi ile sınırlı değildir. DİNLENME hizmetleri gönderebilir web düz metin, JSON ve XML de.

Ama SABUN daha standart (; güvenlik Ex).

Bu noktaları doğru muyum?

CEVAP
10 Kasım 2013, Pazar


Ne yazık ki, yerlerine de yanlış bilgilendirme ve yanlış anlamaları bir yeri vardır. Soru ve answer by @cmd sadece Yığın Taşması bu, ama soruları ve cevapları bu konu ile ilgili en yansıtmaktadır.

SOAP ve REST ilk bir protokol olduğundan, doğrudan mukayese edilebilir mi (ya da en azından olmaya çalışır) ve ikinci bir mimari tarzı. Bu insanlar SABUN olmayan herhangi bir HTTP API DİNLENME arama eğilimindedir beri, muhtemelen etrafında karışıklık kaynaklarından biri.

İşler biraz bastırıyor ve bir karşılaştırma yapmaya, SABUN ve DİNLENME arasındaki temel fark, istemci ve sunucu uygulamaları arasında bağlantı derecesidir. SOAP client özel masaüstü uygulaması gibi, sıkıca server bağlı çalışıyor. İstemci ve sunucu arasında sert bir sözleşmesi var ve eğer her iki tarafında bir değişiklik olursa kırması bekleniyor. Herhangi bir değişiklik, aşağıdaki sürekli güncellemeleri gerekir.

GERİSİ bir istemci tarayıcısı gibi. Bir protokol ve standart yöntemler kullanmayı bilen genel bir istemci ve bir uygulama içine sığacak. Ekstra yöntem, standart yöntem üzerinde kaldıraç yaratarak protokol standartları ihlal ve medya türüne onlarla eylemleri yaratamazsın. Eğer doğru yapılırsa, daha az kavrama vardır, ve değişiklikleri daha düzgün bir şekilde ele olabilir. Bir istemci bir REST API sıfır bilgi ile hizmeti, giriş noktası ve medya tipi için girmesi gerekiyordu. SOAP istemci kullanarak olacak her şey hakkında bir ön bilgi gerekiyor, hatta etkileşim başlamak olmaz. Ayrıca, DİNLENME bir istemci-kod-talep sunucusu tarafından sağlanan kendisi olan klasik örnek javascript kodu istemci tarafı başka bir hizmet ile etkileşim sürücü için kullanılan genişletilebilir.

Bu ne hakkında olduğunu ve SABUN nasıl farklı olduğunu anlamak için çok önemli noktalar olduğunu düşünüyorum:

  • DİNLENME protokol bağımsızdır. HTTP baÄŸlı deÄŸil. Bir web sitesinde bir ftp linki takip edebilirsiniz gibi oldukça fazla, GERİSİ bir uygulama için standart bir URİ düzeni vardır herhangi bir iletiÅŸim kuralı kullanabilirsiniz.

  • DİNLENME eÅŸleme HTTP yöntemleri için CRUD. Bu konuda ayrıntılı bir açıklama için this cevap okuyun.

  • DİNLENME kullandığınız parçaları gibi standart. HTTP güvenlik ve Kimlik DoÄŸrulama standart, HTTP üzerinden DİNLENME yaparken kullanın.

  • DİNLENME HATEOAS olmadan huzur içinde deÄŸil. Bu bir istemci tek giriÅŸ noktası URI bilir ve kaynakları müşteri takip etmeli baÄŸlantıları geri döneceÄŸi anlamına gelir. Huzur içinde yapabileceÄŸiniz her ÅŸey için URİ desen ver, ÅŸu süslü belgelerine jeneratörler noktası tamamen Bayan API. Sadece belgeleyen bir ÅŸey olması gerekiyordu aÅŸağıdaki standart, ama ne zaman sen yapmak, sen kaplin istemciye belirli bir anda evrim API ve herhangi bir deÄŸiÅŸiklik üzerinde API olması belgelenmiÅŸ ve uygulamalı ya da kıracak.

  • DiÄŸer web kendisi mimari tarzıdır. Yığın TaÅŸması girdiÄŸinizde, bir Soru ve bir Cevap, medya türleri bildiklerini ve web baÄŸlantıları saÄŸlar. REST API aynı ÅŸeyi vardır. EÄŸer biz tasarlanmış bir web yolu insanlar DİNLENME yapılmalı, yerine sahip bir ana sayfa ile baÄŸlantıları Sorular ve Cevaplar, olursak, bu bir statik belgeler açıklayan ekonomik görünüm bir soru, almak zorunda URI stackoverflow.com/questions/<id> yerine kimliÄŸi olan Soru.tarayıcınız üzerinde kimliÄŸi ve yapıştır. Bu saçmalık, ama birçok insan DİNLENME olduÄŸunu düşünüyorum.

Bu son nokta yeterince vurguladı olamaz. Eğer müşterileriniz belgelerinde şablonlardan URI yapı ve kaynak gösterimi bağlantıları almıyorsanız, o DİNLENME değil. Roy Fielding, DİNLENME yazarın, bu blog yazısı bunu açıkça belirtti: REST APIs must be hypertext-driven.

Akılda yukarıdaki ile, REST, XML sınırlı olmayabilir, doğru herhangi bir diğer biçimi ile süre ve bağlantılar için bazı biçim tasarım standardize etmek zorundasın olduğunu fark edeceksiniz. Köprüler, XML, JSON, ama değil standart. HAL gibi JSON için taslak standartlar vardır.

Son olarak, geri KALAN herkes için değil, ve bunun bir kanıtı çoğu insan onların sorunlarını çok iyi DİNLEN diyorlar HTTP API ile çözmek ve asla bunun ötesinde girişim. GERİSİ zor bazen, özellikle başlangıçta yapmak ama sunucu tarafında daha kolay evrim ile zamanla öder, ve değişiklikler için müşterinin direncini. Eğer bir şey hızlı ve kolay bir şekilde yapılması gerekir, değil mi dinleniyor merak etme. Aradığınız şey muhtemelen değil. Eğer yıllar, hatta on yıllar için çevrimiçi kalmak zorunda olacak bir şey gerekiyorsa, o zaman GERİSİ sana kalmış.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • hans peder sahl

    hans peder s

    22 Temmuz 2009
  • MkElite

    MkElite

    13 NİSAN 2012