Container-based vs. sequence-based design models

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
RodBarnes
Charter Member
Charter Member
Posts: 182
Joined: Fri Mar 18, 2005 2:10 pm

Container-based vs. sequence-based design models

Post 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.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post 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.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
RodBarnes
Charter Member
Charter Member
Posts: 182
Joined: Fri Mar 18, 2005 2:10 pm

Post 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.
roy
Participant
Posts: 2598
Joined: Wed Jul 30, 2003 2:05 am
Location: Israel

Post 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,
Roy R.
Time is money but when you don't have money time is all you can afford.

Search before posting:)

Join the DataStagers team effort at:
http://www.worldcommunitygrid.org
Image
Post Reply