Previous | Table of Contents | Next |
When accessing DCOM views of CORBA servers through DCOM (i.e., the DCOM client and DCOM view are not co-located), major performance
issues arise for two primary reasons:
1. Pseudo objects are specific to CORBA and are thus not available in DCOM.
2. Automation does not support complex types such as structs and unions.
The COM/CORBA Part A specification maps CORBA pseudo objects into regular COM and Automation objects since there is no equivalent
to pseudo objects in COM or Automation. In the Automation mapping, structs and unions are also mapped to objects since there
is no Automation equivalent construct (essentially structs and unions are also handled as pseudo objects). When these pseudo
objects are passed to a remote DCOM client that uses standard DCOM marshaling, all access to all members require a remote
call. For example, a DCOM Automation client accessing the members of a structure would make one remote call for each get or
set of a structure member. This, of course, introduces a significant performance bottleneck.