Author |
Message
|
sgiles |
Posted: Thu Jan 30, 2014 4:06 pm Post subject: How to pass variables to IIB and make them read only |
|
|
Newbie
Joined: 12 Feb 2002 Posts: 8 Location: Melbourne , Australia
|
Hi,
I would like to pass data into IIB that is read-only within the broker.
Examples are
a) specify the operational environment (eg Development, System Test, Production) the broker is running on, or
b) userid/password details passed within a web service call from the broker to an external application.
The options considered were
a) use the FileRead node to read data from a file and store the data into shared variables
b) use a UserDefined configurable service and access the properties within a javacompute node
I believe that both approaches allow a message flow to not only read the data but also change the value globally so that every message flow gets the updated value. http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.etools.mft.doc/be43730_.htm. The ability for a message flow to change global static data is an audit concern. Either the data cannot be changed or it is reported when it does change.
I would imagine this requirement would be a common one.
Is there a way to acheive this through restricting the update of the properties within the UserDefined configurable service or is there another way to pass data into IIB as read-only variables? The preference is to access the information natively (not write userdefined plugins) and ensure the access is efficient from all broker nodes; eg compute, java, mapping, routing, etc....
Thanks
Stephen |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Jan 30, 2014 10:23 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
This post http://www.mqseries.net/phpBB2/viewtopic.php?t=66466
has another option you might like to consider.
The DB method works and has been proven in some relatively high throughput systems (200K messages/hour)
Reading stuff from files is so 'java properfies files'. We can do better in Broker especilly using methods that do not require changes to the underlying code to implement tweaks to the data. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Esa |
Posted: Thu Jan 30, 2014 11:00 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
I have used an ESQL wrapper for a static java method that fetches user defined configurable service properties. Works nicely. Deploy the jar in shared-classes and most developers hardly even notice that they are using java under the hoods.
That makes the properties virtually read only, too. Especially if the customer does not allow using JCN.
When it comes to user id's and passwords, it may be a good idea to store them encrypted and create a java method that serves the values decrypted. |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Jan 31, 2014 2:01 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Esa wrote: |
. Deploy the jar in shared-classes and most developers hardly even notice that they are using java under the hoods.
|
As soon as you mention 'shared classes' the 'No Java Here' brigade get all uppity.
 _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jan 31, 2014 6:34 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Unfortunately, the "no java here" camp is losing ground every day.
The globalCache is a good solution to this problem, with some extra effort needed to make sure it's "read only". |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 31, 2014 6:48 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Unfortunately, the "no java here" camp is losing ground every day. |
I shall fight to the last drop of someone else's blood.
My "objections" to Java inside WMB (aside from I don't understand a word of it) remain the same:
- too many developers think WMB = WAS and write a flow with a single JCN that looks like an MDB
- too many developers bloat WMB by loading a ton of jar files rather than using the inbuilt facilties
- too many developers don't bother with memory management "because WAS clears it up for us"
These are not technical objections but political and procedural ones. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Jan 31, 2014 8:28 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
mqjeff wrote: |
Unfortunately, the "no java here" camp is losing ground every day.
The globalCache is a good solution to this problem, with some extra effort needed to make sure it's "read only". |
Can you do 'select' on data that is in the Global Cache like you can with ESQL Data.
Perhaps when using the global cache does not involve a load of Java it might be a little more friendly.
Then there is the case where it takes around 30 seconds (or more) for the cache to become available and the flows that depend upon it can start processing data. In some situations where the SLA for a broker failover is less than 2 minutes then the time it takes broker to startup and shutdown becomes very important.
I'm not saying that the Global Cache is not a possible solution but there are limitations in its current implementation that anyone considering it should be aware of. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
joebuckeye |
Posted: Fri Jan 31, 2014 8:49 am Post subject: |
|
|
 Partisan
Joined: 24 Aug 2007 Posts: 365 Location: Columbus, OH
|
Vitor wrote: |
My "objections" to Java inside WMB (aside from I don't understand a word of it) remain the same:
- too many developers think WMB = WAS and write a flow with a single JCN that looks like an MDB
- too many developers bloat WMB by loading a ton of jar files rather than using the inbuilt facilties
- too many developers don't bother with memory management "because WAS clears it up for us"
These are not technical objections but political and procedural ones. |
Years ago I had to get out the trout when some Java dev came to me about adding the MQ jar files to the shared-classes directory so they could make MQ calls inside their JCN.
My other favorite question from Java devs is: "Where is the bar file deployed on the broker server?". |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 31, 2014 8:59 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
joebuckeye wrote: |
Years ago I had to get out the trout when some Java dev came to me about adding the MQ jar files to the shared-classes directory so they could make MQ calls inside their JCN. |
Still happens.
joebuckeye wrote: |
My other favorite question from Java devs is: "Where is the bar file deployed on the broker server?". |
So does this. Almost weekly. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
vishnurajnr |
Posted: Sat Feb 01, 2014 8:45 am Post subject: |
|
|
 Centurion
Joined: 08 Aug 2011 Posts: 134 Location: Trivandrum
|
joebuckeye wrote: |
My other favorite question from Java devs is: "Where is the bar file deployed on the broker server?". |
This sounds relevant from IIB since the naming resembles WAS topologies like Integration Node (Broker) and Integration Server (Ex groups).
 |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 03, 2014 5:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
vishnurajnr wrote: |
joebuckeye wrote: |
My other favorite question from Java devs is: "Where is the bar file deployed on the broker server?". |
This sounds relevant from IIB since the naming resembles WAS topologies like Integration Node (Broker) and Integration Server (Ex groups).
 |
We can infer that this change to the naming convention indicates a closer coupling between IIB & WAS.
However, nothing has in fact changed in this area for IIB and hence my objections stand for the time being. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Feb 03, 2014 2:19 pm Post subject: Re: How to pass variables to IIB and make them read only |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
sgiles wrote: |
Hi,
I would like to pass data into IIB that is read-only within the broker.
Examples are
a) specify the operational environment (eg Development, System Test, Production) the broker is running on, or
b) userid/password details passed within a web service call from the broker to an external application.
Thanks
Stephen |
you need to start considering the options the broker avails to you
like
mqsiapplybaroverride for things that change according to environment
mqsisetdbparms using the type::identity form for username password and using the security policy and bindings...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Esa |
Posted: Mon Feb 03, 2014 10:44 pm Post subject: Re: How to pass variables to IIB and make them read only |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
fjb_saper wrote: |
mqsisetdbparms using the type::identity form for username password and using the security policy and bindings...
|
Oh yes, that's a good point. I suggested encrypting UDCS properties blinded by my current customer's environment. They call some very old external WS interfaces that don't use WS security but require usernames and passwords embedded in the body of the message. For more modern interfaces you should use Security Profiles and Policy Sets instead of programatically configuring security in the message flow. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Feb 04, 2014 4:34 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Vitor wrote: |
We can infer that this change to the naming convention indicates a closer coupling between IIB & WAS. |
I'd merely infer a willingness to not confuse the WESB users who have to switch. |
|
Back to top |
|
 |
|