API چیست؟
منوی رستوران را در نظر بگیرید که به شما این امکان را میدهد تا غذاهای دلخواه خود را سفارش دهید. شما نتیجه را بدون این که از چگونگی عملیات آماده سازی آن مطلع شوید، تحویل میگیرید و درواقع شما احتیاجی هم به دانستن آن ندارید. به طور مشابه، API هم لیستی از سرویسهایی یک سیستم را در اختیار شما میگذارد و به شما اجازه میدهد از ان استفاده کنید.
API سرواژه عبارت Application Programming Interface است و معمولن با یک documentation همراه است، تا کاربران سیستم با سرویس های آن آشنا شوند و از طرفی هم کاربر بتواند زبان مشترکی با سیستم پیدا کند تا نیاز خود را به درستی به سیستم بفهماند و آنچه که سیستم لازم دارد را نیز به درستی در اختیارش بگذارد.
کاربردهای API
API به شما این قابلیت را میدهد تا به سادگی از کار دیگران استفاده کنید و درواقع چرخ را دوباره اختراع نکنید. به این واسطه، زمان موردنیاز شما برای طراحی سیستم بسیار کاهش مییابد و معماریتان ساختاریافتهتر خواهد شد.
با استفاده مناسب از API میتوان یک پروژه سنگین را به پروژههای کوچکتر تقسیم کرد و کار گروهی را به شکل مناسب تری انجام داد و از مزایای آن استفاده کرد.
با استفاده از API میتوان دسترسی بخشهای مختلف یک سیستم به منابع موجود را کنترل و تنظیم کرد. مثلن فرض کنید یک اپلیکیشن در دستگاه شما، نیاز به شناسایی موقعیت جغرافیاییتان دارد، با تعریف API مناسب میتوان این قابلیت را به آن اپلیکیشن داد و مانع از آن شد که سایر اپلیکیشنها به موقعیت شما دست پیدا کنند.
با استفاده از API شما این قابلیت را خواهید داشت که سیستم خود را در بستری ابری در اختیار کاربران قرار دهید (Cloud-native app). به این معنی که اپلیکیشن شما روی سرورتان اجرا میشود و اگر کسی بخواهد از آن استفاده کند، با رعایت ضوابطی که شما تعیین میکنید، میتواند در بستر ابری و با استفاده از اینترنت از آن استفاده کند. به طور خلاصه میتوان گفت، API اجازه میدهد تا منابعتان را با رعایت اصول کنترلی و امنیتی در اختیار بقیه بگذارید.
API داخلی و خارجی
API کاربرد گستردهای دارد. به طور مثال در سیستمعامل هم API های فراوانی وجود دارد که البته در سطح سیستم داخلی در دسترس است. از طرفی نیز، همانگونه که در بخش قبل بیان شد، میتوان API خارجی هم تعریف نمود تا از منابع سیستم از راه دور استفاده کرد. از آنجایی که ارتباط از راه دور، به واسطه اینترنت میسر است، عمده استانداردهای API بر بستر وب تعریف شده است. و شاهد آن هستیم که بیشتر از HTTP request برای این منظور استفاده میشود و بدنه آن را یک فایل JSON یا XML تشکیل میدهد.