ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » How to pass variables to IIB and make them read only

Post new topic  Reply to topic
 How to pass variables to IIB and make them read only « View previous topic :: View next topic » 
Author Message
sgiles
PostPosted: Thu Jan 30, 2014 4:06 pm    Post subject: How to pass variables to IIB and make them read only Reply with quote

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
View user's profile Send private message
smdavies99
PostPosted: Thu Jan 30, 2014 10:23 pm    Post subject: Reply with quote

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
View user's profile Send private message
Esa
PostPosted: Thu Jan 30, 2014 11:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
smdavies99
PostPosted: Fri Jan 31, 2014 2:01 am    Post subject: Reply with quote

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
View user's profile Send private message
mqjeff
PostPosted: Fri Jan 31, 2014 6:34 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Fri Jan 31, 2014 6:48 am    Post subject: Reply with quote

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
View user's profile Send private message
smdavies99
PostPosted: Fri Jan 31, 2014 8:28 am    Post subject: Reply with quote

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
View user's profile Send private message
joebuckeye
PostPosted: Fri Jan 31, 2014 8:49 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Fri Jan 31, 2014 8:59 am    Post subject: Reply with quote

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
View user's profile Send private message
vishnurajnr
PostPosted: Sat Feb 01, 2014 8:45 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Vitor
PostPosted: Mon Feb 03, 2014 5:36 am    Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Mon Feb 03, 2014 2:19 pm    Post subject: Re: How to pass variables to IIB and make them read only Reply with quote

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
View user's profile Send private message Send e-mail
Esa
PostPosted: Mon Feb 03, 2014 10:44 pm    Post subject: Re: How to pass variables to IIB and make them read only Reply with quote

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
View user's profile Send private message
mqjeff
PostPosted: Tue Feb 04, 2014 4:34 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » How to pass variables to IIB and make them read only
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.