Looking at the implementation of the service manager component in AutoEdge example, it exposes a function called getoperationdetails which
returns the method or procedure name, the handle and indicates if the parameter dataset is output or input-output. Also it loads the component (or .p) persistent.
The service manager gets the component configuration from a DB table.
The Service interface gateway then invokes the component method
by executing a RUN VALUE(cProcedurename) IN hEntity
What are the recommended approach(es) if one would want to implement such a service manager using OOABL ?
I am thinking a "factory pattern" here, although some constructs like singleton and static methods (and maybe a true "reflection" implementation) are not there yet in the OOABL.
Thanks for sharing your thoughts....
Jurgen
See
http://www.oehive.org/PseudoSingleton
Hi Jurgen
I think the 'factory pattern' is certainly one of the ways we felt this could be implemented, and indeed if you look at the OERA Definition paper on the Service Manager (http://www.psdn.com/library/entry.jspa?externalID=1111&categoryID=111) it includes a factory component in the sequence model. The next question is how. As you say given the current lack of 'true reflection', one option maybe to hard code the factory. The choice then is how you organise the factory (by type or by component for example) and maybe whether you code this manually or have a generator to remove some of the donkey work.
I'd like to have generator remove ALL of the donkey work!
I'd like to have generator remove ALL of the donkey
work!
Than JET in Eclipse can probably do the job...
More likely MDA in EA