Web Api چیست؟ بررسی و آشنایی با Web Api
Web Api چیست ؟ کلمه API یک واژه پر استفاده در دنیای توسعه سیستم های نرم افزاری میباشد. این واژه مخفف عبارت Application programming interface میباشد و همانطور که از معنی آن پیداست، اشاره به یک رابط یا واسط برای توسعه برنامه های کاربردی کامپیوتر دارد.
در واقع API در ابتدا به توابعی که در سطح سیستم عامل جهت نوشتن برنامه های کاربردی ارائه میشدند اشاره داشت. به این معنی که به طور مثال یک برنامه نویس برای کار با فایل ها نیازی به درگیری با مسائل سطح پایین نداشته باشد و بتواند با فراخوانی یک تابع مثلا فایلی را ایجاد یا حذف کند.
پیشنهاد شگفت انگیز کدفرند،دسترسی به تمامی دوره های آموزشی کدفرند تنها با ۹۹ هزار تومان
یکی از خواص API این است، استفاده کننده یک سرویس گیرنده فقط با یک رابط در خواست خود را (روی یک سیستم یا بین دو سیستم راه دور)ارسال و پاسخ را دریافت میکند و از نحوه پردازش آن بی اطلاع و بی نیاز است. به همین دلیل ما میتوانیم از یک API که روی linux به زبان C نوشته شده است در زبانی مانند Python استفاده کنیم. دوره جامع آموزش پایتون (کامل)
چهار جزء اصلی یک Api شامل
- سرویس دهنده : برنامه ای که در سمت سرویس دهنده نوشته میشود و میتواند درخواسته ها سرویس گیرنده را دریافت – پردازش و پاسخ دهد.
- سرویس گیرنده : برنامه ای که درخواستهای خود را از سرویس دهنده ارسال و پاسخ آن را دریافت میکند.
- پروتکل ارتباطی : پروتکلی که بین سرویس دهنده و سرویس گیرنده برای مبادله اطلاعات استفاده میشود.
- قالب پیام برای مبادله : فرمتی که پیامها بین سرویس دهنده و سرویس گیرنده تبادل میشود. مانند JSON, XML , متن و …
اما در سطح برنامه های کاربردی کلاینت/سرور یا سرویس های آنلاین و مخصوصا در دنیای وب API ها با حفظ ماهیت و خاصیت اصلی خود به شکل web service یا web api ها مورد استفاده قرار میگیرند. یعنی این بار قرار است که درسطح وب و با استفاده از پروتکلی مانند HTTP ارتباطات بین سرویس دهنده API و سرویس گیرنده API برقرار شود.
وب سرویس چیست و از چه زمانی مورد استفاده قرار گرفته است؟
در تعریف وب سایت tutirialspoint آمده است که وب سرویس ها شامل هر نرم افزار یا بخشی از نرم افزار میشوند که در سطح شبکه و یا اینترنت مورد دسترسی استفاده اشتراکی هستند. در واقع شما میتوانید یک ماژول یا یک کامپوننت نرم افزاری یا حداقل یک تابع برنامه نویسی شده را از راه دور مورد استفاده قرار دهید. این ایده در مباحث سیستم های توزیع شده جایگاه مطالعاتی بالایی دارد.
اگر این بستر راه دور، وب باشد, به آن وب سرویس گفته میشود که معمولا برای مبادله اطلاعات بین سرویس دهنده و سرویس گیرند در آن از XML که برای همین منظور توسط مایکروسافت ایجاد شد, استفاده میشود.
فرایند استفاده از Web Service به این شکل است که ابتدا سرویس گیرنده یک سرویس نرم افزاری راه دور را توسط ارسال پیام XML به اصطلاح Invoke میکند و منتظر پاسخ آن میماند.یک Web Service مجموعه ای از پروتکل ها و استانداردهای باز است که برای تبادل داده بین برنامه ها یا سیستم ها استفاده می شود.
برنامه های کاربردی نرم افزاری که به زبان های مختلف برنامه نویسی نوشته شده و روی سیستم عامل های مختلف اجرا شده اند، می توانند از بستر وب برای تبادل داده از طریق شبکه ای مانند اینترنت به روشی مشابه ارتباطات بین فرآیندی بر روی یک کامپیوتر واحد استفاده کنند. این قابلیت همکاری (به عنوان مثال ، بین جاوا و پایتون یا برنامه های Windows و Linux) به دلیل استفاده از استانداردهای باز است.
در واقع وب سرویس ها کار خود را با شروع ارائه مکانیزم RPC یا Remote Procedure Call در پردازش توزیع شده، به عنوان یک Framework ارتباطی در اوایل دهه ۱۹۹۰ میلادی آغاز کردند. معماری CORBA روی ماشین مجازی جاوا یکی از اولین استفاده های RPC میباشد. شرکت مایکرو سافت در اوایل دهه ۲۰۰۰ میلادی با ارائه تکنولوژی SOAP در ASP.net برای اولین بار به برنامه نویسان برنامه های کاربردی امکان استفاده ساده از وب سرویس ها را داد. در این تکنولوژی پیام های XML با تکنولوژی توصیف سرویس WSDL برای ارتباط بین کلاینت و سرور استفاده میشد.
پیشنهاد شگفت انگیز کدفرند،دسترسی به تمامی دوره های آموزشی کدفرند تنها با ۹۹ هزار تومان
استفاده از وب سرویسهای نوع SOAP مشکلاتی به همراه داشت. به همین دلیل وب سرویس های نوع REST یا Representional State Transfer ارئه شدند که بر اساس انتقال وضعیت فعلی آبجکتها مورد استفاده قرار گرفتند. وب سرویس هایی که بر پایه تمامی قوانین کار REST ایجاد میشوند را RESTful می نامند. این قوانین شامل موارد زیر است :
- – ارتباط باید از نوع stateless یا بدون وضعیت باشد. سرویس دهنده از وضعیت سرویس گیرنده اطلاع ندارد.
- – دسترسی به تمامی منابع روی سرور توسط آدرس URI انجام میشود
- – نباید از رمزنگاری تو کار استفاده شود
- – هیچ نشست پایداری بین سرویس دهنده و سرویس گیرنده یا کانال فعالی برقرار نمیشود
- – تنها پروتکل مورد استفاده، پروتکل HTTP است.
- – برای کار با سرور از متدهای POST-DELETE-GET-PUT استفاده میشود که به آن چها رعمل اصلی یا CRUD گفته میشود.
- – معمولا برای تبادل اطلاعات از فرمت JSON استفاده میشود.
وب سرویسهای RESTful به سرویس دهنده امکان دسترسی و دستکاری یک نمایش متنی از منابع وب را با استفاده از عملیات از پیش تعریف شده میدهند. این عملیات بر اساس متدهای پروتکل HTTP طراحی میشوند. به طور مثال شما میتوانید یک درخواست RESTful را با استفاده از متد POST یا GET به سرویس دهنده ارائه دهید و در پاسخ یک فایل یا یک متن و … را در فرمتی مشخص که معممولا JSON میباشد دریافت کنید. REST ساختاری ساده تر از SOAP دارد و امروزه بسیار مورد استفاده قرار میگیرد.
WepApi چیست؟
با روشن شدن مفهوم API که یک مفهوم کلی است و مفهموم Web Service که برای برقراری ارتباط برنامه های مختلف با یکدیگر در سطح وب استفاده میشوند میتوانیم نتیجه بگیریم که Web API ها به تمامی رابطها یا واسطهای نرم افزاری گفته میشود که در بستر وب برای ارتباط برنامه های سرویس دهنده و سرویس گیرنده استفاده میشوند. البته امروزه وقتی از Web API اسم میبریم بیشتر منظورمان وب سرویس هایی است که به روش RESTful نوشته شده اند.
4 دیدگاه
بسیار عالی
باتشکر – خیلی عالی بود – برای من که تازه این کار رو شروع کردم و اطلاعاتی در این زمینه نداشتم خیلی خوب بود و استفاده کردم.
با گوگل ترنسلیت ترجمه کردی؟
برای نوشتن یه مقاله حوزه فن آوری بخشی از اطلاعات شخص با تحقیق و نگاه به منابع اینترنتی و احیانا در صورت نیاز ترجمه اون منابع (حالا با ترنسلیت یا توان شخصی) مورد نیاز هست. مخصوصا تعاریف سیستم ها رو باید دقیقا از منابع سازندش رفرنس بگیری تا دقیق تر باشه. شما هم هر وقت خواستی مقاله یا بلاگی درباره فن آوری بنویسی این کار رو خواهی کرد.