Consultor Eletrônico



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)