دسته بندی ها
18:46 1400/09/02

تفاوت Web Service و Api چیست ؟

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : سی شارپ Asp.net Mvc

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4216
پاسخ دهنده : hamid_b 23:37 1400/09/04

فرق بین api و وب سرویس چیست ؟

در ابتدا باید بدونید api و وب سرویس هر دو برای برقراری ارتباط بین دستگاههای مختلف استفاده می شود.

api : این کلمه مخفف Application Programming Interface می باشد. از طریق api شما می توانید بین دو اپلیکیشن متفاوت ارتباط برقرار کنید. به طور خیلی ساده اگه بخوام بگم فرض کنید می خواید یه سری اطلاعات رو از سرور دریافت کنید و در اپلیکیشن موبایل که اندروید، IOS و یا ویندوز هست نمایش بدید. خب در اینجا از یک api استفاده میشه. در api بین همه دستگاه های مختلف می تونید ارتباط برقرار کنید.

web service : در وب سرویس شما می تونید ارتباط بین 2 کامپیوتر رو برقرار کنید. به عنوان مثال فرض کنید شما میخواید از طریق یک پنل SMS برای مشتریان خودتون پیامک ارسال کنید و سیستم شما هم ویندوزی باشه. در اینجا میتونید یک Web Service به پروژه اضافه کنید و از اون استفاده کنید. (البته امروزه اکثر پنل های پیامکی api هم دارن چون ساده تر هست و برای همه پلت فرم ها قابل استفاده است.)

 

نکات مهم در مورد api و web service

برای درک بهتر api و web service برخی از تفاوت های اونها رو براتون شرح میدم.

  • api و web service هر دو یک link هستن. یعنی شما وقتی میخواید از یک api و یا وب سرویس استفاده کنید در واقع یک link خواهید داشت.
  • مهم ترین تفاوت api و web service در خروجی هست. خروجی یک api معمولا json و Xml هست. فرمت json هم در همه دستگاهها مانند موبایل، کامپیوتر و ... قابل شناسایی و معتبر هست. به همین خاطر گستره استفاده از api بزرگتر هست. اما یک وب سرویس یک کامپوننت (شی) را به پروژه شما اضافه می کند(در واقع خروجی وب سرویس فقط XML می باشد) که شامل تعدادی تابع و متد می باشد. به تصویر زیر دقت کنید. (برای افزودن یک وب سرویس در ویژوال استودیو کافیست روی نام پروژه کلیک راست کرده و گزینه Add و Service Refference را بزنید)

 

آموزش افزودن وب سرویس به پروژه در ویژوال استودیو

در تصویر بالا یک وب سرویس را فراخوانی کرده ایم. همانطور که ملاحظه می کنید وب سرویس یک لینک می باشد که با صدا زدن آن لیست توابع و متدهای آن نمایش داده می شود. بعد از افزودن وب سرویس به پروژه برای استفاده از آن کافیست مانند یک کلاس آن را صدا بزنید :

ServiceReference1.SendReceive ws = new ServiceReference1.SendReceive();
  • خب در مورد قبل ملاحظه کردید که خروجی یک وب سرویس لیستی از توابع و متدها می باشد. یک وب سرویس شامل چندین متد و وب سرویس می باشد که کارهای مختلفی را انجام میدهند. اما یک api یک لینک است که فقط یک کار مشخص را انجام می دهد.
  • وب سرویس خود نوعی api می باشد که همیشه اطلاعات را بر اساس Http ارسال و دریافت می کند.
  • تکنولوژی Web Api از Web Service جدیدتر می باشد.
  • وب سرویس Open Source نمی باشد و در دستگاههای قابل استفاده و شناسایی می باشد که xml را شناسایی کنند.

تفاوت بین وب سرویس و api

  • وب سرویس برای ارسال و دریافت اطلاعات از پروتکل SOAP استفاده می کند.
  • api هم برای ارسال و دریافت اطلاعات از Http استفاده می کند.
  • api به صورت Open Source می باشد و برای هر دستگاهی که Json و Xml را شناسایی کند قابل استفاده می باشد.
  • api بسیار سبک می باشد و هیچ گونه بار اضافی روی پروژه شما قرار نمی دهد. چون صرفا یک لینک می باشد که وقتی صدا زده می شود اطلاعات را برای شما از سرور اصلی نمایش می دهد یا عملیات خاصی ( مانند ارسال پیامک) را انجام می دهد و برای دستگاههای سبک مانند موبایل بسیار مناسب می باشد. اما وب سرویس به صورت یک کلاس یا شی به پروژه شما اضافه می شود.

 

به این پاسخ امتیاز بدهید    3
امتیاز: 513 رتبه: 4
1 نظر
alirezam7 : همه نظراتی که جناب آقای حمید ذکر کردن درباره تفاوت بین api , web service درسته فقط اینکه از web service برای پروژه های انروید و غیره هم میشه استفاده کرد..

امتیاز کاربر : 0   رتبه کاربر : 7021   تاریخ ثبت : 10:19 1400/11/06
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود