Content deleted Content added
m Open access bot: doi added to citation with #oabot. |
m Fix misspelling found by Wikipedia:Typo Team/moss – you can help! |
||
Line 1:
{{Short description|Standard to facilitate communication between systems on diverse platforms}}
{{multiple issues|
{{more footnotes|date=February 2009}}
{{manual|date=April 2023}}
}}
{{Use dmy dates|date=December 2019}}
{{Infobox standardref
Line 154 ⟶ 157:
Minor codes for the standard exceptions are prefaced by the VMCID assigned to OMG, defined as the unsigned long constant CORBA::OMGVMCID, which has the VMCID allocated to OMG occupying the high order 20 bits. The minor exception codes associated with the standard exceptions that are found in Table 3–13 on page 3-58 are or-ed with OMGVMCID to get the minor code value that is returned in the ex_body structure (see Section 3.17.1, "Standard Exception Definitions", on page 3-52 and Section 3.17.2, "Standard Minor Exception Codes", on page 3-58).
Within a vendor assigned space, the assignment of values to minor codes is left to the vendor. Vendors may request allocation of VMCIDs by sending email to <code>tagrequest@omg.org</code>. A list of currently assigned VMCIDs can be found on the OMG website at: http://www.omg.org/cgi-bin/doc?vendor-tags
The VMCID 0 and 0xfffff are reserved for experimental use. The VMCID OMGVMCID (Section 3.17.1, "Standard Exception Definitions", on page 3-52) and 1 through 0xf are reserved for OMG use.
Line 180 ⟶ 183:
; Freedom from technologies: One of the main implicit benefits is that CORBA provides a neutral playing field for engineers to be able to normalize the interfaces between various new and legacy systems. When integrating C, C++, Object Pascal, Java, Fortran, Python, and any other language or OS into a single cohesive system design model, CORBA provides the means to level the field and allow disparate teams to develop systems and unit tests that can later be joined together into a whole system. This does not rule out the need for basic system engineering decisions, such as threading, timing, object lifetime, etc. These issues are part of any system regardless of technology. CORBA allows system elements to be normalized into a single cohesive system model.<br> For example, the design of a [[multitier architecture]] is made simple using [[Java Servlet]]s in the web server and various CORBA servers containing the business logic and wrapping the database accesses. This allows the implementations of the business logic to change, while the interface changes would need to be handled as in any other technology. For example, a database wrapped by a server can have its database schema change for the sake of improved disk usage or performance (or even whole-scale database vendor change), without affecting the external interfaces. At the same time, C++ legacy code can talk to C/Fortran legacy code and Java database code, and can provide data to a web interface.
; Data-typing: CORBA provides flexible data typing, for example an "ANY" datatype. CORBA also enforces tightly coupled
; High tunability: Many implementations (e.g. ORBexpress (Ada, C++, and Java implementation)<ref>{{cite web|title=ORBexpress : Real-time CORBA ORB|url=http://www.ois.com/Products/communications-middleware.html}}</ref> and OmniORB (open source C++ and Python implementation))<ref>{{cite web|title=omniORB : Free CORBA ORB|url=http://omniorb.sourceforge.net|work=sourceforge.net|access-date=9 January 2014}}</ref> have options for tuning the threading and connection management features. Not all ORB implementations provide the same features.
|