**کوربا** (به انگلیسی: Common Object Request Broker Architecture) (اختصاری CORBA)یک استاندارد است که توسط گروه مدیریت شی (اختصاری OMG)تعریف شده‌است که اجزای نرم‌افزاری را که در چندین زبان‌های برنامه‌نویسی نوشته شده‌اند را روی چندین کامپیوتر اجرا می‌کند تا با یکدیگر کار کنند. (به عنوان مثال چندسکویی را پشتیبانی می‌کند).

کوربا امکان همکاری میان سیستم‌های روی سیستم‌عامل‌های، زبان‌های برنامه‌نویسی، و سخت‌افزار رایانه‌ای مختلف را فراهم می‌سازد. کوربا از یک مدل شئ‌گرا به کار می‌گیرد گرچه لزوماً نیازی نیست که سیستمی که از کوربا استفاده می‌کند خود شئ‌گرا باشد. کوربا نمونه‌ای از پارادیم شئ توزیع شده می‌باشد.

بررسی اجمالی
------------

کوربا امکان برقراری ارتباط میان نرم‌افزارهای نوشته شده به زبان‌های برنامه‌نویسی متفاوت و روی کامپیوترهای متفاوت را به وجود می‌آورد. جزئیات پیاده‌سازی در سطوح سیستم‌های عامل و زبان‌های برنامه‌نویسی و سکوهای نرم‌افزاری از عهدهٔ برنامه‌نویسانی که از کوربا استفاده می‌کنند خارج می‌شود. کوربا مفهوم فراخوانی-تابعی میان شئ‌های برنامه‌هایی را که یا در یک فضای آدرس دهی قرار دارند (اپلیکیشن) یا در فضای آدرس دهی مجزا و دور از هم (مانند هاست محلی، یا هاستی که روی شبکه است) نرمال‌سازی می‌کند. در اکتبر سال ۱۹۹۱ ورژن ۱٫۰ منتشر شد.

کوربا از یک زبان تعریف کاربر (IDL) استفاده می‌کند تا رابط‌های ارائه شده توسط اشیاء به جهان خارج، را مشخص کنند. سپس کوربا یک نگاشت از IDL یا همان زبان تعریف کاربر به یک پیاده‌سازی مشخص مثلاً به زبان سی پلاس پلاس یا جاوا برقرار می‌کند.

نگاشت‌های استاندارد برای زبان‌های آدا، سی، سی پلاس پلاس، سی پلاس پلاس ۱۱، کوبول، جاوا، لیسپ، پی ال/1، آبجکت پاسکال، پایتون، روبی و اسمال تاک وجود دارند. نگاشت‌های غیر استاندارد برای سی شارپ، ارلنگ، پرل، تی سی ال و ویژوال بیسیک وجود دارند که به وسیلهٔ واسط درخواست شئ (ORB) برای زبان‌های مذکور پیاده‌سازی شده‌اند.

اسناد مبیّن مشخصات کوربا بیان می‌کنند که واسط درخواست شئ یا همان ORB وجود دارد که از طریق آن یک برنامه با اشیاء دیگر ارتباط خواهد داشت. در عمل این مشخصه اینگونه پیاده‌سازی می‌شود:

1. برنامه ORB را مقدار دهی می‌کند، و به یک آداپتور شیء(Object Adapter) درونی دسترسی دارد، که این آداپتور کارهایی مانند شمارش ارجاع (reference counting)، یا سیاست‌ها و قواعد شیء سازی (Object instantiation)، و سیاست‌های طول عمر شیء مدیریت می‌کند.
2. از آداپتور شئ به منظور ثبت اشیاء کلاس‌های کد تولید شده، استفاده می‌شود. کلاس‌های کد تولید شده، نتیجهٔ کامپایل کد IDL کاربر می‌باشد، که رابط سطح بالا(High level interface) را به کلاس‌های مخصوص سیستم‌عامل و - زبانی خاص- ترجمه می‌کند تا توسط برنامه‌های کاربری(user applications) مورد استفاده قرار گیرند. این مرحله برای تأکید بر معنای کوربا ضروری است و این مرحله برای برقراری ارتباط با زیرساخت کوربا یک فرایند کاربری(user process) فراهم می‌کندen:Common Object Request Broker Architecture#Overview

جستارهای وابسته
---------------

* مهندسی نرم‌افزار بر اساس پیکرپار
* رایانش توزیع‌شده
* معماری سرویس‌گرا (SOA)
* فراخوانی متد راه دور جاوا (Java RMI)
* سکوی جاوا، نسخه سازمانی (Java EE)
* قید (رایانه)
* رابط برنامه‌نویسی نرم‌افزار - API

منابع
-----

1. ↑  More details are available at ORBzone.org بایگانی‌شده در ۲۰۱۲-۱۰-۲۸ توسط Wayback Machine - a community site for CORBA, CCM and related technologies and OSportal بایگانی‌شده در ۱۳ فوریه ۲۰۱۶ توسط Wayback Machine

پیوند به بیرون
--------------

* Official OMG CORBA Components page
* Technical CORBA introduction in master's thesis
* Unofficial CORBA Component Model page
* ORBzone, the CORBA and CCM community site بایگانی‌شده در ۲۸ اکتبر ۲۰۱۲ توسط Wayback Machine