wmq best practices - design programming standards1
TRANSCRIPT
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
1/26
POLO RALPH LAUREN
WEBSPHERE MQ
BEST PRACTICES
Design & Programming Standards
FEBRUARY 4, 2009
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
2/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
TABLE OF CONTENTS
"#$ NTRODUCTON#####################################################################################################################"
1.1 SCOPE...................................................................................................................................1
%#$ MESSA!N! TECHNOLO!###############################################################################################%
2.1 I NTRODUCTION.....................................................................................................................2
2.2 R EASONS FOR USING WMQ.................................................................................................2
2.3 MESSAGING PATTERNS.........................................................................................................3
2.4 WMQ R EQUEST/R EPLY PROCESSING...................................................................................5
2.5 SYNCHRONOUS VERSUS ASYNCHRONOUS PROCESSING.......................................................5
2.6 U NDELIVERED MESSAGES....................................................................................................6
2.7 CLOSE OF USINESS PROCESSING........................................................................................7
2.! TRANSACTIONAL I NTEGRITY................................................................................................7
'#$ MESSA!N! TECHNQUES A(ALABLE THROU!H THE MQ############################# #####)
3.1 I NTRODUCTION.....................................................................................................................!
3.2 CLIENT/SERVER DESIGN.......................................................................................................!
3.3 I NQUIRY MESSAGES.............................................................................................................!
3.4 UPDATE MESSAGES..............................................................................................................!
3.5 R EPORT MESSAGES.............................................................................................................."
*#$ APPLCATON DE(ELOPMENT BEST PRACTCES#####################################################"$
4.1 I NTRODUCTION...................................................................................................................1#
4.2 EST PRACTICES................................................................................................................1#
4.2.1 A$$%&'()&*+ D,-&+.................................................................................................1#
4.2.2 D,( L,)),0 ,, (+%&+....................................................................................11
4.2.3 I+),0(', )* M,--(&+ S,0&',-.............................................................................12
4.2.4 MQI C(%%- G,+,0(%...............................................................................................13
4.2.5 Q,, M(+(,0 C*++,')&*+ H(+%&+.......................................................... .........14
4.2.6 Q,, O$,+ H(+%&+............................................................................................15
& (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
3/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
4.2.7 P))&+ M,--(,-....................................................................................................17
4.2.! G,))&+ M,--(,-................................................................................................ ...1!
4.2." M,--(, C*+),+)................................................................................................... .1"
+#$ APPEND, A – -A(A MESSA!N! SER(CE .-MS/#######################################################%$
5.1 I NTRODUCTION...................................................................................................................2#
5.2 APPLICATION OF MS.........................................................................................................21
0#$ APPEND, B – SAMPLE APPLCATON PRO!RAMMN! NTER1ACE##################%%
&& (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
4/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
1.0 INTRODUCTION
1.1 SCOPE
T&- *':,+) &- *+, * ( -,) * *':,+)- )() ,-'0&;, ), W,;S$,0, MQ &)&+ )&- *':,+)9 ), ($$0*$0&(), :*&&'()&*+- -*% ;,
:(, (+ *':,+),. T&- *':,+) -*% )- ;, $(), )* 0,%,') ;*) '(+,- &+ $0*',-- (+'(+,- &+ &:$%,:,+)()&*+ ,)(&%.
T, &+*0:()&*+ '*+)(&+, >&)&+ )&- *':,+) '*,0- ( >&, 0(+, * )*$&'-9 '*,0&+ ,-&+ (+
$0*0(::&+ ),'+&,- (+ $0(')&',-. I+-)08 >&, ;,-) $0(')&',-B (0, &,+)&&, >&)&+ ),-,
(0&*- )*$&'-. ,-) $0(')&',- (+ &,%&+,- (0, -) )()&,%&+,-. POLO WMQ -)(+(0- (0,
&,+)&&, (- -'. W&)&+ )*$&'-9 ;*) -)(+(0- (+ &,%&+,- (0, &,+)&&,. T&- *':,+) (%-*
,-'0&;,- ), 0()&*+(%, ;,&+ ), -)(+(0- (+ &,%&+,- -* )() ),8 '(+ ;, ;,-) +,0-)**.
A- (%>(8-9 ), ;-&+,-- 0,&0,:,+)- *0 ), ($$%&'()&*+ :-) 0&, ), :,--(&+ ,-&+ (+
&:$%,:,+)()&*+ ,'&-&*+-. I) &- (%>(8- $*--&;%, )* (, ,@',$)&*+- )* ), 0%,- ,&+, >&)&+ )&-
*':,+). W,+ ,@',$)&*+- (0, +,,,9 *>,,09 ),8 (0, ;,-) ,),0:&+, )0* '*+-,+-- >&)
;*) ), ($$%&'()&*+ ,-&+,0- (+ $0*0(::,0- (+ ), WMQ (:&+&-)0()*0-. T&- ,+-0,- )() ),
:*-) '*:$0,,+-&, $*--&;%, :,--(&+ +*>%,,9 (- >,%% (- ), ;0*(,-) $*--&;%, &,>$*&+)-9 (0,
;0*) &+)* ), ,'&-&*+ :(&+ $0*',--.
# (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
5/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
2.0 MESSAGING TECHNOLOGY
2.1 INTRODUCTION
T,0, (0, +:,0*- *$)&*+- )* ;, '*+-&,0, &+ ), ,-&+9 $0*0(::&+9 (+ (:&+&-)0()&*+ *
-*)>(0, )&%&?&+ WMQ -,0&',-. T,-, (0,(- (0, (%-* (%% &+),00,%(),. M(+8 *$)&*+- '(+ ;, (+%,
() ;*) ), $0*0(::&+ (+ ), (:&+&-)0()&*+ %,,%-. S*:, WMQ ,()0,- 0,&0, )() ),
-*)>(0, ;, ,-&+, ($$0*$0&(),%8 )* ;, (;%, )* ,@$%*&) ), ,()0,-. F*0 (%% * ),-, 0,(-*+-9 ),
'*+-)0')&*+ * ( WMQ ($$%&'()&*+ 0,&0,- '*%%(;*0()&*+ ;,)>,,+ $0*0(::,0-9 ,-&+,0-9 (+ ),
WMQ (:&+&-)0()*0-.
I+ *0,0 )* :(, ), ;,-) $*--&;%, ($$%&'()&*+ ,-&+ ,'&-&*+-9 ), ,,%*$:,+) ),(: 0,&0,- (
;0*( +,0-)(+&+ * :,--(&+ (0'&),')0, &+ ,+,0(% (+ WMQ '($(;&%&)&,- &+ $(0)&'%(0. T, $0$*-, * )&- -,')&*+ &- )* ,-'0&;, ), '*+',$)(% ;('0*+ &+ >&' ), -$,'&&' ($$%&'()&*+
&:$%,:,+)()&*+ ,'&-&*+- >&%% ;, :(,. T, (')(% &:$%,:,+)()&*+ S)(+(0- (+ G&,%&+,- (0,
,-'0&;, &+ S,')&*+ 4.
2.2 REASONS FOR USING WMQ
T,0, (0, -,,0(% &,0,+) 0,(-*+- >8 ($$%&'()&*+- :(8 )&%&?, WMQ :,--(&+ -,0&',-.
U+,0-)(+&+ >8 ), ($$%&'()&*+ &- -&+ WMQ (- ( -&+&&'(+) &:$(') *+ ,),0:&+&+ *>
WMQ -,0&',- -*% ;, -,. T,0, (0, )0,, ;(-&' 0,(-*+- >8 WMQ -*% ;, -,. N*), )()
),-, 0,(-*+- (0, +*) :)(%%8 ,@'%-&,. T, ;(-&' 0,(-*+- *0 -&+ WMQ (0, (- *%%*>-
• Comm2ni3ation 4et5een a667i3ation 3ode on di88erent 3om62ting 67at8orms9 di88erent
6rogramming 7ang2age en:ironments9 or 4ot;. W,+ -, &+ )&- :(++,09 WMQ
:,--(&+ -&:%(),- ( R,:*), P0*',0, C(%%
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
6/26
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
7/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Ta47e %> Messaging Patterns %
Patter De!"r#$t#%
Broad3ast
0&),0 (- +* &+),0,-) &+ (+8 $,0:(+,+) -)*0(, * ), :,--(, '*+),+).
A+ ,@(:$%, * )&- >*% ;, $;%&-&+ -)*' :(0,) $0&',-.
Post
0&),0 ,@$,')- )() ), :,--(, 0,(,0 >&%% $(), -*:, $,0:(+,+) -)*0(,
(- ( 0,-%) * 0,',&&+ ), :,--(,. A+ ,@(:$%, * )&- &- ( :,--(, '(-&+ ( ()(;(-,
$(), &+ (+ (-8+'0*+*- :(++,0. I+ $;%&-/-;-'0&;, (0'&),')0,-9 )&- &- ), $()),0+
), $;%&-,0 -,-.
n=2ir<
Messaging Patterns '
Patter S&"'r%%(! A!&"'r%%(!Broad3ast
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
8/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Patter S&"'r%%(! A!&"'r%%(!
• N*+,@$&0&+ R,$%8 :,--(,-.
• M,--(, I / C*00,%()&*+ I *0 M*,% ,,-.
:,--(,-.
• N*+,@$&0&+ R,$%8
:,--(,-.
• M,--(, I / C*00,%()&*+ I *0
M*,% ,,-.
Con:ersationa7
* :,--(,- +,, )* ;, -,+). T, '%&,+) ($$%&'()&*+
-,+- ( :,--(, )* ), -,0,0 ($$%&'()&*+. T&- &- *+, >&) ), MQ I+),0(', &) ), MQI MQGET '*::(+.
A+8 WMQ R,,-)/R,$%8 $()),0+ 0,&0,- ( ,'&-&*+ (- )* *> ), '%&,+) ($$%&'()&*+ &- )* &,+)&8
), 0,$%8 :,--(,. T,0, (0, )>* ;(-&' ($$0*(',- )* 0,-*%&+ )&- &--,. E&),0 ), 0,$%8 :,--(,
:-) ;, +&,%8 &,+)&&, -* )() &) '(+ ;, *+ (+ 0,)0&,, 0*: >&)&+ (+ ,@&-)&+ ,, *0 ),
0,$%8 :,--(, :-) ;, 0*), )* ( +&, ,, )() >&%% *+%8 '*+)(&+ ), 0,$%8 :,--(,.
E&),0 WMQ *0 ), ($$%&'()&*+ '(+ ,+,0(), ( +&, :,--(, &,+)&&,0. T&- :,--(, &,+)&&,0 &-
-)*0, &+ ), :,--(, ,(,0 ,0, 8+(:&' ,,- '(+ ;, -,. I+ ,+,0(%9 &) &- 0,'*::,+, )() C*00,%()&*+
I,+)&&,0- ;, -, )* -*%, )&- $0*;%,:. I+ ,&),0 '(-,9 )&- :,'(+&-: :-) ;, 0,&,>, >&) ),
WMQ (:&+&-)0()*0-9 (- +,&),0 -*%)&*+ >&%% >*0 >&)*) WMQ (:&+&-)0()*0 -$$*0).
2.+ S YNCHRONOUS ,ERSUS ASYNCHRONOUS PROCESSING
I+ (%% ;&&0,')&*+(% '*::+&'()&*+-9 ),0, &- -*:, ,%(8 ;,)>,,+ ), -,+&+ * ( :,--(, (+ ),
0,',&$) * ( 0,-$*+-,. I ), :,--(, *0&&+()*0 *,- +*) ()),:$) )* $,0*0: (+8 >*0 >&%, >(&)&+
*0 ), 0,-$*+-,9 ),+ )&- &- ),0:, -8+'0*+*-B $0*',--&+. I9 *+ ), *),0 (+9 ), :,--(,
4 (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
9/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
*0&&+()*0 $,0*0:- *),0 $0*',--&+ >&%, >(&)&+ *0 ), (00&(% * ( 0,-$*+-,9 ),+ ), 0,-%)&+
:,--(&+ $()),0+ &- ),0:, (-8+'0*+*-B.
T, &,0,+', ;,)>,,+ -8+'0*+*- (+ (-8+'0*+*- $0*',--&+ )- 0,*%,- (0*+ ), ;,(&*0 * ), :,--(, *0&&+()*0. W,+ ), :,--(&+ &- ;,&+ $,0*0:, )* -$$*0) ( U-,0 I+),0(', &%% ,+,0(%%8 ;, &-&;%, )* ), -,0. I+ *0,0 )*
,@$%*&) ), (-8+'0*+*- '($(;&%&)&,- * WMQ9 ), UI :-) ;, ,-&+, )* -$$*0) (+ (-8+'0*+*-
0,,-)/0,$%8 :,--(&+ -)0(),8. T&- :,(+- )() ), -,0 >&%% ;, (>(0, )() ), >*0 $0*',-- >(-
&+&)&(),9 ;) +*) +,',--(0&%8 &+&-,.
I) &- &:$*0)(+) )* +*), )() (+ (-8+'0*+*- :,--(&+ -)0(),8 -(%%8 &+*%,- $%('&+ -*:, )8$, *
;-&+,-- 0,-$*+-&;&%&)8 *+ ), -,0. T&- )8$&'(%%8 &+*%,- ,+-0&+ )() ), ;-&+,-- )0(+-(')&*+
'*:$%,), -'',--%%8. W&%, ), 0,-$*+-&;&%&)8 *0 :(+(&+ ), ;-&+,-- )0(+-(')&*+ &- -&:&%(0 *0
;*) -8+'0*+*- (+ (-8+'0*+*- $0*',--,-9 ), 0,-$*+-&;&%&)8 &- -(%%8 ,@$%&'&)%8 ,-&+, &+)*
), UI *0 (-8+'0*+*- -*%)&*+-. I+ ), '(-, * -8+'0*+*- -*%)&*+-9 )&- 0,-$*+-&;&%&)8 &- -(%%8&:$%&'&).
A+8 ($$%&'()&*+ )() &+),+- )* ,@$%*&) ), (-8+'0*+*- '($(;&%&)&,- * WMQ :-) ,@$%&'&)%8 ,&+,
), ,00*0 0,'*,08 -)0(),8 *0 ( (&%0, ;,)>,,+ ), (-8+'0*+*- 0,$%8
2.- UNDELI,ERED MESSAGES
WMQ (--0,- ,%&,08 * :,--(,-. WMQ *,- +*) (0(+),, ,%&,08 * ( :,--(, )* ), ,, )*
>&' ), :,--(, >(- -,+). T, 0,(-*+ *0 )&- &- )() :,--(,- :(8 ;, +,%&,0(;%,. A :,--(,
:(8 ;, -,+) )* ( ,, )() +* %*+,0 ,@&-)-9 *0 )* (+ ++*>+ ,-)&+()&*+. I+ ,&),0 * ),-, '(-,-9
), :,--(, >&%% ,+ $ &+ ( D,( L,)),0 ,,. A%% ($$%&'()&*+- (, ), 0,-$*+-&;&%&)8 *0 :*+&)*0&+9 &,+)&8&+9 (+ 0,)0&,&+ ),&0 *>+ :,--(,- 0*: ),-, ,,-.
W&%, ), ,$)- * ), D,( L,)),0 ,,- >&%% ;, :*+&)*0, ;8 O$,0()&*+-9 ), '*+),+)- * ),-,
,,- '(++*) ;, ()*:()&'(%%8 (+%, ;8 O$,0()&*+- $,0-*++,%. I $0*$,0 '*&+ -)(+(0- (0,
*%%*>,9 O$,0()&*+- $,0-*++,% >&%% ;, (;%, )* ,),0:&+, ), A$$%&'()&*+ )() ,+,0(), ), :,--(,
0*: &+*0:()&*+ &+ ), :,--(, ,(,0 (0, )**%- )* (''*:$%&- )() (+%&+9 :-) ;, $(0) * ), $0*',-- * :&0()&+ ), ($$%&'()&*+
&+)* ), Production ,+&0*+:,+). This requirement cannot be an afterthought but must be seen as anintegral part of the Application design! I %*-)B :,--(, (0, +*) (+%, '*00,')%89 ), ()( &+),0&)8
* ), ($$%&'()&*+ '(+/>&%% ;, '*:$0*:&-,. F*0 ), :(*0&)8 * ($$%&'()&*+-9 ), ()( &+),0&)8 * ),
($$%&'()&*+ >&%% ;, '*:$0*:&-, >&)*) )&- (+%&+.
5 (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
10/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
2. CLOSE OF BUSINESS PROCESSING
D, )* ), &+,0,+) (-8+'0*+*- +()0, * WMQ :,--(,-9 ), >0&)&+ * ( WMQ :,--(, *,- +*)
)0(+-%(), &+)* (+ &::,&(), 0,(&+ * )() :,--(, ;8 ), ,-)&+()&*+ ($$%&'()&*+. T&- :,(+- )()), -'',--% '*:$%,)&*+ * ( $0*',-- ,+,0()&+ :,--(,- *,- +*) ,+-0, )() )*-, :,--(,- >,0,
& (') 0,(. D,%(8- &+ :,--(, )0(+-:&--&*+ :(8 $0,,+) (+89 *0 (%%9 * ), :,--(,- >0&)),+ 0*:
;,&+ ((&%(;%, )* ), :,--(, 0,'&$&,+).
I ;-&+,-- 0,&0,:,+)- 0,&0, -*:, )8$, * C%*-, * -&+,--B ,0, &+ (') 0,',&,.
2./ TRANSACTIONAL INTEGRITY
T0(+-(')&*+(% &+),0&)8 &+*%,- :(&+)(&+&+ ( '*+-&-),+) -,) * ;-&+,-- ()( (- ,(' )0(+-(')&*+ &-
$0*',--,. I+ *0,0 )* -$$*0) )0(+-(')&*+(% &+),0&)89 ,&),0 (%% +,',--(08 ()( -*0',- (0, $(),9 *0
+*+, * ),: (0,. W&)&+ ), '*+),@) * :,--(&+9 ),0, (0, -(%%8 () %,(-) )>* ()( -*0',- 0,%(),
)* ( ;-&+,-- )0(+-(')&*+ ), :,--(, (+ *+, *0 :*0, ()(;(-, )(;%,-.
I+ *0,0 )* ,+-0, )() ), ()( &+ ,(' :,--(, &- $0*',--, *+',9 (+ *+%8 *+',9 ), C*::&) /
R*%%;(' $0*',--&+ ;,)>,,+ ), :,--(&+ -8-),: (+ ), ()(;(-, -8-),: :-) ;, '**0&+(),.
T&- &+*%,- -*:,)&+ '(%%, T>* P(-, C*::&)B $0*',--&+. O+ ), :(&+0(:,9 )&- '($(;&%&)8 &-
$0*&, ;8 ,&),0 CICS *0 D2.
W&)&+ ), O$,+ S8-),:- ,+&0*+:,+)9 )&- '($(;&%&)8 &- -(%%8 +*) $0,-,+). W&%, ),0, (0, $0*')-
)* * )&-
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
11/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
3.0 MESSAGING TECHNIQUES A,AILABLE THROUGH THE MQI
3.1 INTRODUCTION
T, $0,&*- S,')&*+ &-'--, (0&*- ,--,+)&(% ($$%&'()&*+ ,-&+ '*+-&,0()&*+-. T, *%%*>&+
S,')&*+ ,-'0&;,- -$,'&&' ,-&+ (+ '*&+ $0(')&',-. T&- -,')&*+ ;0&,- ), ($ ;,)>,,+ )*-,
(0,(- (+ ,-'0&;,- -*:, WMQ :,--(&+ ),'+&,- )() '(+ ;, ,@$%*&),.
3.2 CLIENT *SER,ER DESIGN
A%% WMQ ($$%&'()&*+- )() 0,-$*+ )* &+'*:&+ :,--(,- (0, ,--,+)&(%%8 (-8+'0*+*- -,0,0
$0*',--,-. I+ ,+,0(%9 ),-, $0*',--,- (0, ,08 %**-,%8 '*$%, >&) ),&0 '%&,+) $0*',--,-. T, -,0,0
$0*',--,- -(%%8 '*+)(&+ +* -)(),B &+*0:()&*+ &-&- ), '%&,+) $0*',--. T&- ,'*$%&+ '(+
-;-)(+)&(%%8 -&:$%&8 ), ($$%&'()&*+ ,-&+ (+ &:$%,:,+)()&*+. I+ *0,0 )* ('&%&)(), )&- )8$, *
,-&+9 ), *%%*>&+ &- -)(+(0 $0(')&',
• MQMD C*00,%I R,,-) :,--(, M-I &,% (%,.
• MQMD R,$%8T*Q F0*: 0,,-) :,--(,. W0&), 0,$%8 :,--(, )* )&- ,,.
• MQMD R,$%8T*Q:0 F0*: 0,,-) :,--(,. R*), 0,$%8 )* )&- Q,, M(+(,0.
3.3 INQUIRY MESSAGES
C*+-&,0 )0,()&+ I+&08 :,--(,- (- +*+$,0-&-),+). I ), &+&08 :,--(, &- ,+,0(), 0*: ( -,09),+ ),0, &- -(%%8 +* ,)0&:,+)(% &:$(') & ), :,--(, &- %*-). I+ )&- '&0':-)(+',9 ),0, &- +* ()(
&+),0&)8 &--,J *+%8 ( UI ,-&+ '*+-&,0()&*+. C*+-&,0 ), *%%*>&+ -,))&+-
• MQMD P,0-&-),+', ? MQPERKNOTKPERSISTENT.
• MQMD E@$&08 ? S,) ,@$&0()&*+ )&:, &) $(),-9 -* ),-, :,--(,- (0, +*0:(%%8 $0*',--, -&+ S8+'$*&+) $0*',--&+. C*+-&,0 ),
*%%*>&+ -,))&+-
7 (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
12/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
• MQMD P,0-&-),+', ? MQPERKPERSISTENT.
• MQMD E@$&08 ? MQEIKUNLIMITED.
• MQMD R,$%8T*Q S,) ;8 ), :,--(, *0&&+()*0.
• MQMD R,$%8T*Q:0 S,) ;8 ), :,--(, *0&&+()*0.
• MQPMO O$)&*+- ? MQPMOKSYNCPOINT.
3.+ REPORT MESSAGES
I) &- $*--&;%, >&) WMQ :,--(,- )* -,+ ( :,(+&+% ('+*>%,,:,+) :,--(, >&' '*+)(&+-
+* :,--(, ()(. I+ )&- '(-,9 (%% * ), +,',--(08 :,--(, &+*0:()&*+ &- '*+)(&+, >&)&+ ),
M,--(, D,-'0&$)*0. T,-, )8$,- * :,--(,- (, ), *%%*>&+ '(0('),0&-)&'-
• MQMD F*0:() ? MQFMTKREPORT.
• MQMD F,,;(' MQFK@@@ ,0, @@@ &- ), ,-&0, ('+*>%,,:,+)=.
! (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
13/26
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
14/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Justification: T&- 0,&,> $0*',-- $0*&,- )>* &,0,+) ;,+,&)-. T, &0-) ;,+,&) &-
)() ), >&,-) $*--&;%, WMQ +*>%,, '(+ ;, ;0*) )* ;,(0 0&+ )&- '0&)&'(%
$0*,') $(-,. T&- &- &:$*0)(+) ;,'(-, ), -,'*+ ;,+,&) &- )() )&- $0(')&', >&%%
,+-0, )() ), ($$%&'()&*+ :,,)- (%% +,',--(08 $0*')&*+ 0,&0,:,+)- (+ &- ,-&+,
*0 ,$%*8:,+).
%# Do not in372de ot;er reso2r3e modi8i3ations .8i7e O9 data4ase O9 et3#/ 5it;in a
Q2e2e@4ased 2nit o8 5or 2n7ess an eterna7 Reso2r3e Coordinator eists#
Overview: W,+ WMQ &- -, *0 ()( &+),0&)8 $0$*-,-9 ), &+),0&)8 * ),
($$%&'()&*+ ()( :-) +*) ;, '*:$0*:&-,. F*0 ,@(:$%,9 ()(;(-, $(),- :-) ;,
-8+'0*+&?, >&) :,--(, I/O. N* ()(;(-, $(),- -*% ;, $,0*0:, )>&',9 *0 +*)
$,0*0:, () (%%9 ;,'(-, :,--(, '*::&)/0*%%;(' $0*',--&+ >(- +*) '**0&+(), >&)
()(;(-, '*::&)/0*%%;(' $0*',--&+.
Justification: N*) (%% $%()*0:- *+ >&' WMQ 0+- (0, '($(;%, * ), +,',--(08 )>*
$(-, '*::&) $0*',--&+ 0,&0, )* -$$*0) :%)&$%, $(),- ('0*-- ,),0*,+,*-
0,-*0', :(+(,0-. O+ ),-, O$,+ S8-),: $%()*0:-9 ), WMQ MQ"M#T (+
MQ$A"% '(%%- ($$%8 *+%8 )* ), WMQ :,--(,-.
'# n genera79 a:oid sing7e t;reading message 6ro3essing 7ogi3 5it;in a667i3ations#
Overview: W,+,,0 $*--&;%,9 ,-&+ ($$%&'()&*+- )* ;, (;%, )* (, :%)&$%, 0,(,0-
(+/*0 :%)&$%, >0&),0-.
Justification: T&- (%%*>- ), :(@&:: %,@&;&%&)8 *0 :(+(&+ ), $,0*0:(+', (+
'($('&)8 * ), ($$%&'()&*+. I) (%-* '0,(),- ( %,@&;%, ($$%&'()&*+ (0'&),')0, )() &-
'*+'&, )* )0, :*&&'()&*+-. A&)&*+(%9 *0 +,>9 ($$%&'()&*+ &+-)(+',- '(+ >0&),
:,--(,- )* ), ,,. A&)&*+(% ($$%&'()&*+ &+-)(+',- '(+ 0,( :,--(,- 0*: ),
,,. C(++,%- >&%% &,(%%8 ;, *$,+, *+, )&:,9 (+ ), 0,(,0- (+ >0&),0- *0 )*-,
'(++,%- >&%% ;, :(, ((&%(;%, (+ -, 0,$,)&)&,%8. T&- &- ( , 0,-*0', -(&+-
-&+', &+-)(+)&()&+ (+8 '*::+&'()&*+ '*+&)- (0, )0(&)&*+(%%8 ), :*-) ,@$,+-&,
'*::*&)8 &+ ), -8-),:.
4.2.2 Dea Letter queue handling
*# Design t;e a667i3ation to ;and7e Dead Letter =2e2e messages#
Overview: M,--(,- :(8 ;, -,+) )* ( Dead &etter ,, *+ ,(' Q,, M(+(,0 )()), :,--(, $(--,- )0*.
Justification: A+8 -' :,--(,- >&%% +*) ;, 0,',&, ;8 ), ($$%&'()&*+ *0 >&' ),8
>,0, ,-)&+,. T, ,-&+ * ), ($$%&'()&*+ :-) (+%, )&- ;(-&' (').
+# Design an a2tomated me3;anism to 6ro3ess Dead Letter =2e2e messages#
1# (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
15/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Overview: M,--(,- :(8 ,+ $ *+ ( Dead &etter ,,. T&- ,, >&%% &), %&,%8 ;,
-(0, ;8 :%)&$%, ($$%&'()&*+-.
Justification> T, &+),0&)8 * ), ($$%&'()&*+ :(8 ,$,+ $*+ $0*',--&+ (%% * ),($$%&'()&*+- :,--(,-. M,--(,- 0*), )* ), Dead &etter ,, >&%% +*) ;, $0*',--,
;8 ), &+),+, ($$%&'()&*+. A :,'(+&-: -*% ;, ,-&+, (+ ;&%) )* ,@)0(') (+
$0*',-- (+ ($$%&'()&*+- :,--(,- 0*: ), Dead &etter ,,. T, 0,$0*',--&+ * ),-,
:,--(,- :-) ;, ( $(0) * ), ,-&+ * ), ($$%&'()&*+. N*), )() )&- 0,$0*',--&+ :(8
;, (''*:$%&-, )0* )**%- ),-, +&)- * '*, >&%% ('',-- :,--(&+ -,0&',-.
Justification: I00,-$,')&, * ), API '*-,+ )* &+),0(', )* ), +,0%8&+ :,--(&+
-*)>(0,9 )&- API -*% +*) ;, >&,%8 ,@$*-,. T&- ,-&+ ($$0*(' (%%*>- ),($$%&'()&*+ )* ;, &+ ), ;,-) $*--&;%, $*-&)&*+ )* :&0(), )* *),0 ),'+*%*&,-. I ), API
&- ,+'($-%(), ;,&+ ($$%&'()&*+ $0*0(:-/'%(--,- $0*&&+ ), -,0&',-9 ),+ &) >&%%
(%-* ;, (0 ,(-&,0 )* :(&+)(&+ (+ $0(, ), ($$%&'()&*+ -*)>(0,. T&- ($$0*(' (- ),
(, ((+)(, * &&+ -*:, * ), '*:$%,@&)&,- * ), :,--(, ,+*0- API.
11 (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
16/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
F# T;e MQ s;o27d 4e 2sed as t;e 6rogrammati3 inter8a3e to WMQ ser:i3es#
Overview: A$$%&'()&*+- (, ( '*&', * -&+ ), MQI9 AMI9 *0 MS $0*0(::()&'
&+),0(',-.
Justification: A+8 &+),0(', -, -*% ;, (;-)0('),9 -* )() ), ($$%&'()&*+ &- +*)
)&)%8 '*$%, )* ), '*-,+ &+),0(',. T&- ,-&+ ($$0*(' (%%*>- ,,+ :*0, %,@&;&%&)8
)(+ -&+ ( -$,'&&' &+),0(',9 -' (- MS9 $0*&,- (+ &) (*&- ), '*-)- *
&:$%,:,+)&+ (+ (:&+&-),0&+ ), %*&'(% MS -8-),:. I) -*% ;, +*), )() (%% MS
0,%(), '*-)- (0, &+ (&)&*+ )* ), +,0%8&+ WMQ (:&+&-)0()&*+ '*-)-. A- ( &+(% +*),9
), MQI &+),0(', &- ), *+%8 &+),0(', -$$*0), *+ (%% $0*0(::&+ $%()*0:- (+
%(+(,-.
4.2.4 MQI Calls !eneral
"$# C;e3 t;e MQCC .MQ Com67etion Code/ on e:er< WMQ 3a77#
Overview: N()&, MQ API '(%%- +,,0 AEND. N*) (%% %(+(, '*:$&%,0- *0', ),
$0*0(::,0 )* (+%, ,@',$)&*+-9 >&'9 & )0($$, (+ $0*',--,9 '*% (,0) ), +,,
*0 :(+(% &+),0,+)&*+.
Justification: S&+', MQI '(%%- * +*) '(-, ()(% ,00*0- *0 AEND- 0&)&+ )* ,,- (),0 ), M,--(&+ (+ Q,&+
S;-8-),: (- ;,,+ )*% )* -)*$9 ()( :(8 $,0-&-). T&- '(+ ,%(8 -)*>+ +)&% ),
&+'*:&+ ()( (, ;,,+ $0*',--,9 (+ ),0,;8 '*:$0*:&-, ), )&:, 0(:,- &+ >&'
;('$- (+ 0,%(0 :(&+),+(+', :&) *),0>&-, *''0. M(&+),+(+', (+ ;('$- (0,
+*0:(%%8 '*+'), >&) ,:$)8 ,,-.
Justification: T&- (%%*>- ), WMQ ($$%&'()&*+- -) *>+ 0(',%%8 (+ $0,,+)- (
F*0',B -)*>+. T&- $(0(:,),0 -*% ;, -, *+ MQ(PE) 9 MQGET 9 MQPUT 9 (+ MQPUT* '(%%-.
4.2." Queue Manager Connection #andling
"%# n genera79 a75a
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
17/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Overview: ,*0, (+8 WMQ -,0&',- '(+ ;, *;)(&+,9 ( '*++,')&*+ )* ( Q,, M(+(,0
:-) ;, :(, )* ( Q,, M(+(,0.
Justification: E,+ )* ),-, '(%%- (0, +*) 0,&0, &+ (%% ,+&0*+:,+)-9 '*&+ ),:>&%% (%%*> ), ($$%&'()&*+ '*, )* ;, :&0(), )* (+*),0 $%()*0: >&)*) WMQ
:*&&'()&*+-. N*), )() )&- 0,'*::,+()&*+ '(+ ;, &+*0, & ), ($$%&'()&*+ '*,
'*+)(&+- -&+&&'(+) ,+&0*+:,+) -$,'&&' '*::(+- &' *+%8 ),
API (- ('',--. I+ )&- :(++,09 &) &- $*--&;%, )* &-*%(), ), ()( )() 0&, (+8 (')&*+ )*
,@),0+(% ()( &%,- (+ ,+-0, )() ), ,@,')(;%, '*, &- %%8 +')&*+(% (+ &+,$,+,+)
* ()( )() ),8 $0*',--.
Justification: T&- &+*0:()&*+ -*% ;, ,@),0+(%&?, - ), Q,, M(+(,0 )* ;, '(+, >&)*) 0,&0&+ (+8
($$%&'()&*+ '*, '(+,- -&+', ), 0,&0, ()( ,%,:,+)- (0, 8+(:&'(%%8 0,(
$(0(:,),0-.
"*# Do not restri3t MQCO attem6ts to a sing7e Q2e2e Manager#
Overview: T, (0&*- Q,, M(+(,0- )* >&' '*++,')&*+ 0,,-)- :(8 ;, &0,'),
+,, )* ;, *+ &+ ( 0,-*0', &%,. I+ )&- :(++,09 &) &- $*--&;%, )* &-*%(), ), ()( )()
0&, (+8 ()),:$)- )* '*++,') )* ( ,,&%% 0,-%) &+ -&+&&'(+)%8 &,0
($$%&'()&*+ ((&%(;&%&)8. A- $0,&*-%8 :,+)&*+,9 )&- %&-) * Q,, M(+(,0- -*% ;,
,@),0+(%&?,.
"+# 1or On7ine Transa3tion Pro3essing .OLTP/9 3onsider Q2e2e Manager Conne3tion
6oo7ing#
Overview: Q,, M(+(,0 '*++,')&*+ $**%&+ &- ( >(8 * &-)0&;)&+ ), &+'*:&+
)0(+-(')&*+ %*(. T&- &- ( :*,% )() ;,(,- ,@(')%8 (- (&+ :*0, '(-&,0- >,+ ),
%&+,- &+ ), -$,0:(0,) ;,'*:, )** ,,$. I) -,0,- )* %,--,+ ), +:;,0 * $,+&+)0(+-(')&*+- $,0 ,,9 (+ :(,- (+%&+ ), >*0 %*( ,(-&,0 (+ :*0, ,&'&,+).
Justification: F*0 )0(+-(')&*+(% )8$,- * ($$%&'()&*+-9 0(),0 )(+ ,(' )0(+-(')&*+ (&+
&)- *>+ $(&0, '*++,')&*+/&-'*++,')&*+ %*&'9 '*+-&,0 ,-&+&+ ), ($$%&'()&*+ )*
:(&+)(&+ ( $**% * '*++,')&*+-. I+ )&- >(89 ), *,0,( * :(&+ ( '*++,')&*+ '(+ ;,
13 (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
18/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
-(0, ('0*-- :%)&$%, )0(+-(')&*+-. T&- '(+ %,( )* ,08 -;-)(+)&(% $,0*0:(+', (+
'($('&)8 &+'0,(-,-.
"0# MinimiIe t;e n2m4er o8 MQCO 3a77s ee32ted 5it;in a 6rogram#
Overview: A+ ($$%&'()&*+ :(8 +*) 0,,-) WMQ -,0&',- +)&% ( '*++,')&*+ )* ),
Q,, M(+(,0 (- ;,,+ :(,. T&- '*++,')&*+ &- ,-)(;%&-, )0* ), MQI
MQ"()) '(%%.
Justification: T&- &- ), -&+%, :*-) '*-)%8 WMQ '(%% &+ ),0:- * *,0,(. I+ +*0:(%
;()' $0*',--&+ '&0':-)(+',-9 ), '*++,')&*+ -*% ;, :(, *+',J () ), ;,&++&+ *
( $0*0(:- $0*',--&+ %**$. F*0 OLTP )0(+-(')&*+-9 '*++,')&*+ $**%&+ :(8 ;, -,.
"# Pair t;e MQCO 3a77 5it; a mat3;ing MQDISC 3a77#
Overview: I) &- (+ &:$*0)(+) $0&+'&$%, )* :()' +')&*+ '(%%- *0 :,:*08 (%%*'()&*+/,
(%%*'()&*+9 &%, *$,+/'%*-,9 -,--&*+ '*++,')/&-'*++,') (- ( >(8 * ,+-0&+ &%% '*+-,0, ), Q,, M(+(,0 $**% *
'*++,')&*+-.
4.2.$ Queue %pen #andling
")# Do not G;ard 3ode t;e Q2e2e name to 5;i3; t;e MQO"E 3a77 is to 4e made#
Overview: T, 0,,-) )* *$,+ ( ,, -*% ;, 0&,+ ;8 (+ ,@),0+(% ()( &%, *0 ()(
;(-, )(;%,9 -,'0, (+ :(&+)(&+, ;8 ), M,--(&+ (+ Q,&+ A:&+&-)0()*0. I+ )&->(89 ), ($$%&'()&*+ (+ &)- 0,,-) (0, 0,:*,9 *0 +'*$%,9 0*: (&+ &+)&:(),
+*>%,, * ), -$,'&&' ,,. I ), +(:, '(+,-9 *+%8 (+ ,+)08 &+ ( &%, *0 ( 0*> &+ (
()( ;(-, >&%% '(+,9 (+ ), ($$%&'()&*+ >&%% ,,% +* (,0-, ,,')-.
Justification: T&- &+*0:()&*+ -*% ;, ,@),0+(%&?, &+ ( &%, (+ $(0(:,),0- ,@)0('),
0*: >&)&+. T&- (%%*>- ), Q,, )* ;, '(+, >&)*) 0,&0&+ (+8 ($$%&'()&*+ '*,
'(+,-.
"F# Names o8 6ermanent d,+ ),8 (0, *$,+,.
Justification: I) &- ), 0,-$*+-&;&%&)8 * ), ($$%&'()&*+ +*) )* $0*%&,0(), *0$(+ ,,-.
I (+ ($$%&'()&*+ '0,(),- ( $,0:(+,+) 8+(:&' ,,9 ), ($$%&'()&*+ :-) ;, (;%, )*
-0&, ( 0,-)(0) (+ -)&%% -'',--%%8 $0*',-- ), ,,. T, -, * $,0-&-),+) &,+)&&,0-9
-' (- U-,0 ID-9 &- *+, -' >(8 )* '0,(), -0&(;%, ,, +(:,-.
14 (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
19/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
%$# Do not o6en tem6orar< d,+ ),8 (0, *$,+,.
T,-, ,,- :(8 +*) *% $,0-&-),+) :,--(,-.
Justification: A+8 ()),:$) )* $%(', ( :,--(, &,+)&&, (- $,0-&-),+) &+ ( ),:$*0(08
8+(:&' ,, >&%% 0,-%) &+ ), :,--(, ;,&+ -,+) )* ), D,( L,)),0 ,,. T&- &- (
,-&+ *0 $0*0(::&+ ,00*0 (+ >&%% +,,0 0,-%) &+ '*00,') $0*',--&+.
%"# MinimiIe t;e n2m4er o8 MQO"E 3a77s ee32ted 5it;in a 6rogram#
Overview: S&+', )&- &- (+ ,@$,+-&, I/O *$,0()&*+9 ), +:;,0 * *$,+ '(%%- >&%% ;,
0,', *0 ,%&:&+(),. I,(%%89 ), :(&+ %**$ *0 +')&*+ * (+ ($$%&'()&*+ >&%% $,0*0:
(+8 +,,, *$,+- (+ '%*-,-9 ,@',$)&*+- ;,&+ (+8 8+(:&' *$,+&+ (+ '%*-&+ *
,,- , )* ), +,, )* :(&+)(&+ ( %,@&;%, ,-&+ (+ ( :(%%,(;%, ,@,')&*+
,+&0*+:,+).
Justification: T&- &- ( '*-)%8 I/O +')&*+ '(%% &+ ),0:- * *,0,(. I+ +*0:(% ;()'
$0*',--&+ '&0':-)(+',-9 ), ,, -*% ;, *$,+, *+',J () ), ;,&++&+ * (
$0*0(:- $0*',--&+ %**$.
%%# 1or On7ine Transa3tion Pro3essing .OLTP/9 3onsider Q2e2e 6oo7ing#
Overview: E,08 ('',-- )* ( WMQ *;,') 0,&0,- ( (+%,B *0 ), *;,'). T&- (+%,
&- *;)(&+, 0*: ), MQ(PE) '*::(+.
Justification: F*0 )0(+-(')&*+(% )8$,- * ($$%&'()&*+-9 0(),0 )(+ (&+ ,(' )0(+-(')&*+
(, &)- *>+ $(&0, *$,+/'%*-, %*&'9 '*+-&,0 ,-&+&+ ), ($$%&'()&*+ )* :(&+)(&+ (
$**% * ,, (+%,-. I+ )&- >(89 ), *,0,( * *$,+&+ ( ,, '(+ ;, -(0, ('0*--
:%)&$%, )0(+-(')&*+-. N*), )() )&- $**% '(+ (%-* ;, -, )* (+%, '*+'00,+) ('',-- )*
), Q,,.
%'# S6e3i8< t;e 3orre3t a33ess .Bro5se9 Read9 U6date/ o6tions on t;e MQO"E 3a77#
Overview: T, )8$, * ,, ('',-- ,-&0, :-) ;, -$,'&&, >,+ ( ,, &- *$,+,.
Justification: D,$,+&+ $*+ *> ,,- (0, ,&+,9 WMQ '(+ %*'B ,,- )*
$0,,+) '*+'00,+) ('',--. I) &- &:$*0)(+) )* &,+)&8 )* WMQ ), '*00,') ('',-- 0,&0,
-* )() ++,',--(08 '*+),+)&*+ &- (*&,.
%*# Pair t;e MQO"E 3a77 5it; a mat3;ing MQCLOSE 3a77#
Overview: I) &- (+ &:$*0)(+) $0&+'&$%, )* :()' +')&*+ '(%%- *0 :,:*08 (%%*'()&*+/,
(%%*'()&*+9 &%, *$,+/'%*-,9 -,--&*+ '*++,')/&-'*++,') (- ( >(8 * ,+-0&+
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
20/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Justification: S)0')0, ,-&+/$0*0(::&+ ),'+&,- -*% ;, -, )* ,+-0, )()
,,08 *$,+ '*++,')&*+ &- '%*-,. T&- >&%% '*+-,0, Q,, M(+(,0 0,-*0',- (+
,%&:&+(), ++,',--(08 %*' '*+),+)&*+.
4.2.& 'utting Messages
%+# n genera79 ne:er ;a:e a message re3ei:ing a667i3ation re67< to =2e2es de8ined
5it;in t;e re3ei:ing a667i3ation#
Overview: I) &- $0*$,0 ,&+ ),*08 ,-&+ )* 0,%8 *+ ), Q,, M(+(,0 *0 %*( $0*$,0%8. I+ )&- :(++,09 ), ($$%&'()&*+ &- 0,-$*+-&;%, *+%8 *0
,,&+ &)- ,, (+ +*) $,0*0:&+ ), )(- * &-)0&;)&+ ), ,,- >*0 %*(
*,0 ), &+&&(% +,0%8&+ ,,-.
Justification: T&- ,,')&,%8 )&)%8 '*$%,- ), -,+&+ &' ( 0,-$*+-, )* ), :,--(, -*% ;, -,+).
Justification: T&- ,'*$%,- ), 0,,-)&+ ($$%&'()&*+ &) ),
,@',$)&*+ * ), MQ-MT'+EP(+T (%,9 (%% *),0 (%,- *0 )&- &,% 0,%(), )* -$,'&&'
WMQ :,--(, *0:()- (+ (0, +*) *0 ,+,0(% ($$%&'()&*+ -,.
%)# Assign Po7o de8ined Message T
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
21/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Overview: T, (%,- &+ ), MsgType &,% &+ ), MQMD (0, +*) ,+*0', ;8 WMQ.
WMQ (%-* $0*&,- *0 -,0,&+, (%,- >&)&+ )&- &,%.
Justification: T&- &,% >(- ,-&+, )* (%%*> ($$%&'()&*+ :,--(, (+%&+ )* ;,,&+, 8+(:&'(%%89 ;(-, $*+ &,0&+ &,% (%,-. T&- (- ,+,0(%%8 ;,,+ *+ )*
;, +,,%,--%8 '*:$%,@ >&)&+ (+ ($$%&'()&*+ ,+&0*+:,+). 8 ,&+&+ -)(+(0&?,
&+*0:()&*+9 *$,0()&*+(% :(+(,:,+) &+*0:()&*+ '(+ ;, ,+'*, >&)&+ ), :,--(,
,(,0. T&- &- $(0)&'%(0%8 -,% &+ :(+(&+ D,( L,)),0 ,,-. P*--&;%, (%,- '(+
,-'0&;, *> )* 0,+,0 )* (+%, ,00*0- - :,--(, ,%&,08 $0&*0&)&,- )* ;, ,&+, *0 :(+(, () ),
:,--(,9 ,,9 *0 '(++,% %,,%.
Justification: W&%, ($$%&'()&*+- :(8 ;, (;%, )* $0&*0&)&?, ),&0 *>+ :,--(,-9
($$%&'()&*+- '(++*) :(, $0&*0&)8 ,'&-&*+- (;*) ), :,--(&+ &+0(-)0')0, (- (
>*%,. I+ '*:;&+()&*+ >&) ($$0*$0&(), :,--(&+ ,-&+9 ,%&,08 $0&*0&)&?()&*+ &- ;,-)
(+%, () ), WMQ (:&+&-)0()&, %,,%. F0),0:*0,9 :,--(,- >&%% +*) ;, 0,)0&,, &+
$0&*0&)8 -,,+', +%,-- ), WMQ (:&+&-)0()*0 (- ,&+, )* ,, )* ;,(, &+ )()
:(++,0. T-9 $0&*0&)8 ;(-, ;,(&*0 '(++*) ;, ,+*0', () ), $0*0(::()&' %,,%.
4.2.( !etting Messages
'$# n genera79 a75a,+ ( :,--(, &- 0*), ('0*-- :%)&$%,
'(++,%-. N*), )() ), MQ-MT' )()E $(0(:,),0
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
22/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
Justification: T&- &,% -$,'&&,- ), +:;,0 * )&:,- ( :,--(, (- ;,,+ ), -;,') *
( MQ(PE) 0,,-) (+ -;-,,+)%8 0*%%, ;('. I+ ( -&)()&*+ >,0, ,))&+ ( :,--(,
'(-,- ( ()(% ($$%&'()&*+ ,00*0 *0 AEND9 (+ &+&+&), %**$ ,@&-)-. T, :,--(, >&%% ;,
0*%%, ;(' (+ ),+ -;-,,+)%8 0,)0&,, '(-&+ (+*),0 ()(% ,00*0. T&- &- +*)
-*:,)&+ )() M,--(,Q,&+ :&%,>(0, '(+ $0,,+). I) &- ), $0*0(:-
0,-$*+-&;&%&)8 )* $0,,+) )&- %**$ 0*: *''00&+.
4.2.) Message Content
'%# Consider 2sing ,ML s- :,--(, '*+),+) )* ;, '*, *0 0,%()&*+(% ()( ;(-,- ;8 -, *
-)(0) (+ -)*$ )(-9 (+ ,:;,&+ +-)0')0, 0,%()&*+(% ()( )* *0: ), :,--(,
$(8%*(. W&) -, * '*:$0,--&*+ (+ ,+'08$)&*+9 0,%()&*+(% ()( '(+ ;, )0(+-('), >&)
('&%&)8 (+ -,'0&)8.
Justification: T&- (%%*>- :,--(,- )* ;, :*&&, >&)*) +,',--(0&%8 0,&0&+
($$%&'()&*+ '*&+ '(+,-. N*), )() :(@&:: :,--(, %,+) '(+,- :(8 0,&0,
;*) WMQ '*&+ (+ WMQ (:&+&-)0()&, '(+,-. T&- $0(')&', (%-* ('&%&)&,-
$0*')&*+ ,00*0 (+%&+9 (- -&:$%, )**%- &-$%(8&+ :,--(, '*+),+) :(8 ;, -, )*
&(+*-, ($$%&'()&*+ ,00*0-.
1! (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
23/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
+.0 APPENDI A A,A MESSAGING SER,ICE 4MS5
+.1 INTRODUCTION
T, MS &- ( ,+,0&' API *0 ), (( $0*0(::&+ %(+(, (- ( $0*0(::()&' &+),0(', )* (+8
:,--(&+ -,0&',. T,0,*0,9 (+8 :,--(&+ -,0&', *0 :&%,>(0, )() (- ), (;&%&)8 )* ('',$)
+')&*+ '(%%- 0*: ( (( $0*0(:9 >&%% -$$*0) MS. T&- &- , )* ((- ,%&;,0(), &-*%()&*+9 (- (0,
C (+ C- ,'*$%&+9 0*: (+8 :,--(&+ *0 ,&+ $0*)*'*%-. (( 0,%&,- *+ ), MS (- (+
,@),0+(% -,0&,- * +')&*+- )* &:$%,:,+) >() &- +*) ( +()&, $(0) * ), '*0, %(+(,.
MS $0*&,- (+ &+),0(', )* &)- *>+ &+),0+(% :,--(&+ (+ ,&+ -)0')0,- (+ ,()0,- )() (0,
$;%&' *:(&+ -$,'&&'()&*+- (+ ,-&+, *0 I+),0+,);(-, ($$%&'()&*+-. T&- &+),0(', -$$*0)- ),
$;%&--;-'0&;, :*,% * :,--(&+9 (+ (%%*>- *0 (-8+'0*+*-9 %**-,%8 '*$%, ($$%&'()&*+-)() :(8 -)&%% +,, )* '*::+&'(), >&) *+, (+*),0.
T, $*),+)&(% (&+ 0*: MS >*% '*:, >,+ ,&),0 (+*),0 ,+*0- ),'+*%*8 >(- '*-,+ )*
0,$%(', WMQ9 *09 & ( +,> ),'+*%*8 '(:, &+)* ;,&+ )() $0*&, (&)&*+(% +')&*+(%&)8 >&%,
)&%&?&+ (+ &,+)&'(% &+),0(', )* MS. A(&+9 ;*) * ),-, (0, 0(),0 +%&,%8 -',+(0&*-. T*
-::(0&?,9 ), MS ((+)(,- (0, (- *%%*>-
• WMQ '*% ,(-&%8 ;, 0,$%(', ;8 ( '*:$,)&)*0 $0*') )() -$$*0)- MS
• WMQ '*% ,(-&%8 ;, 0,$%(', ;8 ( +,> ),'+*%*8 )() -$$*0)- MS
T, &0-) &-((+)(, * MS &- ), &+)0*')&*+ (+ (0)&&'&(% (:&+&-)0()&*+ %(8,0 *+ )*$ * ), WMQ
%(8,0. MS &- ,--,+)&(%%8 ( >0($$,0 (0*+ ), +,0%8&+ MQI S,0&',-9 (+ &+)0*',- -*:,
'*:$)()&*+(% *,0,(9 0,-%)&+ &+ ( -:(%% %*-- * $,0*0:(+',. MS -$$*0)- ( -;-,) * WMQ
'($(;&%&)&,-9 (+ '*+-,,+)%8 -*:, $0*') +')&*+(%&)8 &- -('0&&',. F&+(%%89 -&+', MS &- ( ((
*+%8 -*%)&*+9 +*+(( -*)>(0, >*% '*+)&+, )* -, ( %(+(, (+ $0*)*'*% :,&()*0. T&- 0,-%)-
&+ ;*) ( 0,')&*+ * ), $*),+)&(% ;,+,&)- (+ (+ &+'0,(-, &+ ), -&%% -,) 0,&0, )* -$$*0)
:,--(&+. T* -::(0&?,9 ), MS &-((+)(,- (0, (- *%%*>-
• MS &+*%,- (&)&*+(% (:&+&-)0()&*+ *+ )*$ * ), M,--(&+ (+ Q,&+
(:&+&-)0()&*+
• MS &+*%,- ( -:(%% %*-- &+ $,0*0:(+',
• S*:, M,--(&+ (+ Q,&+ $0*') +')&*+(%&)8 &- -('0&&',
• M,--(&+ -&%% -,) -&?, &+'0,(-,
IM -$$%&,- )>* &+),0(',- )* M,--(&+ (+ Q,&+ -,0&',-9 ), MQ I+),0(',
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
24/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
'*+)0*% *0 ), -$,'&&'()&*+ * :,--(&+ -,0&',- *) * ), $0*0(::&+ ,+&0*+:,+) (+ &+)* ),
M,--(&+ (+ Q,&+ (:&+&-)0()&, (0,(.
T* -*:, ,@),+)9 ), ,'&-&*+ (- )* >&' &+),0(', )* -, 0,&0,')- ()),+)&*+ 0*: ( (0 :*0, &:$*0)(+)&+),0(', ,-&+ ,'&-&*+. T, &--, * ), '*&', * &+),0(', &- ,--,+)&(%%8 ( ,-)&*+ * (;-)0(')&*+.
T, ;(-&' ,-&+ ,-)&*+ 0,*%,- (0*+ ), (:*+) * ,)(&%, ( +*>%,, )() ), +,0%8&+
-,0&', -)0')0, (+ ($$%&'()&*+ -*% (,. S*+ ,-&+ &+,&)(;%8 %,(- )* ), (;-)0(')&*+ *
:,--(&+ >&)&+ (+ ($$%&'()&*+9 0,(0%,-- * ), :,--(&+ &+),0(',.
+.2 APPLICATION OF MS
MS &- ( -,% API *0 ('&,&+ (+ &:$%,:,+)&+ %(+(, (+ $%()*0:(+*-)&' :,--(&+
&+),0(',-. I) )** (%%*>- &-*%()&*+ * :,--(&+ (+ ,&+ +')&*+(%&)8 &+)* (+ API %&;0(08 )()9
*+', ,;,9 &- ( -(0,(;%,9 0,%&(;%,9 (+ 0,-(;%, $0*0(::()&' 0,-*0',. T0* -, * -' (+
API9 (+8 ;0,(*>+- (0, ),+ ())0&;)(;%, )* ), ($$%&'()&*+ -&+ ), -,0&',- (+ +*) ), API &)-,%9
(- ), API- +')&*+- (0, )0&, (+ )0,. O+, * ), '*0, &,0,+',- ;,)>,,+ MS (+ *),0 -,0&',-
%&,- >&) ), ;8),'*,9 >&' '(+ '0,(), ( -%&) $,0*0:(+', ;*))%,+,' & (%% W,;;(-, -,0&',- (0,
;&%) &+ ((.
T, '00,+) ,-) P0(')&',B &- )* '0,(), (+ ,+),0$0&-, >&, (;-)0(') &+),0(',. T&- ,+,0(%&?,
&+),0(', '(+ ;, ,@)0,:,%8 -&:$%, *0 ), *,0>,%:&+ :(*0&)8 * ($$%&'()&*+-. F*0 )*-, ,>
($$%&'()&*+- )() 0,&0, :*0, -*$&-)&'()&*+9 ),0, (0, -,,0(% *$)&*+-. I) &- $*--&;%, )* ,@),+ ),
,+,0(%&?, &+),0(', *09 (%),0+()&,%89 '0,(), ( '-)*: &+),0(', *0 ), ($$%&'()&*+. T, -(%
$0(')&',9 *>,,09 &- )* -, ), +,0%8&+ :,--(&+ API &0,')%8 &+ ), '*, *0 )*-, ,>
($$%&'()&*+-9 (+ ('',$) ), %*'(%&?, 0&- * :*0, )&)%8 '*$%&+ ), ($$%&'()&*+ )* ), +,0%8&+),'+*%*8.
2# (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
25/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
-.0 APPENDI B SAMPLE APPLICATION PROGRAMMING
INTERFACET,0, (0, +:,0*- 0,(-*+- *0 '0,()&+ (+ (;-)0(') :,--(, (+ ,&+ &+),0(', *0 -, >&)&+ (+
($$%&'()&*+. T,-, 0,(-*+- &+'%,
• S&:$%&8&+ ($$%&'()&*+ ,,%*$:,+).
• I-*%()&+ ( $0*$0&,)(08 API )* :&+&:&?, ($$%&'()&*+ ,$,+,+'8 $*+ ), API.
• E+-0&+ '*+-&-),+) -(, * WMQ :,--(&+ $(0(:,),0- >&)&+ ), ($$%&'()&*+.
• A:,+)&+ ), +')&*+(%&)8 * ), ,@&-)&+ MQI + ;,%*> &- (+ ,@)0,:,%8 -&:$%, &+),0(', )() >&%% %&%% :*-) :,--(&+
+,,- *0 :*-) ($$%&'()&*+-. A- '(+ ;, ,(-&%8 -,,+9 :*-) * ), :,--(&+ &:$%,:,+)()&*+ ,)(&%- (0,
;0&, >&)&+ ), ,&+, +')&*+-. T, ($$%&'()&*+ '(%%&+ ),-, +')&*+- (- %&))%, (')(% :,--(,
&:$%,:,+)()&*+ +*>%,,.
Ta47e *> Sam67e Message and Q2e2ing AP
F("t#% Na6e Para6eter! De!"r#$t#%
O$,+Q,, • Q:0N(:,
• Q,,N(:,
• R,)0+C*,
O$,+ ( ,, *0 $0*',--&+. T&- '(%% >&%% (%-* 0,-%)
&+ ( Q,, M(+(,0 '*++,')&*+ ;,&+ :(,9 & &) (-
+*) (%0,(8 ;,,+ *+,. I Q,, M(+(,0 *0 Q,,
$**%&+ &- )* ;, $,0*0:,9 &) '(+ ;, &:$%,:,+), ,0,.
W0&),M,--(, • Q:0N(:,
• Q,,N(:,
• M,--(,D()(
• R,)0+C*,
P) ( :,--(, *+ ( ,,. T, :,--(, &- +*)
'*::&)),.
R,(M,--(, • Q:0N(:,
• Q,,N(:,
• M,--(,D()(
• R,)0+C*,
R,( ( :,--(, 0*: ( ,,. T, :,--(, &- +*)
'*::&)),.
21 (+(08 3#9 2##"
-
8/16/2019 WMQ Best Practices - Design Programming Standards1
26/26
POLO R ALPH LAUREN
WEBSPHERE MQ – BEST PRACTCES – DES!N & PRO!RAMMN! STANDARDS
F("t#% Na6e Para6eter! De!"r#$t#%
C%*-,Q,, • Q:0N(:,9
• Q,,N(:,
• R,)0+C*,
C%*-, ( ,, *0 $0*',--&+ (+ 0,%,(-, (%% WMQ
%*'- *+ ), ,,. T&- '(%% >&%% (%-* 0,-%) &+ ( Q,,
M(+(,0 '*++,')&*+ ;,&+ '%*-,9 & +,',--(08. I
Q,, M(+(,0 *0 Q,, $**%&+ &- ;,&+ $,0*0:,9
), $**% 0,-*0',- (0, 0,, ,0,.
M,--(,C*::&) • Q:0N(:,9
• R,)0+C*,
C*::&) (%% :,--(,- >&)&+ ( U+&) * W*0.
M,--(,R*%%;(' • Q:0N(:,9
• R,)0+C*,
R*%%;(' (%% :,--(,- >&)&+ ( U+&) * W*0.
22 3# 2##"