In your ETL jobs, do you ever perform “Lookups” to validate account numbers, confirm product codes, or return discount rates? (I’m sure the answer is “of course you do”) Are you certifying address lines as part of your batch ETL processes? (for many of you, another “of course”) How complex is the logic you are using? How much work have you done to establish such lookups, certify addresses, and test the functionality? …and maintain it? What data sources, security issues and other techniques have you invested in?
Have you thought about how valuable those data integration activities might be to the rest of your organization?
Turn them into a “Service.” One that is easily re-usable, not only for the batch work you are doing today via ETL, but for your real-time applications — your java development teams building a portal, or .NET groups setting up front ends for remote devices. Or perhaps for other applications that are performing internal communications using your company’s choice of enterprise service bus.
This is where the Information Services Director comes into play for information Server — providing the ability to publish DataStage, QualityStage, SQL queries and stored procedures as Services. Take the “guts” of your data integration activity (Lookups, Transforms, etc.) and “publish” them as a Service. A “Service” that is supported by industry standards such as Web Services (SOAP over HTTP) and other protocols, along with the necessary artifacts that include a built-in directory and automatically generated WSDL that illustrates the metadata for your creation.
Services that focus on data integration are often most successful when they are built, documented, and maintained by the teams who truly understand the data. In many organizations, this is the same team that has been living with the data migration, transformation, and data warehousing applications. They have invested time and energy researching the models, the legacy systems, and the oddities of the data under-the-covers. They’ve built extensive transformations using ETL tooling. Why not exploit those skills, expertise, and business rule investments for benefits beyond the decision support systems?
I’m not talking about new stuff, bleeding edge creations, or upcoming technology. DataStage, via “RTI,” has been doing this for 4+ years. Web Services are increasingly mainstream. Data integration is still at the core, and ETL tools have proven their mettle at simplifying the management of data access technology. It’s a shame to see it only used for batch.
Ernie
ps… if you are interesting in reading further about this subject, check out this article on Information as a Service: Data Cleansing Pattern. I was honored to be asked to play a small role in developing this article, written by some of my esteemed IBM teammates. -e


April 15, 2009 at 10:54 pm
Hi Ernie,
I have list of question on WISD’s published thorugh DataStage WebSphere Information Server, please help me if you can:
- can we authenticate the calls made to this wisd, by any way (any kind of security) ?
- Null handling, if i don’t pass input parameter/message to WISD which do the lookup and get the data, it gives error; is there any way to get rid of that error ?
- Is there any way of logging the calls made to this sevice (for maintainence purposes) ?
Hope, you can help me these doubts, thanks in advcance.
April 16, 2009 at 7:48 am
Indeed! ISD supports HTTPS and SSL and basic WS-Security security features easily, with a simple check-box during design, and because ISD services are deployed on WebSphere Application Server, you can establish very deep levels of WS-Security if necessary. Nulls can and should be handled inside the Job….but it may depend on the error….there are some types of data issues that get stopped at the SOAP level, long before ISD receives it…..some even at the client level, depending on the tool that you are using (assuming you are using SOAP). Please share details of the error you ae getting.
ISD uses the normal WebSphere stack for deployment of its services. Tivoli provides integrated tools to do monitoring of such services.
Ernie
April 16, 2009 at 11:59 am
Thanks a lot for your time and answers. If you can explain following things to me in detail, it would be a great help as i am novice in this area.
- for security as you explained, is there any documentation as i have all the documentation for 8.0.1 (but was not able to find how to implement that when calling Web Services outside datastage; like if i am calling web service publised on ISD thorugh eclipse for testing). Any way i can define while creating WISD to authenticate who is calling it.
- for Null: when i call the service thorugh ecilpse to test and in service (i call a job to do lookup where input is not null) and if i pass no value and invoke service it gives me following error:
exception: javax.ejb.EJBException: nested exception is: javax.transaction.TransactionRolledbackException: CORBA TRANSACTION_ROLLEDBACK 0×0 No; nested exception is: org.omg.CORBA.TRANSACTION_ROLLEDBACK: “javax.transaction.TransactionRolledbackException: ; nested exception is: javax.ejb.EJBException: nested exception is: com.ascential.asb.agent.HandlerException: Job samtestproj.jp_Wisd_get_Info.1236904303669.PipeReceiver Aborted. vmcid: 0×0 minor code: 0 completed: No”
- for logging purpose, i will do my homework of finding more on it and then get back to you if i have any doubts.
Thanks a lot, hoping to get some more thoughts from you on my doubts.
- Sam
April 17, 2009 at 7:17 am
Hi…
The features for built in security are in the 8.1 release, which became available about six months ago. In 8.0 you can do any kind of security also, but have to do it at the WAS layer. I can dig up a document for you on this that I worked on with our engineering team.
As for nulls, are you sending up the entire input message as null, or just one of the column values? If so, what binding are you using? Watch the DS Job in the DS Director. Does the instance stay running, or does the job abort. The error below is fairly generic…it’s hard to say if the job is not liking the nulls, or if the nulls aren’t even getting to the DS Job. And just a thought — why are you passing nulls? If the properties aren’t filled at all, why make the invokation?
Ernie
April 17, 2009 at 3:37 pm
Thanks again for timely response…!
Can you help me with some documentation on Security in DS 8.0 for WebServices, at what levels we can implement and types of authentication. I really need this.
My Email: sensual_sturdy@yahoo.com
I tried handling the null part in my DS job and it worked fine for me, will get back to you if i get any more doubts on it.
Thanks a lot !
- Sam
April 21, 2009 at 2:31 pm
Thanks a lot, that document helped a lot and i have also implemented small java codes in java transformer, it all works… wonderful…!
will come back to you in case of any other questions or help…
Thanks again !
- Sam
April 21, 2009 at 5:53 pm
Excellent!
September 19, 2009 at 8:56 am
Hello Sam,
I see you refer to some document that helped you resolve the issue you mentioned. I’m having the same problem, at least the same error message. It would be great if you could send me that document you used to solve the issue.
Thanks in advance
September 29, 2009 at 1:24 pm
Hi Alberto,
Apologies for replying late, please let me know your email-id where i can forward you the document which helped me and also that was given to me by Ernie(The Man) himself and it his document only.
Thanks…!
- Sam