CORBA 2.3.3 Programmer's Guide for C++
 readonly attribute string CustomerName;
 readonly attribute string CustomerAddress;
}
If this type of object is distributed, the client must send a separate message to read each attribute.
However, if the interface definition is changed to have one attribute, the client can send one
message to get all the information:
interface account {
 struct CustomerRecord {
 string name;
 string address;
 };
 readonly attribute CustomerRecord customer;
} ;
Isolate CORBA functions and database access functions from business logic. Isolating CORBA
functions from non-CORBA functions is often referred to as delegation.
Independent data access objects (DAOs) allow SQL/MP and SQL/MX database accesses, which
are process-blocking operations, to be isolated from other functions that can be implemented using
multithreading. Data access objects can be implemented as context-free Pathway servers,
configured as server pools, that instantiate only one object per process and have the following
POA policy settings:
Lifespan policy
PERSISTENT
State policy
STATELESS
Threading policy
SINGLE_THREAD_MODEL
● 
Use server pools to distribute objects and when possible, requests for the same object, across
processors, as described in Parallel Processing and Its Implications.
● 
Ensure that the amount of data transferred with each remote operation is neither too large nor too
small.
● 
Whenever possible, use data types that have low marshaling costs, such as primitive data types and
structs. Avoid using the any data type if at all possible.
● 
Consider using fewer, larger CORBA objects (coarse object granularity).● 










