ایتنا - یک برنامه کامپیوتری که بر روی سیستم توزیع شده، اجرا می شود، یک برنامه توزیع شده نام دارد و برنامه نویسی توزیع شده، فرایندی است که طی آن این برنامه ایجاد می شود.
رایانش توزیع شده (Distributed Computing) چیست ؟ رایانش توزیع شده، رشته ای از علوم کامپیوتر است که به مطالعه در مورد سیستم توزیع شده می پردازد، و در واقع یک سیستم توزیع شده، سیستم نرم افزاری است که اجزای آن از طریق شبکه با یکدیگر در ارتباط هستند تا به یک هدف مشترک دست یابند و اقدامات خود را از طریق ارسال پیام (message passing) به یکدیگر اطلاع می دهند.
از ویژگی های قابل توجه سیستم توزیع شده می توان به همزمانی (concurrency) اجزا جهت دستیابی به هدف واحد و مستقل بودن سیستم از خرابی هر یک اجزا اشاره نمود.
یک برنامه کامپیوتری که بر روی سیستم توزیع شده، اجرا می شود، یک برنامه توزیع شده نام دارد و برنامه نویسی توزیع شده، فرایندی است که طی آن این برنامه ایجاد می شود.
لازم به ذکر است که علاوه بر مکانیسم ارسال پیام که پیش از این بدان اشاره شد، رویکردهای جایگزین دیگری نیز وجود دارند که می توان "فراخوانی روال از راه دور" (RPC : Remote Procedure Call) و یا صف پیام (message queue) را نام برد.
مهمترین هدف و چالش در رایانش توزیع شده، شفافیت در مکان (location transparency) است، بدین معنا که در رایانش ابری مستقل از مکان کاربر و مکان قرارگیری منابع، سرویس مورد نظر ارائه می گردد.
به عنوان نمونه، تصور نمایید که کاربران متعددی از مکان های مختلفی، یک نام پوشه واحدی را جستجو و به محتویات آن دسترسی می یابند و این در حالی است که داده های ذخیره شده در آن پوشه در مکان های فیزیکی مجزا بر روی هارددیسک یک کامپیوتر و یا کامپیوترهای مختلفی بر روی شبکه قرار دارند و به هیچ وجه این موضوع برای کاربران در هر مکانی که هستند، قابل لمس نمی باشد. در رایانش توزیع شده، یک مسئله به چندین وظیفه تقسیم می شود که هر یک از وظایف به یک تا تعداد بیشتری از کامپیوترهای تحت شبکه جهت انجام، محول می گردد.
در شکل زیر به وضوح می توان تفاوت بین رایانش متمرکز، نامتمرکز و توزیع شده را مشاهده نمود.
ایده توزیع شدن منابع در یک شبکه از کامپیوترها، برای اولین بار به منظور استفاده از ترمینال های ورود داده در کامپیوترهای پردازنده مرکزی (mainframe) آغاز گردید، سپس به کامپیوترهای کوچک (minicomputers) و اکنون در کامپیوترهای شخصی و معماری سرویس دهنده/سرویس گیرنده مورد استفاده قرار می گیرد.
معماری رایانش توزیع شده، شامل اجزای زیر است:
-مجموعه ای از سرویس گیرنده ها که نرم افزار سبکی بر روی آن ها نصب شده است -یک یا چند سرویس دهنده اختصاصی که مدیریت محاسبات توزیع شده را بر عهده دارند
در مفاهیم کسب و کار، رایانش توزیع شده، عموما با هدف قراردادن پردازش در مراحل مختلف فرایند کسب و کار بر روی کامپیوترهای مجزا در شبکه، به منظور دستیابی به حداکثر کارایی صورت می پذیرد. این در حالی است که در کاربرد های معمول از مدل ۳ لایه استفاده می گردد که به صورت زیر است:
1-پردازش در واسط کاربری بر روی کامپیوتر شخصی در مکان کاربر 2-پردازش کسب و کار بر روی یک کامپیوتر در مکانی مجزا 3-دسترسی به پایگاه داده و پردازش های مرتبط با آن در یک کامپیوتر دیگر برای تعداد زیادی از فرایندهای کسب و کار
به طور خاص، این مدل را نیز نوعی رایانش توزیع شده در نظر می گیریم که با استفاده از مدل ارتباطی سرویس دهنده/سرویس گیرنده محقق می شود.