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 » General IBM MQ Support » MQSeries Coding Standard

Post new topic  Reply to topic
 MQSeries Coding Standard « View previous topic :: View next topic » 
Author Message
shubhrajit_c
PostPosted: Wed Oct 23, 2002 1:48 am    Post subject: MQSeries Coding Standard Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
udaybho
PostPosted: Wed Oct 23, 2002 4:24 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
shubhrajit_c
PostPosted: Wed Oct 23, 2002 4:31 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
udaybho
PostPosted: Wed Oct 23, 2002 4:57 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
dgolding
PostPosted: Wed Oct 23, 2002 5:04 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
udaybho
PostPosted: Wed Oct 23, 2002 5:41 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
shubhrajit_c
PostPosted: Wed Oct 23, 2002 9:47 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
jsware
PostPosted: Fri Oct 25, 2002 11:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
shubhrajit_c
PostPosted: Sun Oct 27, 2002 7:41 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
blowbeat
PostPosted: Mon Oct 28, 2002 1:25 am    Post subject: Reply with quote

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
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 » General IBM MQ Support » MQSeries Coding Standard
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.