REST (انتقال بازنمودی حالت[۱]): REST که قهرمان سادگی و همهجا حاضری است یک سبک معماری بوده که در درجه اول از متدهای HTTP استفاده میکند که این موضوع امکان تعامل آسان با منابع را فراهم میکند و آن را به یک الگوی پیشرو برای بسیاری از برنامهها وAPI های مدرن تبدیل میکند.
SOAP (پروتکل دسترسی ساده به اشیاء[۲]): یک رقیب سنگین در عرصه API است که در پیچیدگی و قدرت پیشروی میکند و از XML برای تعریف ارتباطات ساختاریافته استفاده میکند. اگرچه SOAP به یک مشتری و سرور SOAP نیاز دارد، اما با قدرت و استحکام خود این موضوع را جبران میکند و دقیقاً مانند یک وسیله نقلیه آفرود خوش ساخت است که به راحتی با زمینهای ناهموار برخورد میکند.
GraphQL: GraphQL یک ستاره در حال ظهور در دنیای APIبوده که ارائهدهنده انعطافپذیری و است و به مشتریان این امکان را میدهد که دقیقاً آنچه را که نیاز دارند بپرسند، افزونگی را کاهش داده و عملکرد را بهبود میبخشد. به آن به عنوان یک مسئول خرید شخصی نگاه کنید؛ شما فقط همان چیزی را که از آن خواستهاید را دریافت میکنید، نه بیشتر و نه کمتر.
gRPC (فراخوانی از راه دور گوگل[۳]): gRPC سرعتدهنده جهان API است که بر رویHTTP/2 اجرا میشود و از دادههای باینری استفاده میکند. در gRPC همه چیز به عملکرد و سرعت مربوط میشود، به خصوص برای معماریهای میکروسرویس و مانند یک قطار پرسرعت است که ارتباط سریع و مطمئن را تضمین میکند.
WebSockets: اگر به ارتباط بیدرنگ و دوطرفه نیاز دارید،WebSockets همان چیزی است که به به دنبالش هستید و برای اپلیکیشنهای چت، پخش زنده و تبادل دادهها به صورت بلادرنگ ایدهآل بوده و مانند داشتن یک خط تلفن باز بین مشتریان و سرورها است.
Webhooks: Webhooks جارچیهای شهر دنیای دیجیتال هستند. آنها رخ دادن برخی رویدادهای سمت سرور را به مشتریان اطلاع میدهند گه این ویژگی آنها را برای معماریهای رویداد محور عالی میکند. آنها را به عنوان یک سیستم هشدار شخصی تصور کنید که شما را از آنچه اهمیت دارد آگاه میکنند.
MQTT (انتقال از راه دور صف پیام[۴]): MQTT یک پیامرسان سبک وزن است که به طور خاص برای محیطهایی با منابع محدود، پهنای باند کم و شبکههای غیر قابل اعتماد طراحی شده است. آن را به عنوان یک کارگر پستی تصور کنید که مصمم است نامه شما را تحویل دهد؛ چه باران بیاید، چه آسمان بدرخشد.
AMQP (پروتکل پیشرفته صف پیام[۵]): AMQP یک پروتکل قوی و استاندارد با قابلیتهای پیامرسانی است که به دلیل قابلیت اطمینانی که دارد در محیطهای میانافزاری برتری دارد. AMQP مانند یک خط مونتاژ روغنکاری شده است که پیامها را به طور موثر به جایی که باید بروند منتقل میکند.
حال این سوال پیش میآید که از کدام سبک معماری API باید استفاده کنید؟
بهترین سبک معماری API برای یک برنامه خاص به نیازهای خاص اپلیکیشن بستگی دارد همانند:
۱. نوع دادهای که بین API و مشتری رد و بدل میشود
۲. الزامات عملکرد API
۳. الزامات امنیتی API
۴. الزامات مقیاسپذیری API
پس از اینکه این عوامل را در نظر گرفتید، میتوانید انتخابهای خود را محدود کنید و آن سبک معماری API را انتخاب کنید که برای برنامه شما مناسبتر است.
[۱] Representational state transfer
[۲] Simple object access protocol
[۳] Google remote procedure calls
[۴] Message queuing telemetry transport
[۵] Advanced message queuing protocol