open API یا ای پی آی باز چیست؟
open API یا ای پی آی باز یک رابط برنامه نویسی نرم افزار کاربردی است که در دسترس عموم مصرف کنندگان و توسعه دهندگان نرم افزاری قرار دارد. از این رو به این نوع ای پی آی ها، public API نیز گفته می شود. Open API ها به مالکان سرویسهای قابل دسترسی در شبکه اینترنت اجازه میدهد تا بتوانند سرویس خود را در اختیار مشتریانشان قرار دهند.
ای پی آی (api) در حقیقت یک واسطه نرم افزاری است که اپلیکیشنها به واسطه آن میتوانند با یکدیگر ارتباط متقابل و دوجانبه داشته باشند و اطلاعات خود را به اشتراک بگذارند.
نرم افزارهای Open API روی اینترنت منتشر شده و به صورت رایگان در اختیار عموم کاربران قرار میگیرند. البته public API ها معمولاً در مورد چیزهای با ارزشی که با دیگران به اشتراک می گذارند، سختگیرتر هستند. این سختگیریها نیز به این دلیل است که معمولاً این سازمانهای خصوصی، api ها و اطلاعات قابل اشتراک پشت سیستم خود را به صورت عمومی به اشتراک می گذارند. ولی در عین حال همیشه میخواهند امنیت این برنامه را خودشان حفظ نموده و مدیریت اپلیکیشن را در دست داشته باشند.
حتی اگر شرکت منتشر کننده یک open API در اجرای آن با چالشهای امنیتی خاصی مواجه شود، آنگاه است که این استارتاپ نرم افزاری اقدامات جدیدی را آغاز میکند. مثلا ممکن است برای جذب افراد یا شرکتهای بازار محور توسعه دهنده، اقدام به انتشار مجموعه ای از api ها کند. این توسعه دهندگان باید بتوانند طرحهای خلاقانه و راههای جدیدی را برای استفاده از نرم افزارهای این استارتاپ ارائه کنند. روی کاغذ این حالت یک معامله برد-برد برای طرفین خواهد بود.
ساختار و معماری open API
مجموعههای Open API میتوانند به روشهای مختلفی طراحی شوند. اما اولین اولویت ساختاری برای هر Open API، ساختار خود api میباشد. به این معنی که خود api باید بتواند به راحتی مورد استفاده کاربرش قرار بگیرد و تا جایی که ممکن است، در دسترس مشتریان و مصرفکنندگان بیشتری قرار داشته باشد.
در نتیجه، حالا که استفاده از تکنولوژیهای منبع باز (open source) و فرمتهای استاندارد عمومی و جامعه محور معنی بیشتری پیدا کرده است، دیگر به کارگیری پروتکلهای اختصاصی و یا فرمتهای سفارشی اطلاعات، روز به روز کم رنگتر میشوند.
مدیریت open API (ای پی آی باز)
زمانی که یک API به صورت عمومی (public) منتشر شد، دیگر کنترل افرادی که به api دسترسی دارند، و نیز نحوه مصرف از این «ای پی آی» توسط کاربران، برای سازنده آن کار سادهای نخواهد بود. پس در نتیجه کار مدیریت api باید به صورت جدی پیگیری شود. و در غیر اینصورت ممکن است api با مشکلات زیادی در زمینه رضایت مشتریان مواجه شود. ای پی آی سوییچ ها مانند اَپی اکو مدیریت مصرف ای پی آی ها را برای ارائه دهندگان فراهم میکنند.
برای مثال، سازمان منتشر کننده api باید در زمان منسوخ کردن نسخههای قدیمیتر api ها، مواظب تغییرات بوجود آمده در نحوه فراخوانی مدل های RESTful، تغییرات حاصل در ساختار ظرفیتهای XML و یا JSON، و یا حتی از کار انداختن عملکرد مشخصی از api باشد. زیرا تنها نظارت سازمان بر نحوه کار و عملکرد api، و افرادی است که از آن استفاده می کنند، کافی نیست و به سادگی کنترل api را از دست سازمان خارج می کند.
وقتی که تغییرات بوجود آمده در یک api به درستی مدیریت نشوند، موجب عدم رضایت مصرف کنندگان نهایی خواهد شد. این موضع میتواند به شهرت و محبوبیت سازمان ارائه دهنده api لطمات جدی وارد کند. از این رو نقش کلیدی اپی اکو خود را نشان میدهد.
امنیت Open APIها
زمانی که یک Open API به صورت جهانی در دسترس مردم قرار میگیرد، ممکن است از ابزارهای مختلفی نیز برای ایجاد محدودیت در دسترسی، رمزگذاری اطلاعات و ایجاد امنیت برای api مورد نظر استفاده شود.
برای مثال، پروتکل امنیتی لایهٔ انتقال (TLS) میتواند دادهها و اطلاعات فرستاده شده توسط یک شبکه را رمزگذاری کند. به منظور تایید هویت شخص سرویس گیرنده، گواهی SSL یا همان «لایه اتصال امن» بسیار مفید است. کاربر نیز با هر تعدادی مکانیزم تایید اعتبار back-end میتواند به داده های خصوصی مرتبط با یک اصل کاربری مشخص دسترسی داشته باشد.
تفاوت open API یا ای پی آی باز و بسته (Closed)
در این میان برخی از open API یا ای پی آی باز معروف و محبوب در دنیا، مانند Jenkins Remote Access API و GitLab API وجود دارند، که در حقیقت api های بسته (closed API)، یا به بیان دیگر «ای پیآی» خصوصی، هستند. فرم امنیت در حریم خصوصی این api ها با فرم امنیت open API ها متفاوت است. یک open API محدودیت دسترسی به شبکه دارد. زیرا دسترسی به open API ها برای عموم باز میباشد و میتوان در هر کجا با دسترسی به اینترنت از آنها استفاده کرد.
در طرف دیگر closed API (ای پی آی بسته) ها قرار دارند که با نام api خصوصی نیز شناخته می شوند. این نوع api ها در اینترنت به صورت عمومی در دسترس نیستند. استفاده از این نوع api ها، در صورتی که امکان استفاده خارجی از آنها به هر صورت مقدور باشد، تنها از طریق فایروال های قوی و یا یک سرویس VPN خاص ممکن است.
از آنجایی که معمولا closed API ها در بسترهای بسیار ایمنی قرارا دارند، دیگر از سیستم های تایید اعتبار کاربر استفاده نمی کنند. زیرا فرض بر این است که هر منبعی که با این api ها ارتباط دارد از درون یک قلمرو امن و قابل اعتماد سرچشمه می گیرد.
از سوی دیگر closed API ها غالبا در سرویسها و پروسههای داخلی کاربرد دارند. برای مثال مصرف آنها در میکروسرویس (MicroService) ها و ابزارهای container orchestration است که برای ارتباط با یکدیگر از closed API ها استفاده می کنند. ولی open API ها بیشتر مایل به تمرکز بر سرویس های کاربر محور و تواناییهای آنها دارند.
منافع و مزایای ای پی ای های باز
منافع open API ها شامل هر دو طرف تولید کننده (منتشر کننده) و توسعه دهنده api (یعنی کسی که ای پی آی را مصرف می کند) می شود.
منافع سازندگان یا منتشر کنندگان api شامل موارد زیر است:
- امکان دستیابی به پایگاهی بزرگ برای گسترش کاربران خود، پایگاهی که نیازی به صرف هزینههای مالی برای گسترش بازار و تبلیغات ندارند.
- با استفاده از یک open API,، توسعه دهنده ثالث می تواند بوسیله فروش لایسنس برنامه جدید به درآمد زایی برسد.
- سازمان منتشر کننده api کماکان کدهای پایه خود را حفظ می کند.
منافع مصرف کننده api شامل موارد زیر خواهد بود:
- کاهش وابستگیهایی مانند وابستگی به تیم های توسعه دهنده، front-ends وback-ends.
- صرفه جویی در وقت و کاهش احتمال خطای کد نویسی.
- امکان استفاده توسعه دهندگان از ابزارهای دلخواه خود به وسیله یک open API.
ایرادات و مشکلات open API ها
با open API ها باید مثل سایر محصولات مشتری محور برخورد شود. زیرا بنابر نحوه دریافت یک open API توسط توسعه دهنده، اعتبار و محبوبیت شرکت تولید کننده api میتواند خدشهدار شده و یا افزایش یابد.
شرکتهای ارائه دهنده open API ها باید در نظر داشته باشند که بروز هر نوع ایراد و اشکالی در اجرای api، میتواند به بسته شدن آن منجر شود. درست مانند سایر اپلیکیشنهایی که یک موسسه به صورت عمومی منتشر می کند، در مورد open API ها نیز باید مطمئن باشیم که:
- هیچ نوع باگ (bug) نرم افزاری در آن وجود نداشته باشد.
- ضعفی در اجرای آن وجود نداشته باشد.
- نقص امنیتی در آن وجود نداشته باشد.
- هیچ نقصی در درز نمودن اطلاعات شخصی کاربران به بیرون در آن وجود نداشته باشد.
اَپی اِکو بازاری است که توسعه دهندگان می توانند در آن وب سرویس (API) های مورد نظر خود را یافته، به آنها متصل شده و همچنین آنها را مدیریت کنند. در اَپی اِکو می توانید به انواع Open API های ارائه شده در بازار ایران به راحتی دستیابی داشته باشید.