برای توضیح نحوه عملکرد یک ای پی آی بهتر است از چند مثال ملموس استفاده کنیم.
فرض کنید شما مشتری یک رستوران هستید. در اینجا گارسون (API) نقش رابط میان مشتریها (کاربران یا کلاینت) و آشپزخانه (سرور) را به عهده دارد. شما به عنوان مشتری، به گارسون سفارش خود را اعلام میکنید (API را فراخوانی مینمایید) و گارسون هم سفارش شما را از آشپزخانه مطالبه میکند. در نهایت هم همان گارسون سفارش شما را برای شما مهیا نموده و به دست شما میرساند. در اینجا گارسون نقش رابط میان شما و آشپزخانه را دارد. گارسون در این مثال جایگاه API و نقش abstraction را در یک برنامه دارد. در برنامه نویسی، abstraction یک مفهوم بنیادی است که معنی آن ساده سازی یک مکانیزم پیچیده به واسطه تمرکز بر بخشهای جزئی سیستم میباشد. در این مثال شما به عنوان یک مشتری نیازی ندارید که نحوه تهیه مواد اولیه و روش پخت غذایی که سفارش دادهاید را توسط آشپزخانه بدانید. تنها چیزی که شما نیاز دارید آن است که چگونه باید سفارش دهید.
ای پی آی نیز یک abstraction برای وب سرور به حساب میآید. در عملکرد یک API نیز، کاربر یا کلاینت تنها کافی است که بداند، چگونه باید درخواست خود را به API ارائه کند. یعنی زبان مشترک با ای پی آی داشته باشد. از اینرو است که وجود API ها موجب انعطاف پذیری سازمانی در سیستمها شده است. چون دیگر کلاینت لازم نیست خود را با سیستم عامل و یا زبان سرور همخوان نماید.
مثالی دیگر از نحوه عملکرد Api
در مثال بعدی میتوانید سیستم برق منزل را تصور نمایید. در اینجا اداره برق نقش ارائه دهنده، و منبع تولید برق (نیروگاه) نقش سرور یا منبع اطلاعات را دارد. مصرف کننده یا کلاینت شما نیز هر وسیله برقیای که به دوشاخه برق متصل میشود خواهد بود. API شما نیز در اینجا پریز برق است.
منبع انرژی برق میتواند هر انرژی و یا نیروگاهی (آبی، هسته ای، خورشیدی، بادی و …) باشد. مهم آن است که برق با ولتاژ مورد توافق قرار گرفته (یعنی ۲۲۰ ولت در کشور ایران) به پشت پریز برسد. این یعنی قرارداد بین ای پی آی و منبع، بدون توجه به سیستم عامل و محرک منبع صورت گرفته است.
در بخش کلاینت نیز، تنها نکته مهم آن است که مصرف کننده اولا بتواند از برق ۲۲۰ ولت استفاده کند. دوما، فاصله دو شاخه برق آن با فاصله سوراخ های پریز برق یکی باشد. این یعنی قرارداد بین API و کلاینت رعایت شده است و همدیگر را درک میکنند.
در این مثال api یا همان پریز برق تنها نقش رابط کاربری مصرف کننده را ایفا مینماید و ارتباط میان کلاینت (که همان وسیله برقی مانند یخچال، جاروبرقی، شارژر موبایل و …) و ارائه دهنده (یعنی شرکت برق) که انرژی را از منبع یا سرور (نیروگاه تولید برق) تامین مینماید، را برقرار می کند.

کاربرد وب سرویس ها همراه با مثال
در دنیای امروز مثالهای بسیار کاربردی و فراوانی از کاربرد API ها در اطراف خودتان می توانید بیابید. تنها کافی است موبایل خود را باز کنید و به یکی از اپلیکیشنهای آن به طور تخصصی نگاهی بیاندازید. «ورود با حساب گوگل یا فیسبوک در یک اپلیکیشن»، «نسخه های غیر رسمی تلگرام»، «نرم افزارهای لایک و فالوور-گیر اینستاگرام»، «استفاده از نقشه گوگل برای نرم افزارهای مختلف»، پرداخت قبوض در اپلیکیشنهای مختلف بانکی و … مثالهایی از کاربرد وب سرویس هایی هستند که همگی به سادگی از آنها استفاده میکنیم.
در اینجا برای درک بهتر به بررسی جزئیات دو مورد از این مثالها میپردازیم.
تلگرامهای غیر رسمی:
همه ما با نسخههای غیر رسمی تلگرام مانند موبوگرام، تلگرام طلایی و … که بعد از فیلتر این اپلیکیشن رایج شدند آشنا هستیم. این اپلیکیشنهای کپی، در حقیقت برنامههایی هستند که با استفاده از API تلگرام فعالیت میکنند. پیام رسان تلگرام به توسعه دهندگان وب سرویسی ارائه نموده است که بوسیله آن برنامه نویسان به تمام امکانات تلگرام دسترسی داشته و توانسته اند به امکانات اصلی این نرم افزار، امکانات دیگری نیز بیافزایند.
ای پی آی نقشه گوگل:
بسیاری از نرم افزارها (مانند اپلیکیشن های تاکسی یاب، فروشگاهی و …) نیاز به استفاده از نقشه دارند. اما به طور حتم طراحی و ساخت یک نرم افزار نقشه برای هر یک از این برنامهها به هیچ وجه عقلانی و به صرفه نیست. استفاده از یک نقشه API مانند نقشه گوگل، منطقیترین و به صرفهترین راه برای استفاده از این امکان در اپلیکیشنهای دیگر است.
گوگل این نرم افزار را از قبل با امکانات متعددی طراحی و به کاربران خود ارائه کرده است. در حال حاضر گوگل با ارائه API این نقشه به توسعه دهندگان، امکان استفاده از این نقشه را در نرم افزارهایشان مهیا ساخته است. در ابتدا این ای پی آی به صورت رایگان در اختیار همه بود. اما پس از مدتی با پولی شدن این وب سرویس، بسیاری از شرکت های ایرانی با مشکلاتی روبرو شدند، که برای حل آن برخی از شرکت های ایرانی شروع به ارائه وب سرویس نقشه نمودند. برای اطلاع از لیست وب سرویس های پرکاربرد ایرانی اینجا را کلیک نمایید.
در این ویدئو به بررسی یک مثال کاربردی از وب سرویس یا همان API میپردازیم. سرویس های رزرو بلیط هواپیما نمونه ای کاربرد ای پی آی در سیستم توزیع شده است.