کوربا (به انگلیسی: Common Object Request Broker Architecture) (اختصاری CORBA)یک استاندارد است که توسط گروه مدیریت شی (اختصاری OMG)تعریف شدهاست که اجزای نرمافزاری را که در چندین زبانهای برنامهنویسی نوشته شدهاند را روی چندین کامپیوتر اجرا میکند تا با یکدیگر کار کنند. (به عنوان مثال چندسکویی را پشتیبانی میکند).[۱]
کوربا امکان همکاری میان سیستمهای روی سیستمعاملهای، زبانهای برنامهنویسی، و سختافزار رایانهای مختلف را فراهم میسازد. کوربا از یک مدل شئگرا به کار میگیرد گرچه لزوماً نیازی نیست که سیستمی که از کوربا استفاده میکند خود شئگرا باشد. کوربا نمونهای از پارادیم شئ توزیع شده میباشد.
کوربا امکان برقراری ارتباط میان نرمافزارهای نوشته شده به زبانهای برنامهنویسی متفاوت و روی کامپیوترهای متفاوت را به وجود میآورد. جزئیات پیادهسازی در سطوح سیستمهای عامل و زبانهای برنامهنویسی و سکوهای نرمافزاری از عهدهٔ برنامهنویسانی که از کوربا استفاده میکنند خارج میشود. کوربا مفهوم فراخوانی-تابعی میان شئهای برنامههایی را که یا در یک فضای آدرس دهی قرار دارند (اپلیکیشن) یا در فضای آدرس دهی مجزا و دور از هم (مانند هاست محلی، یا هاستی که روی شبکه است) نرمالسازی میکند. در اکتبر سال ۱۹۹۱ ورژن ۱٫۰ منتشر شد.
کوربا از یک زبان تعریف کاربر (IDL) استفاده میکند تا رابطهای ارائه شده توسط اشیاء به جهان خارج، را مشخص کنند. سپس کوربا یک نگاشت از IDL یا همان زبان تعریف کاربر به یک پیادهسازی مشخص مثلاً به زبان سی پلاس پلاس یا جاوا برقرار میکند.
نگاشتهای استاندارد برای زبانهای آدا، سی، سی پلاس پلاس، سی پلاس پلاس ۱۱، کوبول، جاوا، لیسپ، پی ال/1، آبجکت پاسکال، پایتون، روبی و اسمال تاک وجود دارند. نگاشتهای غیر استاندارد برای سی شارپ، ارلنگ، پرل، تی سی ال و ویژوال بیسیک وجود دارند که به وسیلهٔ واسط درخواست شئ (ORB) برای زبانهای مذکور پیادهسازی شدهاند.
اسناد مبیّن مشخصات کوربا بیان میکنند که واسط درخواست شئ یا همان ORB وجود دارد که از طریق آن یک برنامه با اشیاء دیگر ارتباط خواهد داشت. در عمل این مشخصه اینگونه پیادهسازی میشود: