Hi Simon,

Thank you for your replay.

To help you to better understand the context i have to give you some
additional information.

First of all the wish is to be less intrusive as possible.
The intention is to build a thin layer around SDO_DAS_Relational
related classes.

To be concised:

In SDO_DAS_Relational  DataObjectImpl istance is the main object used
to set the varius changes to the underlying DB-Host.
The goal is to intercept both the moment in which DataObject changes
its state, or better when one or more of its properties are modified,
and when its general state change from "pending changes" to "changes

Before and after those particular moments should be activate Business
Rules to do some particular actions ( verify logical constranis, value
ranges, setting default values and so on).

At the moment one possible, simple way, could be used to get it. I
developed a simple prototype consisting of:

A IBusinessObjectRule interface. All Objects containing Business Rules
should implements that interface.

A DataObjectExt containing a reference to a real DataObject, a
reference to the related IBusinessObjectRule implementing class

Derivations of SDO_DAS_Reletional , SDO_DAS_Relational_UpdateAction,
SDO_DAS_Relational_InsertAction, SDO_DAS_Relational_DeleteAction

Plus a FactoryObject Class to which to demand some propedeutic work.

Some additional difficulties will be surely represented by the
impossibility to give a full control of the internal mechaninsm of
DataObject, in fact we are obliged to work only on its public and
external interface. DataObjectExt will be a simple, surrogate
DataObject using the "magic" __call, __set , __get methods to delegate
the corresponding invocations to the real DataObject below. Before and
After each invocation a corresponding call to the BusinessObject
method will be invoked.

SDO_DAS_RelationalExt extending SDO_DAS_Relational class will oper on
the new creations of DataObject ( that will be new DataObjectExt
incapsulating DataObject) and on the applyChanges method, that will
use the extended classes mentioned above in order to invoke the
BusinessObject validations rules for the CRUD Operations before adding
the new command to the Execution Plan.

I know that you have two solve two major problems at the moment:
1) To immagine how does it could work.
2) Understand my English.

Well , we can going on if you are interested, also with other
discussion contributors.
Part of the source code is developed and it can be subject for
experiments and further consideration.
I can prepare a simple Class diagram and a Sequence diagram to help me
to be the more clear as possible.

Waiting  for yours notices and requests.



You received this message because you are subscribed to the Google Groups 
"phpsoa" group.
To post to this group, send email to phpsoa@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 

Reply via email to