Author |
Message
|
shubhrajit_c |
Posted: Wed Oct 23, 2002 1:48 am Post subject: MQSeries Coding Standard |
|
|
 Novice
Joined: 01 Nov 2001 Posts: 14 Location: India
|
I am in the process of preparing a generic coding standard for MQSeries for our organisation. I plan to address the following:
1. MQSeries object naming convention
2. Generic MQSeries programming guidelines
3. MQSeries for Java - Design and Coding Standard
I already have the following document from IBM
MD01: MQSeries - Standards and conventions
Version 1.0
I am also using standard MQSeries documentations. Are there any resource available?
I would also appreciate any tips/insights offered by people here. |
|
Back to top |
|
 |
udaybho |
Posted: Wed Oct 23, 2002 4:24 am Post subject: |
|
|
Voyager
Joined: 09 May 2002 Posts: 94 Location: Chicago
|
One of the issue I cam across when I was putting the naming convention is the name of Queue Managers across Development, QA and Production.
The issue was, whether we should have same or different names. We opted for different names for different environment. Also Queue Manager name should reflect.
1. The Organization Name ( if you dealing with many sub organization within your company)
2. Environment (Dev, QA, Training, Production etc )
3. OS (AIX, NT, 2000, OS/390 etc)
Uday Bhosle |
|
Back to top |
|
 |
shubhrajit_c |
Posted: Wed Oct 23, 2002 4:31 am Post subject: |
|
|
 Novice
Joined: 01 Nov 2001 Posts: 14 Location: India
|
Thanks for the prompt reply...
Is the OS absolutely necessary? Rather I would think we place the host name there.
udaybho wrote: |
1. The Organization Name ( if you dealing with many sub organization within your company)
2. Environment (Dev, QA, Training, Production etc )
3. OS (AIX, NT, 2000, OS/390 etc)
Uday Bhosle |
_________________ Shubhrajit Chatterjee
http://shubhra.4mg.com
http://hum-sab.8m.net |
|
Back to top |
|
 |
udaybho |
Posted: Wed Oct 23, 2002 4:57 am Post subject: |
|
|
Voyager
Joined: 09 May 2002 Posts: 94 Location: Chicago
|
I feel YES, it helps me to identify, just by looking at the name where the QueueManager is running, in case of a multi OS environmant. I have alleast 5 OS environment
Uday Bhosle |
|
Back to top |
|
 |
dgolding |
Posted: Wed Oct 23, 2002 5:04 am Post subject: |
|
|
 Yatiri
Joined: 16 May 2001 Posts: 668 Location: Switzerland
|
My $0.02...
...channel names are maximum 20 characters in length. Usual naming convention for a channel is <Send Qmgr>.TO.<Recv QMgr> - which gives you a maximum of EIGHT bytes for queue manager name.
Don't make the names too long, and use codes and conventions (like P=Production, T=Test, D=Development) to "squeeze" these names. And on OS/390, you've only got 4 chars anyway!
HTH |
|
Back to top |
|
 |
udaybho |
Posted: Wed Oct 23, 2002 5:41 am Post subject: |
|
|
Voyager
Joined: 09 May 2002 Posts: 94 Location: Chicago
|
I should have mentioned it as Naming Convention for Distributed side. The naming convention we use for QM is CCOENNN
CC- Organization
O- OS type
E - Envrionment
NNN - count
Which limits it to 7 characters.
Uday Bhosle |
|
Back to top |
|
 |
shubhrajit_c |
Posted: Wed Oct 23, 2002 9:47 pm Post subject: |
|
|
 Novice
Joined: 01 Nov 2001 Posts: 14 Location: India
|
Going for the following convention for OS/390
RDDX - R = region ie P for production, D for development T for testing, etc... and
DD - Department
X - Distinguishing identifier
HHHRDDNN
for other systems
HHH = host identifier
R = queue manager region
DD = company division
NN = numeric identifier _________________ Shubhrajit Chatterjee
http://shubhra.4mg.com
http://hum-sab.8m.net |
|
Back to top |
|
 |
jsware |
Posted: Fri Oct 25, 2002 11:58 pm Post subject: |
|
|
 Chevalier
Joined: 17 May 2001 Posts: 455
|
We use the host name as a basis for the QMgr, add a suffix for the type (test, QA or production) and add a digit for nth queue managers (the first has no numeric suffix because we mostly have 1 QMgr on each host).
E.g. a production host "mwapps16_bl" would be shortened to MWAP16P (the _bl indicates a blade server - mwapps16 is the 'unique' hostname bit).
We make sure we use no more than 8 chars to allow qmgrname.to.qmgrname on channels.
As for queues we used to name them "TOAPP.INTERFACE_NAME" but we now name them "OWNERAPP.INTERFACE_NAME". Thus if you have two applications "A" and "B" who integrate via an interface "X", previously we would have both apps use "B.X". However this causes problems if you have multiple destinations, and also when the destination app changes.
Now instead we have application A write to "A.X" and application B read from "B.X". We use remote queue defs and aliases to make sure messages written to "A.X" get delivered to "B.X".
If at somepoint in the future app B get replaced with app C, you change the "A.X" definition to deliver messages to "C.X" (app A never knows). If app C requires a different format, we use WMQI to convert, so "A.X" delivers the messages to "WMQI.A.X" and a data flow converts and writes to "WMQI.C.Y" which gets delivered to "C.Y". Either way application A does not have to change.
With regards to queue names, we use "." to separate "levels" in the name (e.g. between the app and interface names) and "_" to separate words within a level. Thus we get things like: "PRODUCT.GET_PRODUCT_GROUP" where we can see that PRODUCT and GET_PRODUCT_GROUP are separate "things" and "GET_PRODUCT_GROUP" is easier to read than "GETPRODUCTGROUP".
I also recommend using upper case letters for all object names.
See the IBM support packs MD00 and MD01 as they contains lots of suggestions for standards. |
|
Back to top |
|
 |
shubhrajit_c |
Posted: Sun Oct 27, 2002 7:41 pm Post subject: |
|
|
 Novice
Joined: 01 Nov 2001 Posts: 14 Location: India
|
Thank you all for your help .. I have a draft version of the document in place, which is mainly based on the IBM document I had mentioned earlier. It would be nice if some one can add some good programming tips which may be added in the standard document |
|
Back to top |
|
 |
blowbeat |
Posted: Mon Oct 28, 2002 1:25 am Post subject: |
|
|
Apprentice
Joined: 02 Apr 2002 Posts: 49
|
Why include the OS in the Qmgr name ? One day it may need to be moved to a different platform (due to some upper mgmt strategic decision) and you have 2 choices. Stick to the name or start recreating/renaming everything.....
Jan. |
|
Back to top |
|
 |
|