Writing a Plugin???

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
PilotBaha
Premium Member
Premium Member
Posts: 202
Joined: Mon Jan 12, 2004 8:05 pm

Writing a Plugin???

Post by PilotBaha »

I know this may sound as a pretty broad question but how hard would it be to write a plugin for DS that would execute/pass data to and do the reverse to/from a different application?
kiran_kom
Participant
Posts: 29
Joined: Mon Jan 12, 2004 10:51 pm

Post by kiran_kom »

Quite easy if u were on Unix...Just use named pipes to do your job.......Write into the pipe using DS. Read from that pipe using another application.. write back to another pipe from the application...Read from DS....

I dont think it is possible to implement a similar application under windows. Windows does not represent a named pipe as a file...however if the application that modifies the data is written by you, you should be able to read from the pipe using your own code (I've never actually done it, but it should be possible to do it..)...
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

If the other application writes to stdout, you could specify that application as the "filter" in a Sequential File stage that reads the data - the downside being that the application would be started by DataStage.

But it's really going to depend on where the data are in the application, and how data are gotten in and out. DataStage expects rows and columns so this is what you have to deliver to DataStage and receive from DataStage.

Writing a Plug-In stage is not for the faint hearted - you need to be a fairly competent C programmer (and have the appropriate C compiler and Perl on the development machine) and C++ programmer if you want to deploy a custom GUI. It's all in the Plug-In Writer's Guide, which is available from Ascential.

Conceptually it's straightforward enough, and there are samples provided, but you have to implement the fourteen generic functions specifically for your application, which means you need to know your application very well indeed. For example, how do you handle notification to abort? To reset?

Try to find a better way. With named pipes or filters I'm sure there is one. Is there, for example, an ODBC or OLEDB interface to your application or to its underlying data storage?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply