Apa perbedaan antara API web dan layanan web?

140

Apakah ada perbedaan antara API web dan layanan web ? Atau apakah mereka satu dan sama?

sansh
sumber
Lihat juga: API vs. Layanan Web [ditutup]
hippietrail
2
Lihat juga programmer. SE
hippietrail
3
API adalah antarmuka yang dipublikasikan, sedangkan layanan adalah implementasi yang berjalan di backend.
Rasika Perera
1
Harap baca jawaban dengan hati-hati. Beberapa di antaranya sudah ketinggalan zaman atau tidak valid
Menuka Ishan
hanya menambahkan satu penjelasan brilian lagi - quora.com/What-is-the-difference-between-web-services-and-API
Ashish Shetkar

Jawaban:

73

Layanan web biasanya menawarkan WSDL tempat Anda dapat membuat rintisan klien secara otomatis. Layanan Web didasarkan pada protokol SOAP . ASP.NET Web API adalah kerangka kerja Microsoft baru yang membantu Anda membangun antarmuka berbasis REST . Responsnya bisa berupa JSON atau XML, tetapi tidak ada cara untuk menghasilkan klien secara otomatis karena API Web tidak menawarkan deskripsi layanan seperti WSDL dari Layanan Web. Jadi itu tergantung pada kebutuhan Anda, teknik mana yang ingin Anda gunakan. Bahkan mungkin WCF lebih sesuai dengan kebutuhan Anda, lihat saja dokumentasi MSDN.

TMK
sumber
9
Layanan web TIDAK selalu didasarkan pada protokol SOAP.
horcrux
4
jawaban teknis yang ketinggalan jaman
Arun Raaj
5
"ASP.NET Web API" adalah kerangka kerja Microsoft, bukan "API Web" itu sendiri.
Arad
jawaban yang ketinggalan jaman, kunjungi tautan ini microsoft-techies.blogspot.com/2014/03/…
Ganesh Karewad
42

Perbedaan mendasar antara Layanan Web dan API Web

Layanan web:

1) Ini adalah layanan berbasis SOAP dan mengembalikan data sebagai XML.

2) Ini hanya mendukung protokol HTTP.

3) Ini bukan open source tetapi dapat digunakan oleh klien mana pun yang memahami XML.

5) Dibutuhkan protokol SOAP untuk menerima dan mengirim data melalui jaringan, jadi ini bukan arsitektur yang ringan.

API Web:

1) Web API adalah layanan berbasis HTTP dan mengembalikan data JSON atau XML secara default.

2) Mendukung protokol HTTP.

3) Dapat di-host dalam aplikasi atau IIS.

4) Ini adalah open source dan dapat digunakan oleh klien mana pun yang memahami JSON atau XML.

5) Memiliki arsitektur ringan dan bagus untuk perangkat yang memiliki bandwidth terbatas, seperti perangkat seluler.

Vaibhav Shiledar
sumber
8
Layanan web dapat dihosting di banyak tempat, tidak hanya IIS
Ignacio Soler Garcia
4
Praktis semua poin salah. Saya tidak mengerti bagaimana 40 pengguna bisa memilih.
horcrux
1
@horcrux Saya setuju. Layanan Web tidak memerlukan layanan berbasis SOAP.
Ryan Shillington
jawaban paling membingungkan yang pernah saya lihat.
mhrsalehi
24

API vs Layanan Web

Baru saja menempelkan ringkasan artikel yang ditautkan:

Ringkasan:

  1. Semua layanan Web adalah API, tetapi semua API bukan layanan Web.

  2. Layanan web mungkin tidak melakukan semua operasi yang akan dilakukan API.

  3. Layanan Web hanya menggunakan tiga gaya penggunaan: SOAP, REST, dan XML-RPC untuk komunikasi sedangkan API dapat menggunakan gaya apa pun untuk komunikasi.

  4. Layanan Web selalu membutuhkan jaringan untuk operasinya sedangkan API tidak membutuhkan jaringan untuk operasinya.

  5. API memfasilitasi antarmuka langsung dengan aplikasi sedangkan layanan Web adalah ...

Baca lebih lanjut: Perbedaan Antara API dan Layanan Web | Perbedaan Antara | API vs Layanan Web http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv

Lihat link di atas untuk jawaban lengkapnya.

Zia Ur Rahman
sumber
10
Tapi, pertanyaannya adalah tentang perbedaan antara WebAPI dan WebService, bukan "API"
Kulbhushan Singh
Lebih jauh, poin 3 tidak benar. Ini menyesatkan, dan hanya membantu membuat kebingungan tentang topik "SOAP vs. REST".
horcrux
10

untuk lebih jelasnya kunjungi tautan ini Diagram

Adiii
sumber
2
Mengapa? dari gambar ini tampaknya layanan web SOAP tidak dapat digunakan di smartphone ... atau bahkan di desktop? Betulkah? seseorang memaksa Anda untuk membaca JSON, bukan XML di platform tersebut?
AndreaCi
jika membaca xml bukan berarti layanan SOAP base REST juga mendukung Command Separated Value (CSV), JavaScript Object Notation (JSON) dan Really Simple Syndication (RSS).
Adiii
7

Layanan Web jika Anda inginkan adalah API Web. Secara khusus API Web biasanya berarti layanan web RESTful (berbasis HTTP) dan Layanan Web biasanya berarti SOAP + WSDL (+ HTTP atau SMTP atau JMS ..).

Biasanya layanan web RESTful berlawanan dengan Layanan Web (WSDL, SOAP) tetapi baru-baru ini istilah RESTful Web services (dengan huruf besar 'W') telah diperkenalkan yang berarti RESTful + WSDL + SOAP ..

