Common Object Request Broker Architecture: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 11:
In a general sense CORBA "wraps" [[code]] written in another [[language]] into a [[bundle]] containing additional [[information]] on the capabilities of the code inside, and how to call it. The resulting [[wrapped object]]s can then be called from other [[program]]s (or CORBA [[object]]s) over the [[network]]. In this sense CORBA can be considered as a machine-readable [[documentation format]], similar to a [[header file]] but with considerably more information.
 
CORBA uses an [[Interface definition language|interface definition language]], to specify the [[interface]]s that [[object]]s will present to the [[world]]. CORBA then specifies a "[[mapping]]" from [[IDL]] to a specific [[implementation language]] like [[Ada]], [[C plus plus|C++]] or [[Java programming language|Java]]. This mapping precisely describes how the CORBA [[data type]]s are to be used in both [[client]] and [[server implementation]]s. Standard mappings exist for [[Ada]], [[C language|C]], [[C plus plus|C++]], [[Smalltalk|Smalltalk]], [[Java programming language|Java]] and [[Python programming language|Python]]. There are also non-standard mappings for [[Perl]] and [[Tcl]] implemented by [[ORB]]s written for those languages.
 
The CORBA IDL is only one example of an IDL.
 
CORBA is most widely used with Ada, C++ or Java, but it is also usable with Smalltalk, C, Python, Perl and Tcl, and therefore allows easy [[interoperability]] between all those languages.
 
CORBA is more than just a language and platform neutral [[remote procedure call]] specification. It defines commonly needed [[service]]s such as [[transaction]]s and [[security]].