کوربا

کوربا  یک استاندارد است که توسط گروه مدیریت شی تعریف شده‌است که اجزای نرم‌افزاری را که در چندین زبان‌های برنامه‌نویسی نوشته شده‌اند را روی چندین کامپیوتر اجرا می‌کند تا با یکدیگر کار کنند. (به عنوان مثال چندسکویی را پشتیبانی می‌کند).

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

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

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

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

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

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

منابع

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

 Official OMG CORBA Components page
 Technical CORBA introduction in master's thesis
 Unofficial CORBA Component Model page
 ORBzone, the CORBA and CCM community site 

 
ارتباطات بین پردازشی
استانداردهای ایزو
برنامه‌نویسی شیءگرا
گنوم
مهندسی نرم‌افزار بر پایه مولفه