Lihat bagan ini untuk mengetahui perbedaan di antara tiga konsep: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg

Semoga membantu!

Gabe
sumber
4

Layanan web benar-benar sama dengan API Web - hanya sedikit lebih terbatas dalam hal format data yang mendasarinya. Keduanya menggunakan protokol HTTP dan keduanya memungkinkan untuk membuat layanan RESTful. Dan jangan lupa untuk protokol lain seperti JSON-RPC - mungkin lebih cocok.

Vincent
sumber
1
Tidak "benar-benar sama" jika sekarang ada batasan, bukan?
Ojonugwa Jude Ochalifu
0

Dalam konteks ASP.Net, Web API adalah Controller yang kelas dasarnya adalah ApiController dan tidak menggunakan Views. Layanan Web adalah kelas yang diturunkan dari WebService dan memiliki generasi WSDL otomatis. Secara default ini adalah SOAP api, tetapi Anda juga dapat menggunakan JSON dengan menambahkan ScriptServiceAttribute .

jmoffatt.dll
sumber
0

API dan layanan Web berfungsi sebagai alat komunikasi.

Satu-satunya perbedaan adalah bahwa layanan Web memfasilitasi interaksi antara dua mesin melalui jaringan. API bertindak sebagai antarmuka antara dua aplikasi berbeda sehingga dapat saling berkomunikasi . API adalah metode yang digunakan vendor pihak ketiga untuk menulis program yang dengan mudah berinteraksi dengan program lain. Layanan Web dirancang untuk memiliki antarmuka yang digambarkan dalam format yang dapat diproses mesin yang biasanya ditentukan dalam Bahasa Deskripsi Layanan Web (WSDL)

Semua layanan Web adalah API, tetapi tidak semua API adalah layanan Web.

Layanan Web hanyalah API yang dibungkus dalam HTTP.


Ini disini artikel memberikan pengetahuan yang baik mengenai layanan web dan API.

KamalDeep
sumber
-2

Ya, TMK mungkin benar di dunia Microsoft, tetapi di dunia semua perangkat lunak termasuk Java / Python / dll, saya yakin tidak ada perbedaan. Mereka sama saja.

Ryan Shillington
sumber
-2

Perbedaan antara Layanan Web dan API Web dijelaskan dengan baik di sini:

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

Teks dari tautan:

Layanan Web - itulah standar yang ditentukan oleh W3C, sehingga dapat diakses secara semi-otomatis atau otomatis (WSDL / UDDI). Semuanya didasarkan pada XML, jadi siapa pun dapat menyebutnya. Dan setiap aspek layanan didefinisikan dengan sangat baik. Ada standar deskripsi parameter, standar kelulusan parameter, standar respon, standar penemuan, dll. Anda mungkin bisa menulis 2000 halaman buku yang menjelaskan standar tersebut. Bahkan ada beberapa standar "tambahan" untuk melakukan hal-hal "standar", seperti otentikasi.

Terlepas dari kenyataan bahwa pemanggilan dan penemuan otomatis hampir tidak berfungsi karena klien agak buruk, dan Anda tidak memiliki jaminan nyata bahwa layanan apa pun dapat dipanggil dari klien mana pun.

API Web biasanya dilakukan sebagai HTTP / REST, tidak ada yang ditentukan, keluaran dapat untuk misalnya. JSON / XML, masukan dapat berupa XML / JSON / atau data biasa. Tidak ada standar untuk apa pun => tidak ada panggilan dan penemuan otomatis. Anda dapat memberikan beberapa deskripsi dalam file teks atau PDF, Anda dapat mengembalikan data dalam Windows-1250 sebagai ganti unicode, dll. Untuk menjelaskan standar itu akan menjadi brosur 2 halaman dengan beberapa info sederhana dan Anda akan menentukan yang lainnya.

Web beralih ke Web API / REST. Layanan Web sebenarnya tidak lebih baik dari API Web. Sangat rumit untuk dikembangkan dan mereka memakan lebih banyak sumber daya (bandwidth dan RAM) ... dan karena semua konversi data (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) sangat lambat.

Misalnya. Di WebAPI Anda dapat mengemas data, mengirimkannya dikompresi dan un-compress + un-pack pada klien. Dalam SOAP Anda hanya dapat memampatkan permintaan HTML.

csh
sumber
-2

Semua Layanan Web adalah API tetapi semua API bukan Layanan Web, API yang diekspos di Web disebut layanan web.

Pavan T
sumber
Layanan Web adalah standar yang ditentukan oleh W3C, layanan terdokumentasi dengan baik untuk perangkat lunak pihak ketiga untuk berinteraksi melalui XML (WSDL / UDDI). API Web adalah API melalui HTTP, tidak terdokumentasi dengan baik, memiliki standarnya sendiri. Dan API secara umum adalah sesuatu yang dapat atau tidak dapat memiliki akses internet untuk berbicara dengan aplikasi lain dan dapat memiliki protokol lain juga misalnya API untuk panggilan sistem untuk berbicara dengan terminal / cmd Anda di OS.
Imam Bux
-3

Dua hal yang sangat mudah dipahami,

  1. API: Ini adalah lapisan pada aplikasi yang dapat melayani permintaan aplikasi lain secara lokal.
  2. Webs Service: Adalah API yang dapat melayani permintaan dan merespon melalui sistem jarak jauh jaringan melalui web atau internet.

Catatan: Semua Layanan Web adalah API tetapi tidak semua API adalah layanan web

Pavan T
sumber
Aktif secara lokal maupun di web
Pavan T