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 IndexGeneral IBM MQ SupportDoes .Net MQClient use CCDT file?

Post new topicReply to topic
Does .Net MQClient use CCDT file? View previous topic :: View next topic
Author Message
pcelari
PostPosted: Wed Jul 03, 2019 7:12 am Post subject: Does .Net MQClient use CCDT file? Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 361
Location: New York

Greetings.

a .Net client application needs to connect to our clustered qmgrs. I already setup workload balancing across two qmgrs, and send the client a CCDT file that encapsulate the internal configuration that involves two qmgrs with different IPs and port. But the client insisted that I provide the host ip and port as ".Net doesn't use CCDT file."

Is this true? It sounds counter-intuitive as I'll have to expose my internal settings to the external client.

The MQ document about .Net support seems not to state this matter clearly.

Would an .Net expert share some insight and clarification?

thanks a lot!
_________________
pcelari
-----------------------------------------
- a master of always being a newbie
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Jul 03, 2019 7:20 am Post subject: Re: Does .Net MQClient use CCDT file? Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 25827
Location: Ohio, USA

pcelari wrote:
The MQ document about .Net support seems not to state this matter clearly.

Would an .Net expert share some insight and clarification?


I am not now nor have I ever been a .NET expert (though it is better than my Java).

I asked Mr. Google about "defining CCDT to .NET" and he suggested this as the first hit. I observed these as points 7 - 9:

Quote:

The client channel definition table (CCDT). The location of the CCDT is specified in the .NET application configuration file (applies to managed connections only)
The client channel definition table (CCDT). The location of the CCDT is specified using the environment variables MQCHLIB and MQCHLTAB
The client channel definition table (CCDT). The location of the CCDT is specified using the client configuration file


This seems to be to state fairly clearly that there are 6 things .NET tries before it uses a CCDT.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
pcelari
PostPosted: Wed Jul 03, 2019 7:26 am Post subject: Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 361
Location: New York

thanks so much Vitor.

I was confused by the term "managed/unmanaged" connection. should have researched a bit more before posting the question. next time...
_________________
pcelari
-----------------------------------------
- a master of always being a newbie
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Jul 03, 2019 8:09 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 25827
Location: Ohio, USA

pcelari wrote:
I was confused by the term "managed/unmanaged" connection. should have researched a bit more before posting the question. next time...


I think it has to do with if you're using MSoft's awesome code to run the connection or if you're writing something that works understandably.

Put the same CCDT in the application configuration file and the location pointed to by the environment variables. Then you're covered, unless your client is using one of points 1-6 because the message providers they're used to don't have the equivalent of a CCDT.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
St!n0
PostPosted: Thu Jul 04, 2019 6:55 am Post subject: Re: Does .Net MQClient use CCDT file? Reply with quote

Novice

Joined: 02 Jan 2019
Posts: 14

pcelari wrote:

as I'll have to expose my internal settings to the external client.


this is a bit off topic but I was just wondering how giving him the ip and port is exposing your settings as this information can easily be read from the AMQCLCHL.TAB file by opening it in notepadd++.
Sure there will be alot of unreadable content but I can easily retreive qmgrname, channel and host + port from an AMQCLCHL.TAB file. So in that thought, sending a CCDT file over or giving connection parameters is the same thing, no? Please correct me if i'm wrong.
Back to top
View user's profile Send private message
exerk
PostPosted: Thu Jul 04, 2019 8:12 am Post subject: Re: Does .Net MQClient use CCDT file? Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6106

St!n0 wrote:
pcelari wrote:

as I'll have to expose my internal settings to the external client.


this is a bit off topic but I was just wondering how giving him the ip and port is exposing your settings as this information can easily be read from the AMQCLCHL.TAB file by opening it in notepadd++.
Sure there will be alot of unreadable content but I can easily retreive qmgrname, channel and host + port from an AMQCLCHL.TAB file. So in that thought, sending a CCDT file over or giving connection parameters is the same thing, no? Please correct me if i'm wrong.

The IP Address is likely to be NATted on the inside, and the queue manager name in the CCDT file can be an alias (notwithstanding that the real name can still be derived).
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.

Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Jul 04, 2019 8:25 am Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8504
Location: US: west coast, almost. Otherwise, enroute.

IBM's recommended CCDT practice is to create a unique CCDT with only those qmgrs that the client can/will/should connect to, and expose that unique CCDT to only those client platforms that need to do so.
_________________
There are two types of people in this world:
1) Those that can extrapolate from incomplete data
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Thu Jul 04, 2019 4:22 pm Post subject: Reply with quote

Jedi

Joined: 25 Mar 2003
Posts: 2020
Location: Melbourne, Australia

bruce2359 wrote:
IBM's recommended CCDT practice is to create a unique CCDT with only those qmgrs that the client can/will/should connect to, and expose that unique CCDT to only those client platforms that need to do so.

Indeed. If separate CCDT files are created for each app environment (Dev, Test, Prod etc), the app can connect to the same logical qmgr name in all environments, and the associated CCDT will use the appropriate CHANNEL & CONNAME to hit the correct qmgr for the environment.

If its the only app on the server, we update mqclient.ini to point to their CCDT, eg.
Code:
Channels:
   ChannelDefinitionDirectory=D:\MQData
   ChannelDefinitionFile=MYAPP_PROD.TAB

Containing:
Code:
DEFINE CHANNEL('MYAPP.PROD.SVRCONN') CHLTYPE(CLNTCONN) REPLACE +
   CONNAME('mqprodsvrhost.com(1415)') QMNAME('MYAPPMQ')

This basically removes all MQ config dependencies from the app, they just connect to MYAPPMQ name in their code.
_________________
Glenn
Back to top
View user's profile Send private message
pcelari
PostPosted: Fri Jul 05, 2019 7:17 am Post subject: Reply with quote

Partisan

Joined: 31 Mar 2006
Posts: 361
Location: New York

Thanks so much for sharing all these!

Although it's beyond my inclination to learn .Net, your posts have gained me enough understanding that I could guide the .Net client party a bit to use the CCDT file we provide.
_________________
pcelari
-----------------------------------------
- a master of always being a newbie
Back to top
View user's profile Send private message
exerk
PostPosted: Sat Jul 06, 2019 12:40 am Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6106

pcelari wrote:
Thanks so much for sharing all these!

Although it's beyond my inclination to learn .Net, your posts have gained me enough understanding that I could guide the .Net client party a bit to use the CCDT file we provide.

Not forgetting that an mqclient.ini file can be used to provide a more manageable solution...
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.

Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexGeneral IBM MQ SupportDoes .Net MQClient use CCDT file?
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.