Today's meeting covered some design issues so sending
it out to the list so everyone can see them.

1) Semantic validation - how should it be done? Should
   the client app do it? Should there be a separate
   DTD, that specifies the validation methods for various
   field, that gets passed into the Manifest Parser?

   The cleanest way to do semantic validation seems to be
   to have the specific DataObject sub-classes implement
   semantic validation in the from_xml() method. This way,
   as the Manifest Parser is populating the manifest data
   in the DOC by using from_xml() on the respective
   DataObject sub-classes, the semantic validation will
   get done. The end result being that once the manifest
   data has been stored in the DOC, it is valid syntactically
   as well as semantically.

2) The are some common sections of the AI/DC schema - for
   example, the configuration schema. Who should provide
   the implementation for the DataObject sub-class that
   handles those sections - Manifest Parser, DC or someone
   else?

   Since the common sections of the schema are likely to be
   interpreted differently by AI and DC, it makes sense for
   the individual clients (DC and AI) to provide the implementation.

3) In the case of an error, who writes to the logger? Is it
   the checkpoint or the app?

   The checkpoint would raise the exception. The engine will
   catch it, store it in the errorsvc and return control back
   to the app. The app would retrieve the error from the errorsvc
   and call the logger.

4) Is there a requirement that a checkpoint's get_progress_estimate()
   must be called before execute()?

   In general it is true that a checkpoint's get_progress_estimate
   must be called before execute. However, in the case that a
   checkpoint is called outside of the engine (for example, a DC
   checkpoint calling TransferCPIO directly), it may not even
   call get_progress_estimate. The checkpoint developer needs to
   account for this case.

   This brought back the discussion about whether DC should
   call execute() on a specific checkpoint outside of the
   engine at all. To be continued at next week's meeting.

   Pointer to the original discussion -

   http://opensolaris.org/jive/thread.jspa?threadID=129889&tstart=75

Alok
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to