Web API'sı ile web hizmeti arasındaki fark nedir?


136

Web API'sı ile web hizmeti arasında herhangi bir fark var mı ? Yoksa aynı mı?


Ayrıca bakınız: API ve Web
Hizmeti

2
Ayrıca bkz. Programcılar.SE: Web API ve Web Hizmeti arasındaki fark?
hippietrail

3
Bir API yayınlanan arayüz, hizmet arka uçta çalışan uygulamadır.
Rasika Perera

1
Lütfen cevapları dikkatle okuyun. Bazıları ya eski ya da geçersiz
Menuka Ishan

Yanıtlar:


71

Bir web hizmeti genellikle istemci saplamalarını otomatik olarak oluşturabileceğiniz bir WSDL sunar . Web Servisleri SOAP protokolünü temel alır . ASP.NET Web API, REST tabanlı arabirimler oluşturmanıza yardımcı olan daha yeni bir Microsoft çerçevesidir . Yanıt JSON veya XML olabilir, ancak Web API'si Web Hizmetlerinden WSDL gibi bir hizmet açıklaması sunmadığından, istemcileri otomatik olarak oluşturmanın bir yolu yoktur. Bu yüzden hangi tekniklerden birini kullanmak istediğinize bağlıdır. Belki de WCF bile ihtiyaçlarınızı daha iyi karşılar, sadece MSDN belgelerine bakın.


7
Web servisleri mutlaka SOAP protokolüne dayalı DEĞİLDİR.
horcrux

3
teknik olarak modası geçmiş cevap
Arun Raaj

4
"ASP.NET Web API", "Web API" nin kendisi değil bir Microsoft çerçevesidir.
Amir Hossein Ahmadi

modası geçmiş cevap, bu bağlantıyı ziyaret edin microsoft-techies.blogspot.com/2014/03/…
Ganesh Karewad

41

Web Hizmetleri ve Web API'leri arasındaki temel fark

İnternet servisi:

1) SOAP tabanlı bir hizmettir ve verileri XML olarak döndürür.

2) Yalnızca HTTP protokolünü destekler.

3) Açık kaynak değildir, ancak XML'i anlayan herhangi bir istemci tarafından kullanılabilir.

5) Ağ üzerinden veri almak ve göndermek için bir SOAP protokolü gerektirir, bu nedenle hafif bir mimari değildir.

Web API'sı:

1) Web API, HTTP tabanlı bir hizmettir ve varsayılan olarak JSON veya XML verilerini döndürür.

2) HTTP protokolünü destekler.

3) Bir uygulama veya IIS içinde barındırılabilir.

4) Açık kaynak kodludur ve JSON veya XML'i anlayan herhangi bir istemci tarafından kullanılabilir.

5) Hafif mimariye sahiptir ve mobil cihazlar gibi sınırlı bant genişliğine sahip cihazlar için iyidir.


7
Bir web hizmeti yalnızca IIS'de değil, birçok yerde barındırılabilir
Ignacio Soler Garcia

3
Pratik olarak tüm noktalar yanlış. 40 kullanıcının nasıl oy kullanabileceğini anlayamıyorum.
horcrux

1
@horcrux katılıyorum. Web Hizmeti, SOAP tabanlı bir hizmet gerektirmez.
Ryan Shillington

şimdiye kadar gördüğüm en kafa karıştırıcı cevap.
mhrsalehi

23

API ve Web Hizmeti

Bağlantılı makalenin özetini yapıştırdım:

Özet:

  1. Tüm Web hizmetleri API'lardır, ancak tüm API'lar Web hizmetleri değildir.

  2. Web hizmetleri, bir API'nın gerçekleştireceği tüm işlemleri gerçekleştirmeyebilir.

  3. Bir Web hizmeti yalnızca üç kullanım stili kullanır: iletişim için SOAP, REST ve XML-RPC, API iletişim için herhangi bir stil kullanabilir.

  4. Bir Web hizmetinin çalışması için her zaman bir ağa ihtiyacı varken, API'nin çalışması için bir ağa ihtiyacı yoktur.

  5. Bir API, bir uygulama ile doğrudan arabirim oluşturmayı kolaylaştırırken, bir Web hizmeti ...

Devamını oku: API ve Web Hizmeti Arasındaki Fark | Arasındaki Fark | API ve Web Hizmeti http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv

Tam yanıt için yukarıdaki bağlantıya bakın.


10
Ancak, soru "API" değil, WebAPI ve WebService arasındaki fark hakkında
Kulbhushan Singh

Ayrıca, nokta 3 doğru değildir. Yanıltıcıdır ve sadece "SOAP vs. REST" konusunda karışıklık yaratmaya yardımcı olur.
horcrux

9

daha fazla ayrıntı için bu bağlantıyı ziyaret edin Diyagram


2
neden? Bu görüntüden SOAP web hizmetleri akıllı telefonlarda, hatta masaüstlerinde kullanılamayacak gibi görünüyor? Gerçekten mi? birisi bu platformlarda XML yerine JSON okumaya zorluyor?
AndreaCi

xml okunması SOAP temel hizmeti REST'in Komut Ayrılmış Değer (CSV), JavaScript Nesne Gösterimi (JSON) ve Gerçekten Basit Sendikasyon'u (RSS) desteklediği anlamına gelmez.
Adiii

7

İsterseniz bir Web Hizmeti bir Web API'sıdır. Özellikle Web API genellikle RESTful (HTTP tabanlı) web hizmeti ve Web Service genellikle SOAP + WSDL (+ HTTP veya SMTP veya JMS ..) anlamına gelir.

