it-swarm-id.com

Perbedaan antara API Web dan Layanan Web?

Saya telah mendengar banyak tentang Layanan Web dan API Web, apakah ada perbedaan di antara mereka atau mereka sama?

86
Harish Kurup

Layanan Web - itu standar yang ditentukan oleh W3C, sehingga mereka dapat diakses secara semi-otomatis atau otomatis (WSDL/UDDI). Semuanya didasarkan pada XML, jadi siapa pun bisa menyebutnya. Dan setiap aspek layanan didefinisikan dengan sangat baik. Ada standar deskripsi parameter, standar kelulusan parameter, standar respons, standar penemuan, dll. Anda mungkin bisa menulis buku 2000 halaman yang akan menggambarkan standar. 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 miskin, 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 didefinisikan, output bisa untuk misalnya. JSON/XML, input 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 di Windows-1250 alih-alih unicode, dll. Untuk mendeskripsikan standar, brosur 2 halaman dengan beberapa info sederhana dan Anda akan menentukan yang lainnya.

Web beralih ke API/REST Web. Layanan Web benar-benar 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, mengirimnya terkompresi dan un-kompres + un-pack pada klien. Dalam SOAP Anda hanya bisa mengompresi permintaan HTML.

89
Slawek

Layanan web memungkinkan komunikasi antar mesin ke HTTP. API web adalah himpunan bagian dari layanan web yang menggunakan konvensi REST (Meringkas artikel Wikipedia ). Konsepnya jelas tumpang tindih. Saya percaya bahwa masih ada tautan di pikiran kebanyakan orang tentang layanan web -> SOAP/XML-RPC yang dapat membingungkan berbagai hal.

Pada akhirnya, Anda harus mengajukan beberapa pertanyaan untuk mengklarifikasi apa yang dimaksud orang. Tidak semua orang membuat perbedaan atau menggunakan istilah secara bergantian.

20
Berin Loritsch

Layanan web adalah arsitektur yang didefinisikan dan pendekatan ke domain masalah seperti yang dinyatakan oleh W3C .

Layanan Web menyediakan sarana standar untuk beroperasi di antara berbagai aplikasi perangkat lunak, berjalan pada berbagai platform dan/atau kerangka kerja

Web API adalah sebuah konsep dan abstrak cara tentang bagaimana konsep tersebut diimplementasikan.

Dalam istilah awam ... API web adalah ke motor sedangkan WS adalah untuk BMW N5 .

6
Aaron McIver