Kbase P88345: Synchronization of child SDOs within an SBO causes extra AppServer Hits
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  17/10/2004 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
Poor performance when navigating the top level SDO within an SBO
Application slows down when navigating through the records in the higher level SDO's dataset
Progress makes extra round trip(s) to the AppServer to keep the SDOs contained within the SBO synchronized
Using the SmartBusinessObject in a distributed SmartObjects Application
SBO being used contains two or more related SDOs
Performance is much better when running individually linked SDOs without the SmartBusinessObject
CAUSE:
This happens because of the transactional nature of the SBO and due to the fact that, during a transaction, an SBO needs to have all datasets synchronized to avoid problems.
On the other hand, individually linked SDOs (outside an SBO) have the ability to disable their data-source links for inactive data targets via its "Activate/deactivate DataTargets on view/hide" instance property, which will cause them to not fetch data for child SDOs until it is necessary (good for performance).
FIX:
Drop the use of SBOs and develop/implement an add-on procedure to the SDO for mimicking the current functionality of the SBOs without having extra AppServer hits (which will improve performance)