Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
_AnonymousUser
Specialist III
Specialist III

Newbie questions

Hi,
I am evaluating Talend Open Studio for my company. We are mainly a Microsoft shop and would prefer not to code in Java. I realize this is a Java code generator, we are perfectly fine as long as we can stay within gui development/configuration. My first two newbie/dumb questions are:
1. What is the difference between TOS Data Integration and ESB? I downloaded both and at a glance, didn't notice any apparent differences between the two. We are interested in a service bus, so I've been playing with TOS ESB for a couple of weeks now.
2. In a simple job with tMOMOutput followed by tMSSqlOutput, how do I make both components run within the same transaction? I would like to see both database commit and message acknowledgement happen within one atomic transaction. Either both happen or neither, under any circumstances.
Thanks in advance!
Labels (4)
13 Replies
Anonymous
Not applicable

Hi,
What is the difference between TOS Data Integration and ESB?

Only Talend ESB allows developers to develop, build, test and publish Java Web services, REST applications, data services and messaging routes ? all from a single user interface. http://www.talend.com/products/esb
In a simple job with tMOMOutput followed by tMSSqlOutput, how do I make both components run within the same transaction?

Do you want to get one output in Mssql DB and the other one is to ActiveMQ?
The workflow structure should be: input-->mian-->t<DB>output-->mian-->tMOMOutput
or input-->tReplicate-->mian-->t<DB>output
-->main-->tMOMOutput
Best regards
Sabrina
_AnonymousUser
Specialist III
Specialist III
Author

Thanks Sabrina. Sorry, I've made a typo on my 2nd question above. The input is ActiveMQ and the output is SQL Server. So, my test flow looks like this:
tMOMInput --> tMap --> tMSSqlOutput
Can the ActiveMQ client acknowledgement and the database commit both happen within a single transaction? Is it possible that the server/process dies in between database commit and message acknowledgement so that a record is written to database but the message is not acknowledged? (<--this is undesirable for us)
Anonymous
Not applicable

Hi,
Can the ActiveMQ client acknowledgement and the database commit both happen within a single transaction?

It can be achieved in a single transaction.
Such as:
tRowrenerator--mian-->tMomoutput-->oncomponentok-->tMOMInput --> tMap --> tMomOutput-->tMysqlOutput.
Can the ActiveMQ client acknowledgement and the database commit both happen within a single transaction? Is it possible that the server/process dies in between database commit and message acknowledgement so that a record is written to database but the message is not acknowledged? (<--this is undesirable for us)

It is possible that a record is written to database but the message is not acknowledged on ActiveMQ when the server/process crash suddenly.

Best regards
Sabrina
0683p000009MErP.png
_AnonymousUser
Specialist III
Specialist III
Author

Thanks for the clarification Sabrina. Is there a way to implement this within Talend? I found some old posts here discussing about XA Transaction support. But those posts date back a couple of years. Has anything changed since then to support XA Trasnaction in Talend?
Anonymous
Not applicable

Hi,
Perhaps this Talend ESB Mediation Developer Guide: TalendESBMediationDeveloperGuide53EN/3.24.2 Notesfor XA Transaction part will be helpful for you.
Best regards
Sabrina
_AnonymousUser
Specialist III
Specialist III
Author

Hi Sabrina,
That article seems to address messaging transaction only, it does not include database transaction. Please correct me if I am wrong.
In my example, for message acknowledgement and database insert, is it possible to make both happen, or neither happen under any circumstances? This is what I meant by "XA transaction" or "atomic transaction" across both messaging and database. This makes it impossible to have a database insert committed but message not acknowledged. Either both happen or neither happen under any circumstances, such as sudden server crash or network issues.
_AnonymousUser
Specialist III
Specialist III
Author

Hi again,
I found this article describing exactly what I was looking for (in the top section):
http://activemq.apache.org/should-i-use-xa.html
Is this supported by TOS ESB out of the box? Or do I have to write some Java code?
Anonymous
Not applicable

Hi Chung Chang,
Sorry for the delay, so far talend don't support for XA transactions (two phase commit?) as the article mentioned both in Talend Open Studio for ESB and Talend Enterprise Subscription Version.
It is welcome to open a JIRA issue in the Talend ESB project of the JIRA bugtracker for a new feature.
Best regards
Sabrina
_AnonymousUser
Specialist III
Specialist III
Author

Thanks again Sabrina. I have opened a new issue as you have suggested: https://jira.talendforge.org/browse/TESB-10795#. I am surprised that this feature isn't more sought after. No infrastructure is 100% reliable. So, how do your users typically deal with inconsistent transaction states after an unexpected infrastructure crash?