Web API چیست؟
Web API همانطور که از نامش مشخص است یک API است که می تواند با استفاده از پروتکل HTTP قابل دسترسی باشد. این یک مفهوم است نه فناوری!
اجازه دهید قبل از اینکه Web API را معرفی کنیم، ببینیم API چیست.
API مخفف کلمه Application Programming Interface است. یک API رابط پیاده سازی توسط نرم افزار است که به دیگر برنامه ها اجازه می دهد با آن ارتباط داشته باشند. API شامل مجموعه ای از تعاریف، پروتکل ها و ابزارهای نرم افزاری برای ساخت نرم افزار و برنامه های کاربردی است.
Web API چیست؟
Web API همانطور که از نامش مشخص است یک API است که می تواند با استفاده از پروتکل HTTP قابل دسترسی باشد. این یک مفهوم است نه فناوری!
ما می توانیم Web API را با استفاده از فناوری های مختلف مانند جاوا، دات نت و ... ایجاد کنیم.
بعنوان مثال Twitter’s Reset APIS (APIهای RESET توییتر) دسترسی برنامه ای به خواندن و نوشتن داده ها را فراهم می کند که با استفاده از آن می توانیم قابلیت های توییتر را به برنامه های خود منتقل کنیم.
ASP.NET WEB API چیست؟
یک چارچوب گسترده برای ساخت سرویس های مبتنی بر HTTP است که می تواند در سیستم عامل های مختلف مانند وب، ویندوز، موبایل و ... قابل دسترسی باشد. این کار بیشتر یا کمتر همانند برنامه ASP.NET MVC WEB است.
مشخصات ASP.NET WEB API
- ASP.NET WEB API یک پلتفرم ایده آل برای ایجاد خدمات RESTful است.
- ASP.NET WEB API بعد از ASP.NET ساخته شده است و همچنین ارتباطات درخواست/پاسخ ASP.NET را نیز پشتیبانی می کند.
- ASP.NET WEB API نقشه های فعلی HTTP را با نام متدها معرفی می کند.
- ASP.NET WEB API از فرمت های مختلفی پشتیبانی می کند که خود از فرمت های JSON, XML, BSON ساخته شده است.
- ASP.NET WEB API می تواند در IIS میزبان باشد.
چارچوب ASP.NET WEB API شامل HttpClient جدید برای برقراری ارتباط با WEB API SERVER است. HttpClient را میتوان در قسمت سرور ASP.NET MVC، برنامه های فرم ویندوز، برنامه های کنسول و یا سایر برنامه ها استفاده کرد.
نسخه های ASP.NET WEB API
تفاوت ASP.NET WEB API و WCF
WEB API
- Open Source (منبع باز) و سازگار با .NET Framwork
- پشتیبانی از پروتکل HTTP (فقط پروتکل HTTP)
- معرفی نقشه های فعلی HTTP با متد
- قابل استفاده بعنوان مسیریاب و کنترلگر (همانند MVC)
- امنیت کم (پشتیبانی نکردن از پیام رسانی و معامله های قابل اعتماد )
- پیکربندی WEB API با استفاده از کلاس HttpConfiguration
- ایده آل برای ایجاد سرویس های RESTful
WCF
- سازگار با .NET Framwork
- پشتیبانی از پروتکل های HTTP, TCP, UDP
- مدل برنامه نویسی مبتنی بر صفت
- قابل استفاده برای عملیات ها، خدمات و داده ها
- پشتیبانی از پیام رسانی و معامله های قابل اعتماد
- پیکربندی WCF با استفاده از web.config
- پشتیبانی از سرویس های RESTful اما با محدودیت
این مطلب را نیز حتماً مطالعه کنید: تفاوت بین WPF و WCF
چه موقع از WCF استفاده کنیم؟
- اگر از .NET Framwork 3.5 استفاده می کنید WCF را انتخاب کنید. WEB API از .NET 3.5 پشتیبانی نمی کند.
- اگر سرویس شما نیاز به پشتیبانی از چندین پروتکل مانند TCP, HTTP, NAMED PIPE دارد از WCF استفاده کنید.
- اگر می خواهید خدماتی با استانداردهای WS-* مانند پیام های قابل اطمینان، معادلات و امنیت پیام ها را ایجاد کنید WCF گزینه مناسبی است.
- همچنین اگر می خواهید از ارتباطات One Way (یکطرفه)، Request-Reply (درخواست-پاسخ)، Duplex (دوگانه) استفاده کنید، WCF را انتخاب کنید.
چه موقع از ASP.NET WEB API استفاده کنیم؟
- اگر از4.0 .NET Framwork یا بالاتر استفاده می کنید، WEB API مناسب این کار است.
- برای ساخت یک سرویس که فقط پروتکل HTTP را پشتیبانی می کند WEB API را انتخاب کنید.
- برای ایجاد سرویس RESTful گزینه مناسب WEB API است.
- و در آخراگر با asp.net mvc آشنا هستید WEB API را انتخاب کنید.
مقاله بعد را با ایجاد یک پروژه ASP.NET Web API ساده با استفاده از ویژوال استودیو شروع می کنیم. (برای مراجعه به این مقاله اینجا کلیک کنید)
امیدواریم از مقاله بالا لذت کافی را برده باشید
مجموعه ABLY