Content deleted Content added
m linking |
m Task 18 (cosmetic): eval 28 templates: hyphenate params (10×); |
||
Line 44:
| title=History of CORBA
| publisher=[[Object Management Group]]
|
| url=http://www.corba.org/history_of_corba.htm
| title=History of CORBA
| publisher=[[Object Management Group]]
|
{| class="wikitable"
|-
Line 122:
| publisher=[[Dr. Dobb's Journal]]
| date=1 September 2004
|
The CCM has a component container, where software components can be deployed. The container offers a set of services that the components can use. These services include (but are not limited to) [[Notification system|notification]], [[authentication]], [[persistence (computer science)|persistence]] and [[transaction processing]]. These are the most-used services any distributed system requires, and, by moving the implementation of these services from the software components to the component container, the complexity of the components is dramatically reduced.
Line 177:
; Data-typing: CORBA provides flexible data typing, for example an "ANY" datatype. CORBA also enforces tightly coupled datatyping, reducing human errors. In a situation where Name-Value pairs are passed around, it is conceivable that a server provides a number where a string was expected. CORBA Interface Definition Language provides the mechanism to ensure that user-code conforms to method-names, return-, parameter-types, and exceptions.
; 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|
; Freedom from data-transfer details: When handling low-level connection and threading, CORBA provides a high level of detail in error conditions. This is defined in the CORBA-defined standard exception set and the implementation-specific extended exception set. Through the exceptions, the application can determine if a call failed for reasons such as "Small problem, so try again", "The server is dead" or "The reference does not make sense." The general rule is: Not receiving an exception means that the method call completed successfully. This is a very powerful design feature.
Line 184:
== Problems and criticism ==
While CORBA delivered much in the way code was written and software constructed, it has been the subject of criticism.<ref name="CORBA_trouble">{{cite web |url=http://www.davidchappell.com/articles/article_Trouble_CORBA.html |
Much of the criticism of CORBA stems from poor implementations of the standard and not deficiencies of the standard itself. Some of the failures of the standard itself were due to the process by which the CORBA specification was created and the compromises inherent in the politics and business of writing a common standard sourced by many competing implementors.
Line 192:
;Location transparency
:CORBA's notion of ___location transparency has been criticized; that is, that objects residing in the same [[address space]] and accessible with a simple [[function call]] are treated the same as objects residing elsewhere (different processes on the same machine, or different machines). This is a fundamental design flaw,<ref>{{cite journal|last=Waldo|first=Jim|author2=Geoff Wyant |author3=Ann Wollrath |author4=Sam Kendall |title=A Note on Distributed Computing|journal=Sun Microsystem Laboratories|date=November 1994|url=http://www.cc.gatech.edu/classes/AY2010/cs4210_fall/papers/smli_tr-94-29.pdf|
;Design and process deficiencies
:The creation of the CORBA standard is also often cited for its process of [[design by committee]]. There was no process to arbitrate between conflicting proposals or to decide on the hierarchy of problems to tackle. Thus the standard was created by taking a union of the features in all proposals with no regard to their coherence.<ref name="ACM_fall"/> This made the specification complex, expensive to implement entirely, and often ambiguous.
Line 201:
:Through its history, CORBA has been plagued by shortcomings in poor ORB implementations. Unfortunately many of the papers criticizing CORBA as a standard are simply criticisms of a particularly bad CORBA ORB implementation.
:CORBA is a comprehensive standard with many features. Few implementations attempt to implement all of the specifications,<ref name="ACM_fall">{{cite journal |first=Michi |last=Henning |url=http://queue.acm.org/detail.cfm?id=1142044 |title=The Rise and Fall of CORBA |publisher=[[Association for Computing Machinery]] |journal=[[ACM Queue]] |volume=4 |issue=5 |date=30 June 2006 |
:Robust implementations of CORBA have been very difficult to acquire in the past, but are now much easier to find. The SUN Java SDK comes with CORBA built-in. Some poorly designed implementations have been found to be complex, slow, incompatible and incomplete. Robust commercial versions began to appear but for significant cost. As good quality free implementations became available the bad commercial implementations died quickly.
Line 270:
*{{cite book |first=Thomas J. |last=Mowbray |first2=Raphael C. |last2=Malveau |title=CORBA Design Patterns |publisher=John Wiley & Sons |ISBN=0-471-15882-8 |url-access=registration |url=https://archive.org/details/corbadesignpatte00mowb }}
*{{cite book |first=Robert |last=Orfali |first2=Dan |last2=Harkey |first3=Jeri |last3=Edwards |title=Instant CORBA |url=https://archive.org/details/instantcorba00orfa |url-access=registration |publisher=John Wiley & Sons |ISBN=0-471-18333-4}}
* {{cite book |last=Harmon |first=Paul |first2=William |last2=Morrissey |year=1996 |title=The Object Technology Casebook |publisher=John Wiley & Sons |ISBN=0-471-14717-6 |
== External links ==
|