مقالات

وب هوک چیست و چگونه از آن استفاده می کنید؟

وب هوک به برنامه های مبتنی بر وب اجازه می دهد تا از طریق استفاده از تماس های سفارشی با یکدیگر تعامل داشته باشند.

استفاده از وب هوک به برنامه های کاربردی وب اجازه می دهد تا به طور خودکار با سایر برنامه های وب ارتباط برقرار کنند.

برخلاف سیستم‌های سنتی که در آن یک سیستم (موضوع) به نظرسنجی از سیستم دیگر (ناظر) برای برخی داده‌ها ادامه می‌دهد، وب‌قلاب‌ها به مشاهده‌گر اجازه می‌دهند هر زمان که رویدادی رخ می‌دهد، داده‌ها را به‌طور خودکار وارد سیستم سوژه کند.

این امر نیاز به نظارت مداوم توسط سوژه را از بین می برد. وب هوک ها به طور کامل در اینترنت کار می کنند و بنابراین تمام ارتباطات بین سیستم ها باید در قالب پیام های HTTP انجام شود.

استفاده از وب هوک ها

وب هوک ها متکی به وجود URL های ایستا هستند که به API ها در سیستم سوژه اشاره می کنند که باید هنگام وقوع رویدادی در سیستم ناظر مطلع شوند. نمونه ای از این می تواند یک برنامه وب طراحی شده برای جمع آوری و مدیریت تمام سفارش های ثبت شده در حساب آمازون کاربر باشد. در این سناریو، آمازون به عنوان ناظر و برنامه وب مدیریت سفارش سفارشی به عنوان سوژه عمل می کند.

به جای اینکه برنامه وب سفارشی به طور دوره ای با API های آمازون تماس بگیرد تا سفارش ایجاد شده را بررسی کند، یک وب هوک ایجاد شده در برنامه وب سفارشی به آمازون اجازه می دهد تا به طور خودکار سفارشی را که به تازگی در برنامه وب ایجاد شده است از طریق یک URL ثبت شده ارسال کند. بنابراین، برای فعال کردن استفاده از وبکهک ها، موضوع باید URL های مشخصی داشته باشد که اعلان رویداد را از ناظر بپذیرد. این امر بار قابل توجهی را بر روی شی کاهش می دهد زیرا تماس های HTTP بین دو طرف فقط زمانی انجام می شود که یک رویداد رخ دهد.

سیستم های مبتنی بر نظرسنجی در مقابل سیستم های مبتنی بر وب هوک

هنگامی که وب هوک سوژه توسط ناظر فراخوانی شد، آزمودنی می تواند با این داده های ارسالی جدید اقدام مناسب را انجام دهد. به طور معمول، وب هوک ها از طریق درخواست های POST به یک URL خاص انجام می شود. درخواست های POST به شما امکان می دهد اطلاعات اضافی را به شی ارسال کنید. علاوه بر این، به جای ایجاد URL های وب هوک جداگانه برای هر رویداد، می توان از آن برای شناسایی در میان تعدادی از رویدادهای احتمالی مختلف استفاده کرد.

گردش کار وب هوک

برای پیاده سازی وب هوک های ورودی در برنامه خود، باید مراحل اساسی زیر را انجام دهید:

  • یک نقطه پایانی API را در سرور برنامه خود نشان دهید که تماس‌های HTTP POST را می‌پذیرد و پردازش می‌کند
  • دسترسی به این نقطه پایانی را برای کاربران بالقوه وب هوک فراهم کنید. نقطه پایانی API هر زمان که شرایط مربوطه برآورده شود، یک برنامه منبع داده را فراخوانی می کند.
  • داده های POST را پردازش کنید و برای نشان دادن وضعیت، پاسخی را به آغازگر تماس webhook برگردانید. این مرحله ممکن است وجود داشته باشد یا نباشد.

Webhooks در مقابل APIها

هم وب هوک ها و هم API ها هدف برقراری ارتباط بین برنامه ها هستند. با این حال، برخی مزایا و معایب متمایز استفاده از Webhooks نسبت به APIها برای دستیابی به یکپارچگی برنامه وجود دارد.

خبرنامه نوآوری
مهم ترین اخبار نوآوری را از دست ندهید. برای دریافت آنها از طریق ایمیل ثبت نام کنید.