Tipik olarak RESTful web hizmetleri Web Servislerine (WSDL, SOAP) karşıdır, ancak son zamanlarda RESTful + WSDL + SOAP anlamına gelen RESTful Web hizmetleri ('W' ile büyük harf) terimi getirilmiştir.

Üç kavram arasındaki farklar için bu tabloya göz atın: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg

Umarım yardımcı olur!


4

Web hizmeti kesinlikle Web API ile aynıdır - temeldeki veri biçimi açısından biraz daha kısıtlıdır. Her ikisi de HTTP protokolünü kullanır ve her ikisi de RESTful hizmetleri oluşturmaya izin verir. Ve JSON-RPC gibi diğer protokolleri de unutmayın - belki daha iyi uyuyorlar.


1
Şimdi kısıtlamalar varsa "kesinlikle aynı" değil mi?
Ojonugwa Jude Ochalifu


0

API ve Web hizmeti bir iletişim aracı olarak hizmet eder.

Tek fark, bir Web hizmetinin bir ağ üzerinden iki makine arasındaki etkileşimi kolaylaştırmasıdır. Bir API, birbirleriyle iletişim kurabilmeleri için iki farklı uygulama arasında bir arayüz görevi görür . API, üçüncü taraf satıcıların diğer programlarla kolayca arabirim oluşturan programlar yazabildikleri bir yöntemdir. Web hizmeti, genellikle Web Hizmeti Açıklama Dili'nde (WSDL) belirtilen, makine tarafından işlenebilir biçimde tasvir edilen bir arabirime sahip olacak şekilde tasarlanmıştır.

Tüm Web hizmetleri API'lardır, ancak tüm API'lar Web hizmetleri değildir.

Web hizmeti yalnızca HTTP'ye sarılmış bir API'dir.


Bu burada makale web hizmeti ve API ile ilgili iyi bir bilgi sağlar.


-2

TMK, Microsoft dünyasında doğru olabilir, ancak Java / Python / vb. Dahil olmak üzere tüm yazılımların dünyasında, hiçbir fark olmadığını düşünüyorum. Aynı şey.


-2

Web Hizmeti ve Web API'si arasındaki fark burada güzel açıklanmıştır:

/software/38691/difference-between-web-api-and-web-service

Bağlantıdan metin:

Web Servisleri - bu standart W3C tarafından tanımlanır, bu nedenle yarı otomatik veya otomatik olarak erişilebilir (WSDL / UDDI). Her şey XML tabanlıdır, böylece herkes bunu çağırabilir. Ve hizmetin her yönü çok iyi tanımlanmış. Parametreler açıklama standardı, parametre geçiş standardı, yanıt standardı, keşif standardı vb. Vardır. Muhtemelen standardı tanımlayan 2000 sayfalık bir kitap yazabilirsiniz. Kimlik doğrulama gibi "standart" şeyler yapmak için bazı "ek" standartlar bile vardır.

Müşteriler oldukça fakir olduğu için otomatik çağırma ve keşif neredeyse hiç çalışmıyor olsa da, herhangi bir istemciden herhangi bir hizmetin çağrılabileceğine dair gerçek bir garantiniz yoktur.

Web API genellikle HTTP / REST olarak yapılır, hiçbir şey tanımlanmaz, örneğin çıktı alınabilir. JSON / XML, girdi XML / JSON / veya düz veri olabilir. Hiçbir şey için standart yok => otomatik arama ve keşif yok. Metin dosyasında veya PDF'de bazı açıklamalar sağlayabilir, verileri unicode yerine Windows-1250'de döndürebilirsiniz.

Web, Web API / REST'e geçiyor. Web Hizmetleri gerçekten Web API'sinden daha iyi değildir. Geliştirilmesi çok karmaşık ve çok daha fazla kaynak yiyorlar (bant genişliği ve RAM) ... ve tüm veri dönüşümleri nedeniyle (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) yavaş.

Örneğin. WebAPI'de verileri paketleyebilir, sıkıştırılmış olarak gönderebilir ve istemcide sıkıştırmayı kaldırabilirsiniz. SOAP'ta yalnızca HTML isteğini sıkıştırabilirsiniz.


-2

Tüm WebServices API'dir, ancak tüm API WebServices değildir, Web'de gösterilen API'ya web hizmetleri denir.


Web Hizmeti, 3. taraf yazılımların XML (WSDL / UDDI) ile etkileşime girmesi için iyi belgelenmiş bir hizmet olan W3C tarafından tanımlanan standarttır. Web API, HTTP üzerinden API'dir, iyi belgelenmemiştir, kendi standardına sahiptir. Ve genel olarak API, diğer uygulamalarla konuşmak için internet erişimine sahip olabilen veya edemeyen ve diğer protokollere de sahip olabilen bir şeydir, örn. OS'de terminalinizi / cmd'nizi konuşmak için sistem çağrıları için API.
İmam Bux

-3

İki şeyi anlamak çok basit,

  1. API: Diğer uygulama isteklerini yerel olarak sunabilecek bir uygulama katmanıdır.
  2. Webs Hizmeti: Web veya internet üzerinden ağ formu uzak sistemi üzerinden istek ve yanıt verebilen bir API'dir.

Not: Tüm Web Servisleri API'dir, ancak tüm API'ler web servisleridir


Yerel olarak olduğu kadar web üzerinden de
Pavan T
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.