Page 1 of 1

Container-based vs. sequence-based design models

Posted: Fri Mar 25, 2005 11:47 am
by RodBarnes
I've been exploring use of containers within a job to separate tasks vs. putting the tasks into separate jobs and then putting the jobs together with a sequence.

Here's my thoughts and I ask for related feedback from the experts -- bascially everyone else :-)

Container-based Design Model - Pros:
1) It seems that a model where tasks are put into containers within the same job is easier to maintain, manage, and administer. 2) It also seems that the overall processing time is less.

Container-based Design Model - Cons:
1) Development seems more difficult as you can't just run a particular task in the container; you have to run the whole job. For example, if you are working on a series to export - transform - import, you can't just run the import task to test it; you have to run the entire job. 2) Using Before/After routines you have some control over the processing and can send messages etc. but it is not as convenient as just dropping a stage into the sequence.

Sequence-based Design Model - Pros:
1) There is more control over processing -- you can easily add a notification task to send a message or whatever after a job completes. 2) Development seems easier because you can work on each task individually (e.g., export, transform, import, etc.) without having to run the entire series to test it.

Sequence-based Design Model - Cons:
1) The overall processing time seems to be greater. 2) It can get a bit tedious if you are passing a number of parameters to lower sequences and jobs as you have to set up the parameters values for each job/sequence.

Posted: Fri Mar 25, 2005 4:29 pm
by ray.wurlod
Welcome aboard! :D

I prefer to use job sequences in this context. One of the first things I do with a new project is to create a "template" job sequence (unfortunately one can not create a Template from a Job Sequence) containing all the standard parameters for the project. By using "Save As" I clone this and have a sequence to which I can then add activities and have the parameters ready to roll. Yes, it's necessary to transfer the parameters to the first Job Activity, but the remainder can be managed via copy-and-paste.

I do use containers. Local containers hide complexity in the top level design (I only ever show the top level design to management!). Shared containers perform common tasks, such as updating tables in which error information is stored, or delivering the next value from a sequence.

Posted: Mon Mar 28, 2005 10:15 am
by RodBarnes
Thanks for the feedback.

Like you, we have a job template containing all the infrastructure and parameters. We then just do a "Save As" when beginning a new job.

I appreciate your perspective on container usage. Again, thanks.

Posted: Mon Mar 28, 2005 10:28 am
by roy
Hi and Welcome aboard :),
As Ray mentioned they simply provide different functionalities, so theres (is this gramar correct Ray?) no real question of pros/cons, since they don't "compete".

IHTH,