Author |
Message
|
newbie |
Posted: Wed Oct 12, 2005 5:52 am Post subject: JDBC Adapter v/s Database nodes |
|
|
Guest
|
Hi, I am looking for some best practice recommendations in using a database / compute node in a message flow v/s using a JDBC adapter on the outbound side for updating databases. Any suggestion welcome.
thanx |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 12, 2005 5:55 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I wouldn't use the JDBC adapters unless you need specific functionality that they provide that broker doesn't.
And updates is not one of those functions.
Adpaters are complicated and somewhat hard to configure and install - and also something else that has to be maintained and monitored.
http://www.redbooks.ibm.com/ is a good place to find best practices. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
lequimm |
Posted: Wed Oct 12, 2005 6:01 am Post subject: |
|
|
Apprentice
Joined: 18 Aug 2005 Posts: 26
|
hello,
I have worked with database nodes and also with jdbc in java classes. What do you call a jdbc adaptater ? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 12, 2005 6:02 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
lequimm |
Posted: Wed Oct 12, 2005 6:15 am Post subject: |
|
|
Apprentice
Joined: 18 Aug 2005 Posts: 26
|
ok, hum sorry, I haven't used this technology so I can't compare it . |
|
Back to top |
|
 |
lequimm |
Posted: Wed Oct 12, 2005 6:22 am Post subject: |
|
|
Apprentice
Joined: 18 Aug 2005 Posts: 26
|
hey cool ! ! I am an apprentice now ! ! some effort and I will be a Jedi  |
|
Back to top |
|
 |
hopsala |
Posted: Wed Oct 12, 2005 7:59 am Post subject: |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
jefflowrey wrote: |
I wouldn't use the JDBC adapters unless you need specific functionality that they provide that broker doesn't.
...
Adpaters are complicated and somewhat hard to configure and install - and also something else that has to be maintained and monitored. |
I heartily agree with Jeff, and wish to add:
A. When Jeff said "somewhat hard" I say "A real pain in the neck, an endless journey into the realm of deceit, pain and pitiless error messages".
B. Adapters are external components to the WBI infrastructure, that is, they are independant processes; as such, they serve as an additional point of failure that needs to be monitored, controlled, debugged etc.
C. There is one important feature that the JDBC adapter provides, and database nodes do not: event handling; The JDBC adapter is able to draw events from a table and trigger your flow accordingly. This is mainly used for database (or just plain data) propagation and integration.
In short, if C is not relevant, use database nodes.  |
|
Back to top |
|
 |
ourtown |
Posted: Wed Oct 12, 2005 9:18 am Post subject: |
|
|
 Acolyte
Joined: 05 Feb 2002 Posts: 67 Location: Somerset, NJ
|
There is a third choice
I would claim that Database access is an application and is better handled as such
This avoids all the problems of error handling, security and requirement/table changes _________________ Brian S. Crabtree
WBI Consultant |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 12, 2005 9:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The arguements for and against using broker as an application platform are varied and do not converge to a single decision- despite what IBM says.
To say that all database access should be handled in an application is to say that you can never use broker to augment messages with data that is stored in databases... which severely limits it's use as a routing and transformation tool - particularly when you want to store routing information in a database!
To say that Broker performs poorly for database updates is to ignore the fact that performance is not the most important priority in all job lists.
To decide that all database updates should be performed in an external application could significantly destroy the scope of a broker based project, for little added value... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
djeripo |
Posted: Mon Oct 17, 2005 8:37 am Post subject: |
|
|
 Master
Joined: 25 Jan 2004 Posts: 225
|
To add more for this topic,
Our infrastructure has JDBC adapter and WBIMB.If there comes a new requirement where we are supposed to invoke a DataBase,I would advice my application team to use JDBC Adapter rather than overkilling the broker.From our past experiences we had Broker going out of memory while trying to access DataBase from the Broker.So I would suggest make your applications as much modular as you can.Let broker do what it is supposed to do and also the JDBC adapter. |
|
Back to top |
|
 |
reddy_kal |
Posted: Tue Oct 18, 2005 8:02 am Post subject: |
|
|
Acolyte
Joined: 04 Nov 2002 Posts: 73
|
Hello,
I agree with "djeripo".
I would also suggest to use JDBC Adapter. Maybe it will be complex for the first time. But if you start using it, you will like that.
If you want to have Broker handling Database queries like select, inserts, updates, deletes and so on... Your CPU usage on the Broker machine will be effected.
If you use JDBC Adapter, you can configure this on a different machine and route the messages to that QueueManager where JDBC Adapter is running from MessageBroker and JDBC Adapter can process those messages to the database.
-Reddy |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Oct 18, 2005 8:13 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Djeripo and reddy_kal...
Suppose I need to augment my message with routing data from a database table...
Should I really encur the extra work to go out to the JDBC adapter, select the data I need, and do something to aggregate the result with my original message?
The only advantage that putting the JDBC adapter on another machine conveys is that it can be a "smaller" machine than the broker machine, and thus have a smaller licensing cost.
But it's going to add a performance hit to most everything that needs to use it, because of the extra network traffic back and forth. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
reddy_kal |
Posted: Tue Oct 18, 2005 10:06 am Post subject: |
|
|
Acolyte
Joined: 04 Nov 2002 Posts: 73
|
Hello,
What exactly you meant by "augment my message". You mean pulling messages from Database.
Using JDBC Adapter you can pull messages from Database.
As per my experience, If you have many applications running on the MessageBroker and if you have heavy volume of messages processing through this MessageBroker, then JDBC Adapter is the idle solution.
-Reddy |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Oct 18, 2005 10:15 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I mean if my message starts out as "<a><b>value</b></a>", and I need to change it to "<a><b>value</b><c>value from database</c></a>", how can I get the value for c from the JDBC adapter and insert it into the message in Broker?
I suspect you will tell me to do all of this inside the JDBC adapter, to send the message from broker out to JDBC adapter and configure GSBOs and ASBOs to model this and then configure the JDBC adapter to retrieve the data and then add it to the message, and then pass it back to the broker.
This is not an ideal solution in many cases.
reddy_kal wrote: |
As per my experience, If you have many applications running on the MessageBroker and if you have heavy volume of messages processing through this MessageBroker, then JDBC Adapter is the idle solution. |
If the JDBC adapter is already paid for, and if there is already expertise for using it in house, then maybe.
It may be better to spend a small amount of time optimizing the worst performing flows, and then getting better usage out of broker and being able to support the performance of doing database work from inside broker.
Based on my experience, I would never recommend using any of the WBI Adapters unless there was a very specific requirement that could nto be met in another way. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
reddy_kal |
Posted: Tue Oct 18, 2005 10:30 am Post subject: |
|
|
Acolyte
Joined: 04 Nov 2002 Posts: 73
|
Hello,
Yes I agree there are some restrictions in JDBC Adapter. We cannot compare JDBC Adapter with MessageBroker. We cannot do everything what MessageBroker can do in JDBC Adapter Business Objects.
As you said, Yes I was thinking in converting GSBOs to ASBOs.
If you just wanted to send good volume of data from a source to a oracle database, without changing much, may be JDBC Adapter is idle(Ofcourse, with some restrictions).
-Reddy |
|
Back to top |
|
 |
|