اگر نکات زیر با سیستم پیاده‌سازی‌شده مرتبط‌تر باشد، وب هوک‌ها راه‌حل‌های بهتری هستند:

  • اگر داده ها به طور مکرر در سرور به روز می شوند، وب هوک ها راه حل های بهتری هستند زیرا تماس های غیر ضروری API از مشتری به سرور حذف می شوند. با توجه به resthooks.com، 98,5٪ از نظرسنجی های API به هدر می رود.
  • Webhooks راه‌حل‌های بهتری را برای سیستم‌هایی که نیاز به به‌روزرسانی تقریباً هم‌زمان داده‌ها دارند، فعال می‌کنند. نظرسنجی‌های API معمولاً در فواصل زمانی مشخصی اجرا می‌شوند که ممکن است از به‌روزرسانی داده‌های زنده جلوگیری کند. با وب هوک، به‌محض راه‌اندازی وب‌هوک، به‌روزرسانی‌ها از سرور به مشتری ارسال می‌شوند.

استفاده از API باید در برخی شرایط دیگر بر وب هوک ها ترجیح داده شود.

مواردی که باید در نظر گرفت

موارد مهمی که برای استفاده از API در Webhooks باید در نظر گرفت عبارتند از:

  • استفاده از API امکان سفارشی‌سازی بیشتر زمان نظرسنجی برای داده‌ها از یک سرور و همچنین میزان داده برای نظرسنجی از سرور را فراهم می‌کند. میزان داده های مورد نظرسنجی بر اساس اندازه نظرسنجی API تنظیم می شود. با وب هوک ها، سرور به طور کلی داده ها و زمان ارسال آنها را تعیین می کند.
  • برای سیستم‌هایی با داده‌های بسیار متغیر (مانند سیستم‌های بلادرنگ، سیستم‌های IoT و غیره)، نظرسنجی مبتنی بر API ممکن است گزینه بهتری باشد زیرا برای هر تماس API، احتمال پاسخ‌های قابل استفاده بالایی وجود دارد.
  • این امکان وجود دارد که داده های ارسال شده از یک سرور، از طریق یک وب هوک، در صورت آفلاین بودن نقاط پایانی REST، به طور کامل توسط مشتری نادیده گرفته شود. در صورتی که سرور مکانیزمی برای امتحان مجدد چنین فشارهای ناموفق نداشته باشد، به روز رسانی داده ها به طور کامل از بین می رود.

برای مقابله با احتمال از دست دادن داده های ارسال شده از یک سرور در هنگام آفلاین شدن وب هوک، می توانید از صف پیام رسانی رویداد برای بایگانی آن تماس ها استفاده کنید. نمونه هایی از پلتفرم هایی که چنین عملکردی را ارائه می دهند عبارتند از خرگوش ام کیو o سرویس صف ساده آمازون (SQS). هر دو به گونه‌ای طراحی شده‌اند که به‌عنوان تسهیلات ذخیره‌سازی پیام واسطه عمل کنند که از احتمال از دست دادن تماس وب هوک جلوگیری می‌کند.

Ercole Palmeri

خبرنامه نوآوری
مهم ترین اخبار نوآوری را از دست ندهید. برای دریافت آنها از طریق ایمیل ثبت نام کنید.

مقالات اخیر

مداخله نوآورانه در واقعیت افزوده، با یک بیننده اپل در پلی کلینیک کاتانیا

یک عمل جراحی چشم با استفاده از نمایشگر تجاری Apple Vision Pro در پلی کلینیک کاتانیا انجام شد…

3 می 2024

مزایای رنگ آمیزی صفحات برای کودکان - دنیایی از جادو برای همه سنین

توسعه مهارت های حرکتی ظریف از طریق رنگ آمیزی، کودکان را برای مهارت های پیچیده تری مانند نوشتن آماده می کند. رنگ کردن…

2 می 2024

آینده اینجاست: چگونه صنعت کشتیرانی اقتصاد جهانی را متحول می کند

بخش دریایی یک قدرت واقعی اقتصادی جهانی است که به سمت یک بازار 150 میلیاردی حرکت کرده است.

1 می 2024

ناشران و OpenAI توافق نامه هایی را برای تنظیم جریان اطلاعات پردازش شده توسط هوش مصنوعی امضا می کنند.

دوشنبه گذشته، فایننشال تایمز از قراردادی با OpenAI خبر داد. FT مجوز روزنامه نگاری در سطح جهانی خود را صادر می کند…

آوریل 30 2024

نوآوری را به زبان خود بخوانید

خبرنامه نوآوری
مهم ترین اخبار نوآوری را از دست ندهید. برای دریافت آنها از طریق ایمیل ثبت نام کنید.

ما را دنبال کنید