ScholarGate
دستیار

فراخوانی از راه دور و میان‌افزار

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

یافتن موضوع با PaperMindبه‌زودیFind papers & topics
Tools & resources
دریافت اسلایدها
Learn & explore
ویدیوبه‌زودی

Definition

فراخوانی از راه دور یک انتزاع ارتباطی است که در آن یک کلاینت عملیاتی را بر روی یک فرآیند از راه دور با استفاده از یک رابط فراخوانی رویه محلی فراخوانی می‌کند، در حالی که میان‌افزار زیرین مسئول بسته‌بندی آرگومان‌ها، انتقال، و گزارش خطا است.

Scope

این موضوع شامل فراخوانی رویه از راه دور (RPC) و فراخوانی متد از راه دور، بسته‌بندی آرگومان‌ها، اتصال و نام‌گذاری، معناشناسی فراخوانی (حداکثر یک بار، حداقل یک بار، دقیقاً یک بار)، و لایه‌های میان‌افزار — کارگزاران شیء، میان‌افزار پیام‌گرا، و چارچوب‌های RPC مدرن — است که آن‌ها را پیاده‌سازی می‌کنند. همچنین، محدودیت‌های شناخته‌شده شفافیت را پوشش می‌دهد: روش‌هایی که در آن‌ها فراخوانی‌های از راه دور به‌ناچار با فراخوانی‌های محلی تفاوت دارند.

Core questions

  • چگونه می‌توان یک تعامل شبکه را با راحتی یک فراخوانی رویه محلی ارائه داد؟
  • چه معناشناسی فراخوانی در حضور از دست دادن پیام و خرابی فرآیندها قابل دستیابی است؟
  • انتزاع شفافیت مکان لزوماً در کجا از بین می‌رود؟

Key theories

فراخوانی رویه از راه دور
انتزاع RPC یک تعامل از راه دور را به عنوان یک فراخوانی با ظاهر محلی بسته‌بندی می‌کند، با استاب‌های کلاینت و سرور که آرگومان‌ها را بسته‌بندی و بازگشایی می‌کنند؛ دستیابی به معناشناسی حتی حداکثر یک بار نیاز به مدیریت دقیق بازانتقال و تشخیص تکرار دارد.
لایه‌بندی میان‌افزار
میان‌افزار بین سیستم عامل و برنامه قرار می‌گیرد تا خدمات نام‌گذاری، بسته‌بندی، و فراخوانی را ارائه دهد، از کارگزاران درخواست شیء گرفته تا سیستم‌های پیام‌گرا و انتشار-اشتراک.
محدودیت‌های شفافیت توزیع
تأخیر، خطای جزئی، همزمانی، و دسترسی به حافظه به این معنی است که اشیاء از راه دور نمی‌توانند کاملاً از اشیاء محلی غیرقابل تشخیص باشند، بنابراین طراحی‌هایی که این تفاوت‌ها را نادیده می‌گیرند، تمایل دارند تحت بار یا تقسیم‌بندی شکست بخورند.

Clinical relevance

RPC و میان‌افزار بافت همبند نرم‌افزارهای توزیع‌شده مدرن هستند: معماری‌های میکروسرویس، شبکه‌های سرویس، و APIهای ابری همگی بر پایه چارچوب‌های فراخوانی از راه دور ساخته شده‌اند، و طراحان آن‌ها باید به‌طور صریح در مورد معناشناسی فراخوانی و خطای جزئی استدلال کنند.

History

مقاله بیرل و نلسون در سال ۱۹۸۴ RPC را به عنوان یک انتزاع عملی تثبیت کرد؛ دهه ۱۹۹۰ میان‌افزارهای شیءگرا مانند CORBA و Java RMI را به ارمغان آورد، که با هشدار تأثیرگذار والدو و همکارانش در مورد محدودیت‌های شفافیت تعدیل شد؛ چارچوب‌های مدرن این میراث را با RPC سبک‌وزن و مبتنی بر طرح‌واره از طریق وب ادامه می‌دهند.

Debates

آیا فراخوانی‌های از راه دور باید دقیقاً شبیه فراخوانی‌های محلی به نظر برسند؟
شفافیت کامل مکان برنامه‌نویسی را ساده می‌کند اما تأخیر و خطای جزئی را پنهان می‌کند، که منجر به سیستم‌های شکننده می‌شود؛ دیدگاه مخالف، که توسط والدو و همکارانش بیان شده است، معتقد است که توزیع باید آشکار شود تا توسعه‌دهندگان بتوانند خطا را به‌طور صریح مدیریت کنند.

Key figures

  • Andrew Birrell
  • Bruce Nelson
  • Jim Waldo
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • birrell1984
  • waldo1994

Frequently asked questions

معناشناسی فراخوانی «حداکثر یک بار» به چه معناست؟
این تضمین می‌کند که یک عملیات از راه دور یا صفر بار یا یک بار اجرا می‌شود، هرگز بیشتر، حتی اگر درخواست مجدداً ارسال شود. این هدف عملی رایج است زیرا تضمین اجرای «دقیقاً یک بار» در شرایط خطا بسیار دشوارتر است.

Methods for this concept

Related concepts