تفاوت Web Service و Api چیست ؟
سلام دوستان لطفا بفرمایید تفاوت Api و Web Service چیست ؟ و کاربرد هر کدوم چی هست ؟
فرق بین 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 را شناسایی کنند.
- وب سرویس برای ارسال و دریافت اطلاعات از پروتکل SOAP استفاده می کند.
- api هم برای ارسال و دریافت اطلاعات از Http استفاده می کند.
- api به صورت Open Source می باشد و برای هر دستگاهی که Json و Xml را شناسایی کند قابل استفاده می باشد.
- api بسیار سبک می باشد و هیچ گونه بار اضافی روی پروژه شما قرار نمی دهد. چون صرفا یک لینک می باشد که وقتی صدا زده می شود اطلاعات را برای شما از سرور اصلی نمایش می دهد یا عملیات خاصی ( مانند ارسال پیامک) را انجام می دهد و برای دستگاههای سبک مانند موبایل بسیار مناسب می باشد. اما وب سرویس به صورت یک کلاس یا شی به پروژه شما اضافه می شود.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- ارسال ایمیل در Asp.net core
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