تمام افرادی که با توسعه نرم افزار آشنا هستند بی شک واژه API را شنیده اند. به زبان ساده API یا Application Programing Interfaces به معنای رابط برنامه نویسی اپلیکیشن است. API رابط های نرم افزاری هستند که ارتباط بین نرم افزارهای مختلف را پیاده سازی می کنند. تمامی وب سایت ها و برنامه های روی لپتاپ یا دستکتاپ با API با هم ارتباط برقرار می کنند. در بعضی شرکتها در واقع API ها روشی برای عرضه خدمات به مشتریان هستند. برخی شرکتها برای مشتریان خود API داخلی طراحی کردهاند.
اما این ارتباط چگونه انجام میشود؟
اجازه بدهید به عقب برگردیم و ببینیم یک وب چگونه عمل میکند.
وب شبکهی بزرگی از سرورهای متصل به هم است. هر صفحه در اینترنت در جایی از سرور ذخیره میشود. سرور درخواست ها را پردازش میکند و پاسخ میدهد. در واقع سرور جایی است که مهندسان برای توسعه وب سایت ها یا اپلیکیشن ها قبل از انتشار آنها، از آن استفاده میکنند. وقتی آدرس یک سایت مانند WWW.APNOZHAN.COM را در مرورگر خود تایپ میکنید، یک درخواست به سرور آرمان پردازان نوژن ارسال میشود. زمانی که مرورگر پاسخ را دریافت کرد، کد را تفسیر میکند و صفحه را نمایش میدهد.
هر بار که به صفحهای در وب مراجعه میکنید با API با سرور ارتباط برقرار میکنید. API همانند سرور نیست. بلکه یک بخشی از سرور است که درخواستها را دریافت کرده و پاسخ میدهد. در واقع API ها اطلاعات و عملکرد نهفته در برنامه ها را نمایان میسازند و تعامل آنها را با محیط اطراف ممکن می سازند. باید به این نکته اشاره کرد که این نمایان سازی کاملا امن و با محدود سازی دسترسی ها همراه است.
کاربرد API چیست؟
API کاری می کند سرور وبسایت شما به طور مستقیم و با یک درخواست برای ثبت یک دستور خاص با جزییات منحصر به فرد با سرور ارتباط برقرار کند. سرور شما سپس درخواست را دریافت می کند. سپس اطلاعات مرتبط مانند پیام تأیید یا رد کردن به کاربر را به مرورگر بازمیگرداند.
به طور جایگزین مرورگر میتواند یک درخواست API را به صورت مستقیم به سرور ارسال کند و پاسخ دریافت کند. زمانی که از برنامه ای در تلفن همراه خود استفاده می کنید، برنامه به اینترنت متصل می شود و داده ها را به یک سرور ارسال می کند. سرور آن داده را بازیابی و تفسیر می کند، اقدامات لازم را انجام می دهد و آن را به تلفن شما ارسال می کند. سپس برنامه آن داده ها را تفسیر می کند. اطلاعات مورد نظر خود را به روشی قابل خواندن به شما ارائه می دهد. این چیزی است که یک API دارد و همه اینها از طریق API اتفاق می افتد.
برای اینکه بهتر متوجه شوید برای شما یک مثال میزنیم:
تصور کنید که شما در یک رستوران نشسته اید و از منوی رستوران در حال سفارش غذا هستید. آشپزخانه بخشی از سیستم است که سفارش شما را آماده می کند. آنچه وجود ندارد ، حلقه مهم ارتباط برقرار کردن سفارش شما به آشپزخانه و تحویل غذا به شماست. اینجاست که پیشخدمت یا API وارد می شود. پیشخدمت پیام دهنده یا API است که درخواست یا سفارش شما را می گیرد و به آشپزخانه می گوید. در واقع پیشخدمت به سیستم میگوید که چه کاری باید انجام شود. سپس گارسون پاسخ را به شما تحویل می دهد. پاسخ در این حالت، غذا است.
در اینجا یک مثال API با زندگی واقعی آورده شده است.
ممکن است شما با روند جستجوی پروازها بصورت آنلاین آشنا باشید. دقیقاً مانند رستوران، گزینه های گوناگونی برای انتخاب دارید. از جمله شهرهای مختلف، تاریخ عزیمت و بازگشت و موارد دیگر. بگذارید تصور کنیم که در حال پرواز هستید که در حال پرواز در یک وب سایت هواپیمایی هستید. شما یک شهر و تاریخ عزیمت، یک شهر و تاریخ بازگشت، کلاس کابین و سایر متغیرها را انتخاب می کنید. برای رزرو پرواز، با وب سایت هواپیمایی ارتباط برقرار می کنید تا به پایگاه داده آنها دسترسی پیدا کنید. ببینید آیا در این تاریخ ها صندلی موجود است و هزینه های آن را بررسی می کنید.
آنچه یک API ارائه میکند، لایه ای از امنیت است. داده های تلفن شما هرگز کاملاً در معرض سرور قرار نمی گیرد. سرور نیز هرگز به طور کامل در معرض تلفن شما قرار نمی گیرد. در عوض، هر یک با بسته های کوچک از داده ها ارتباط برقرار می کنند. سپس فقط آنچه را که لازم است، به اشتراک می گذارند. شما به رستوران می گویید چه چیزی را می خواهید بخورید. آنها به شما می گویند که در عوض به چه چیزهایی احتیاج دارند. در آخر، وعده غذایی خود را دریافت می کنید.
API آنقدر ارزشمند است که بخش بزرگی از درآمد بسیاری از مشاغل را تشکیل می دهد.
شرکتهای بزرگی مانند گوگل ، eBay ، Salesforce.com ، Amazon و Expedia معدود شرکت هایی هستند که از API های خود درآمد کسب می کنند.
شرکت آرمان پردازان نوژن نیز برای توسعه پلتفرمهای خود از API های آماده استفاده میکند. چرا که نوشتن API اختصاصی نیازمند زمان و هزینه سربار برای پروژه است.
API درگاه بانک بانک برای پلتفرمهایی که نیاز به درگاه پرداخت دارند. API احراز هویت که به صورت اس ام اس یا تماس با کاربر ارتباط برقرار میکنند. API ایمیل با وجود اینکه امکان نوشتنش وجود دارد اما باز هم به دلیل سربار بودن هزینه و زمان از نمونههای آماده آن استفاده میشود. API نقشه و حسابداری نیز جز مواردی هستند که معمولا به صورت آماده استفاده میشود. مگر اینکه کارفرما درخواست API اختصاصی برای سیستم خود کند. در این صورت است که تیم طراحی و پشتیبانی نوژن این کار را انجام میدهد.
مواردی نیز وجود دارد که از سرویسهایی مانند الو پیک، بورس و شرکتهای هواپیمایی، API های لازم برای پروژه نرم افزاری طی مذاکراتی دریافت میشود.