رابط برنامه نویسی برنامه کاربردی شبکه (APIs)

یک رابط برنامه نویسی برنامه (API) به برنامه نویسان کامپیوتر اجازه می دهد تا از قابلیت های ماژول های نرم افزار منتشر شده و خدمات دسترسی داشته باشند. یک API ساختار داده ها و فراخوان های زیر فرعی را تعریف می کند که می تواند برای گسترش برنامه های موجود با ویژگی های جدید و ایجاد برنامه های کاملا جدید بر روی اجزای دیگر نرم افزار استفاده شود. برخی از این API ها به طور خاص برنامه نویسی شبکه را پشتیبانی می کنند .

برنامه نویسی شبکه یک نوع توسعه نرم افزاری برای برنامه های کاربردی است که از طریق شبکه های کامپیوتری از جمله اینترنت متصل و ارتباط برقرار می کنند. API های شبکه نقطه ورود به پروتکل ها و کتابخانه های نرم افزاری مجدد را فراهم می کنند. API های شبکه از مرورگرهای وب، پایگاه های داده وب و بسیاری از برنامه های موبایل پشتیبانی می کند. آنها به طور گسترده در بسیاری از زبان های برنامه نویسی مختلف و سیستم عامل پشتیبانی می شوند.

برنامه نویسی سوکت

برنامه نویسی شبکه سنتی از مدل مشتری-سرور پیروی می کند . API های اولیه استفاده شده برای شبکه های سرویس گیرنده-سرویس دهنده در کتابخانه های سوکت ساخته شده به سیستم عامل اجرا شده است. سوکت های برکلی و رابط های ویندوز (Winsock) دو سال استاندارد برای برنامه نویسی سوکت بود.

تماسهای راه دور

API های RPC گسترش تکنیک های برنامه نویسی پایه شبکه را با اضافه کردن قابلیت برنامه ها برای فراخوانی توابع در دستگاه های راه دور به جای ارسال پیام به آنها گسترش می دهند. با انفجار رشد در وب جهانی (WWW) ، XML-RPC به عنوان یک مکانیزم محبوب برای RPC ظاهر شد.

پروتکل ساده دسترسی به شی (SOAP)

SOAP در اواخر دهه 1990 به عنوان یک پروتکل شبکه با استفاده از XML به عنوان فرمت پیام و پروتکل انتقال پروتکل HyperText (HTTP) به عنوان حمل و نقل آن توسعه یافت. SOAP یک پیروی وفادار از برنامه نویسان وب را ایجاد کرد و به طور گسترده ای برای برنامه های کاربردی سازمانی مورد استفاده قرار گرفت.

نمایندگی دولت انتقال (REST)

REST یکی دیگر از برنامه های کاربردی است که همچنین خدمات وب را که اخیرا در صحنه وارد شده، پشتیبانی می کند. API های REST مانند SOAP، از HTTP استفاده می کنند، اما به جای XML، برنامه های REST اغلب انتخاب می کنند که از جاوااسکریپت Object Notation (JSON) استفاده کنند. REST و SOAP در رویکردهای خود به مدیریت دولتی و امنیت، هر دو ملاحظات کلیدی برای برنامه نویسان شبکه، بسیار متفاوت هستند. برنامه های موبایل ممکن است یا ممکن است از API های شبکه استفاده کنند، اما آنهایی که اغلب از REST استفاده می کنند.

آینده API ها

هر دو SOAP و REST همچنان به طور فعال برای توسعه خدمات وب مورد استفاده قرار می گیرند. به عنوان یک فناوری بسیار جدیدتر نسبت به SOAP، REST احتمال بیشتری دارد که تکامل پیدا کند و تولیدات دیگر API را توسعه دهد.

سیستم عامل نیز برای پشتیبانی از بسیاری از فن آوری های شبکه جدید API شبکه تکامل یافته است. برای مثال، در سیستم عامل های مدرن مانند ویندوز 10، سوکت ها همچنان یک API هسته هستند، با HTTP و دیگر پشتیبانی های اضافی لایه بندی شده برای برنامه نویسی شبکه سبک RESTful.

همانطور که اغلب موارد در زمینه های کامپیوتری است، تکنولوژی های جدیدتر تمایل به رونق بسیار سریع تر از گذشته های قدیمی دارند. به دنبال تحولات جالب API جدید به خصوص در زمینه های ابر رایانه و اینترنت چیزها (IoT) ، جایی که ویژگی های دستگاه ها و مدل های استفاده آنها کاملا متفاوت از محیط برنامه نویسی شبکه است.