tibcoemsbestpractices15feb2005

90
http://www.tibco.com Global Headquarters 3303 Hillview Avenue Palo Alto, CA 94304 Tel: +1 !0"#4"1000 Toll $%ee: 1 #00"4&0"#4!0 $a': +1 !0"#4"100! (Cop)%i*ht &004, TC- otwa%e nc. All %i*ht %ee%ve. TC-, the TC- lo*o, The Powe% o 2ow, an TC- otwa%e a%e t%ae ma% o% %e*ite%e t%aema% o TC- otwa%e nc. in the nite tate an/o% othe% count%ie. All othe% p%o uct an compan) name an ma% menti one in thi ocumen t a%e the p%op e%t) o thei% %epec tive owne% an a%e ment ione o% ientiication pu%poe onl). 0&04 Conultin* e%vice TIBCO Enterprise Messaging Service (EMS) Best Practices Thi i a TC- et P%actice ocument %om TC- P%oeional e%vice 5%oup. Thi ocument p%ovie bet p%actice o% evelopin* an eplo)in* application uin* TC- 67 8o%me%l) nown a TC- 6nte%p%i e o% 7. Thi i not a 7 int%oucto%) o% ove%view ocument, no% i it a 7 AP evelopment *uie. t aume that %eae% have baic nowle*e o 7 an amilia%it) o TC -; 67 p%ouct. nte*%ation a%chitect an evelope% can ue thi ocument to etablih compan)"peciic evelopment an eplo)ment *uieline, o% impl) can ue it a a %ee%ence. nle othe%wie note in the ocument, it content i compatible an upate with 67 %eleae 4.' o% late%. <ocumen t =e%ion: &00!.1 <ocument <ate: 1! $eb 0!

Upload: ask-satwaliya

Post on 18-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 1/90

http://www.tibco.com

Global Headquarters3303 Hillview Avenue

Palo Alto, CA 94304Tel: +1 !0"#4"1000Toll $%ee: 1 #00"4&0"#4!0$a': +1 !0"#4"100!

(Cop)%i*ht &004, TC- otwa%e nc. All %i*ht

%ee%ve. TC-, the TC- lo*o, The Powe% o 

2ow, an TC- otwa%e a%e t%aema% o% 

%e*ite%e t%aema% o TC- otwa%e nc. in

the nite tate an/o% othe% count%ie. All othe% 

p%ouct an compan) name an ma%

mentione in thi ocument a%e the p%ope%t) o 

thei% %epective owne% an a%e mentione o% 

ientiication pu%poe onl). 0&04

Conultin*

e%vice

TIBCO Enterprise MessagingService (EMS) Best Practices

Thi i a TC- et P%actice ocument %om TC- P%oeional e%vice

5%oup.

Thi ocument p%ovie bet p%actice o% evelopin* an eplo)in* application

uin* TC- 67 8o%me%l) nown a TC- 6nte%p%ie o% 7. Thi i not a

7 int%oucto%) o% ove%view ocument, no% i it a 7 AP evelopment *uie.

t aume that %eae% have baic nowle*e o 7 an amilia%it) o TC-;

67 p%ouct.

nte*%ation a%chitect an evelope% can ue thi ocument to etablih

compan)"peciic evelopment an eplo)ment *uieline, o% impl) can ue it

a a %ee%ence.

nle othe%wie note in the ocument, it content i compatible an upate

with 67 %eleae 4.' o% late%.

<ocument =e%ion: &00!.1

<ocument <ate: 1! $eb 0!

Page 2: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 2/90

TC- 67 et P%actice

Coprig!t "oticeC-P>?5HT( &004 TC- otwa%e nc. Thi ocument i unpublihe an the o%e*oin* notice i ai'e to p%otect

TC- otwa%e nc. in the event o inave%tent publication. All %i*ht %ee%ve. 2o pa%t o thi ocument ma) be

%ep%ouce in an) o%m, incluin* photocop)in* o% t%anmiion elect%onicall) to an) compute%, without p%io% w%itten

conent o TC- otwa%e nc. The ino%mation containe in thi ocument i coniential an p%op%ieta%) to TC-

otwa%e nc. an ma) not be ue o% icloe e'cept a e'p%el) autho%i@e in w%itin* b) TC- otwa%e nc.

Cop)%i*ht p%otection inclue mate%ial *ene%ate %om ou% otwa%e p%o*%am ipla)e on the c%een, uch a icon,

c%een ipla), an the lie.

Trade#ar$sTechnolo*ie ec%ibe he%ein a%e eithe% cove%e b) e'itin* patent o% patent application a%e in p%o*%e. All b%an

an p%ouct name a%e t%aema% o% %e*ite%e t%aema% o thei% %epective hole% an a%e he%eb) acnowle*e.

Con%identialitThe ino%mation in thi ocument i ubect to chan*e without notice. Thi ocument contain ino%mation that i

coniential an p%op%ieta%) to TC- otwa%e nc. an ma) not be copie, publihe, o% icloe to othe%, o% ue

o% an) pu%poe othe% than %eview, without w%itten autho%i@ation o an oice% o TC- otwa%e nc. ubmiion o thi

ocument oe not %ep%eent a commitment to implement an) po%tion o thi peciication in the p%ouct o the

ubmitte%.

Content &arrantThe ino%mation in thi ocument i ubect to chan*e without notice. TH <-C762T P?-=<6< BA B A2<

TC- 7A6 2- DA??A2T>, 6EP?6, 7PF6<, -? TATT-?>, 2CF<25 T 2-T F7T6< T- AFF

DA??A2T6 -$ 76?CHA2TAFT> -? $T26 $-? A PA?TCFA? P?P-6. TC- otwa%e nc. hall not

be liable o% e%%o% containe he%ein o% o% inciental o% coneGuential ama*e in connection with the u%nihin*,

pe%o%mance o% ue o thi mate%ial.

$o% mo%e ino%mation, pleae contact:

TC- otwa%e nc.3303 Hillview Avenue

Palo Alto, CA 94304

A

&

Page 3: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 3/90

TC- 67 et P%actice

Table o% Contents

1 Introduction...............................................................................5

1.1 67 <evelopment ac*%oun.....................................................................................................!

1.& To the Application <evelope%........................................................................................................1.3 To the n%at%uctu%e Team............................................................................................................. 1.4 To the et P%actice 5u%u............................................................................................................#1.! How to e Thi <ocument...........................................................................................................#

1. -the% ou%ce o 67 et P%actice...........................................................................................#

2 Checklist for performance tuning of EMS infrastructure?...............9

3 EMS Client est !ractices..........................................................113.1 7ea*in* 2amin* tana%.......................................................................................................11

3.& 7 7ea*e............................................................................................................................ 113.&.1 e o 7ea*e Heae% $iel........................................................................................1&

3.&.& e o 7ea*e P%ope%tie $iel...................................................................................13.&.3 7ea*e electo%..........................................................................................................&03.&.4 7ea*e Pa)loa T)pe..................................................................................................&13.&.! 7ea*e Di%e $o%mat....................................................................................................&33.&. 7ea*e Comp%eion....................................................................................................&43.&. 7ea*e 6nc%)ption........................................................................................................&4

3.3 Iueue v. Topic....................................................................................................................... &3.3.1 67 Iueue n%at%uctu%e...............................................................................................&#3.3.& 67 Topic n%at%uctu%e..................................................................................................3&

3.4 Tempo%a%), <)namic an tatic <etination...............................................................................33.! Iueue %owe% a*e................................................................................................................393. ecu%e Client Connection..........................................................................................................40

3..1 n%at%uctu%e Authentication............................................................................................40

3..& Aminit%ato% Authentication an Autho%i@ation................................................................403..3 Application Autho%i@ation..................................................................................................413..4 67 ?outin* Authentication an Autho%i@ation................................................................4&3..! e o F an Authentication within 67......................................................................4&

3. 2< Fooup................................................................................................................................443.# Do%in* with T%anaction...........................................................................................................4!3.9 )nch%onou an A)nch%onou nte%action................................................................................43.10 Client $ault Tole%ance.................................................................................................................. 49

3.10.1 Client $ault Tole%ance an <ela) in $ailove%....................................................................493.10.& Client $ault"Tole%ant tate T%anition T%appin*................................................................ !13.10.3 Tibm -bect...................................................................................................................!&

3.11 P%e"paca*e TC- 67 Application......................................................................................!33.11.1 in* 67 in D............................................................................................................ !3

3.11.& in* 67 in Aapte%.................................................................................................... !33.11.3 in* ?ene@vou ove% 67 an ?ene@vou/67 %i*in*.......................................!43.11.4 in* Haw ove% 67.....................................................................................................!!

3.1& nte*%ation with 6 App e%ve%................................................................................................ !!

" EMS Ser#er est !ractices.........................................................5$

4.1 )tem ?eGui%ement an Plannin*.............................................................................................!4.1.1 2etwo% A%chitectu%e........................................................................................................ !4.1.& to%a*e A%chitectu%e........................................................................................................!

3

Page 4: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 4/90

TC- 67 et P%actice

4.1.3 Ph)ical e%ve% A%chitectu%e............................................................................................!

4.& aic 67 <aemon 8e%ve% 6lement.........................................................................................04.3 <ei*n o% $ault Tole%ance...........................................................................................................1

4.3.1 $ault"Tole%ant e%ve% 6lement.........................................................................................34.3.& Clute%in*.........................................................................................................................44.3.3 A%chitectu%al <ie%ence etween P%oect ta*e.............................................................4.3.4 ha%e to%a*e )tem...................................................................................................#4.3.! <iate% ?ecove%) <ei*n...............................................................................................#

4.4 <ei*n o% -ptimal Pe%o%mance..................................................................................................#4.4.1 e%ve% ?outin*.................................................................................................................04.4.& <etination %i*in*.........................................................................................................0

4.! Client 7ana*ement......................................................................................................................14.!.1 Client ?e*it%ation an 2ame P%olie%ation......................................................................14.!.& Client Authentication........................................................................................................&4.!.3 Client Autho%i@ation.......................................................................................................... &4.!.4 F Connection.............................................................................................................&

4. e%ve% 7ana*ement....................................................................................................................&

4..1 Client Connection 7ana*ement.......................................................................................&4..& 7ea*e Pe%itence.......................................................................................................&4..3 e%ve% calin*.................................................................................................................&4..4 Aminit%ation an 7onito%in*.........................................................................................3

4. <eplo)in* 67 with -the% TC- Component..........................................................................#!4..1 <eplo)in* 67 with D !.E............................................................................................#!

4.# nte%actin* with -the% 7 P%ovie%..........................................................................................##4.9 7ulti"Fan*ua*e nte*%ation..........................................................................................................##

4

Page 5: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 5/90

TC- 67 et P%actice

' Introduction

'' EMS evelop#ent Bac$ground67 i TC-; implementation o the 7 8ava 7ea*in* e%vice peciication 8v1.1, which i an AP peciication

%om un an co"w%itten b) man) othe% companie incluin* TC-. A an inut%)"accepte mea*in* peciication,

7 i implemente an uppo%te b) man) otwa%e veno% an i ue wiel) o% application inte*%ation.

67 p%ovie a mo%e complete uite o mea*in* p%ouct an tool than impl) the 7 AP. t alo p%ovie a

c%itical in%at%uctu%e component that ha implication on e%ve%, to%a*e, an netwo% in%at%uctu%e. Thi ocument

will not cove% 7 baic o% AP, which can be oun at a va%iet) o othe% ou%ce. t aume that %eae% have baic

nowle*e o 7 an amilia%it) o TC-; 67 p%ouct.

67 i a mea*in* in%at%uctu%e that uppo%t the ava 7ea*in* e%vice 87 peciication. 7 wa ei*ne

a an inut%)"tana% inte%ace to a 7ea*e"-%iente 7ilewa%e 87-7 in%at%uctu%e. 7-7 p%ovie capabilitie

o% application mea*in* an inte*%ation that *o a% be)on the t%aitional client"e%ve% pa%ai*m that have ominatethe compute% inut%) o% eve%al ecae. Dhile 7 peciie the AP, it i not an all"encompain* peciication. t i

e'pecte the 7-7 in%at%uctu%e woul p%ovie the ollowin*:

P%otocol Di%e $o%mat

7etaata ?epoito%)

Foa alancin* an $ault"Tole%ant 7echanim

6%%o% 2otiication an T%ace no%mation

 Aminit%ation AP

ecu%it) AP

 Aitional Fan*ua*e inin*

Clea%l), the in%at%uctu%e i a c%itical component in both the epa%tmental an ente%p%ie eplo)ment o 7-7"bae

application. t i, the%eo%e, impo%tant to une%tan the eatu%e an capabilitie available within the mea*e

in%at%uctu%e to enu%e that optimal application olution a%e both ei*ne an eplo)e. t i eGuall) impo%tant that

the in%at%uctu%e p%ovie an inut%ial"t%en*th mea*in* ounation o% the application.

Thi ocument etail the nuance an eatu%e o the 67 to enu%e that a%chitect an evelope% will be able to

e'ploit the capabilitie to thei% ullet. ?ecommenation an a%chitectu%e a%e p%ovie to ait evelope% an

)tem a%chitect in the ei*n o hi*hl) optimi@e application to ull) meet the cutome%; buine %eGui%ement.

et p%actice o% the implementation an ei*n o 7-7"bae application within the 67 p%ouct bae will alo be

ec%ibe.

The%e i no Jilve% bulletK to olve all application %eGui%ement with a in*le olution. The%eo%e, man) o the u**etion

an comment in thi ocument a%e p%ovie a *uieline an %ecommenation an not necea%il) %ule o% 

intallation an coni*u%ation. The%e a%e alo t%ae"o within a )tem ei*n, an thee %eGui%e tetin* an

p%otot)pin* to ete%mine the optimal olution. The p%o an con o ie%ent a%chitectu%e an implementation

p%actice a%e hi*hli*hte th%ou*hout the ocument to ait )tem a%chitect in main* co%%ect ei*n eciion.

7an) apect an etail o the 7 peciication an TC-; implementation o the in%at%uctu%e to uppo%t the

peciication will be etaile in thi ocument. nlie othe% ocument, which a%e %eail) available a %ee%ence

!

Page 6: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 6/90

TC- 67 et P%actice

ocument, the icuion o the technolo*) will be ocue on %elevanc) to the 67 envi%onment an on bet

p%actice an %ecommenation o% implementation o a complete mea*in* olution.

'* To t!e +pplication evelopers

 Application evelope% ue 67 AP o% one o the paca*e 67 client application 8uch a D an TC- Aapte%

to evelop application. <evelope% a%e alo not %et%icte to the ue o ava an the 7 AP to inte%act with t%ictl)

othe% ava 7 application. Th%ou*h the 67 in%at%uctu%e, 7 an ava a%e onl) one o the alte%native o% 

inte%ope%able mea*in*. -the% p%o*%ammin* lan*ua*e a%e alo available o% application evelopment that will

communicate th%ou*h the 67 in%at%uctu%e with the 7 application. n aition, 67 p%ovie t%anpa%ent b%i*in*

between othe% mea*in* )tem 8uch TC- ?ene@vou an TC- ma%t ocet an 7 without an) pecial

 AP %eGui%ement.

 All peciali@e eatu%e o 67 a%e p%ovie without %eGui%in* peciali@e, non"tana%, 7 AP call, to enu%e 7

 AP ou%ce coe compatibilit). The 7 AP ou%ce coe compatibilit) i the main obective o the peciication. Dhile

pa%t o 7 i e'poe o% veno%"peciic implementation 8uch a the connection acto%), it i till poible to c%eate

7"compliant application that contain no TC-"peciic coe, even whe%e it i allowe within the 7 peciication.

t i impo%tant to note that the%e a%e two 7 AP et available. 67 uppo%t both.

7ot ocument an boo that ec%ibe 7 %ee% to the ollowin* p%o*%ammin* moel:

Thi i the o%i*inal moel o the 7 peciication. Topic an Gueue we%e eine with peciic inte%ace. Thi

complicate the coe bae, an %eGui%e peciic nowle*e o the etination ue, eithe% Gueue o% topic.

no%tunatel), mot o the lite%atu%e on the ma%et toa) that icue 7 ue thi moel to ec%ibe an %ee%ence

ample 7 coe. t i alo, in man) cae, ue to ec%ibe bet p%actice o% w%itin* 7 coe. Thee ole% 

%ee%ence mate%ial houl be ica%e o% i*no%e.

Page 7: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 7/90

TC- 67 et P%actice

The cu%%ent 7v1.1 tana% p%ovie a le comple' an mo%e %obut p%o*%ammin* moel:

t i %ecommene that the latet p%o*%ammin* moel be ue o% the c%eation o 7 application. The ole% inte%ace

a%e till available with the AP lib%a%) p%ovie with 67, but thi i o% pu%poe o uppo%tin* le*ac) 7 application.

The ol inte%ace a%e not %ecommene o% ue, an ma) eventuall) be ep%ecate.

nclue with the 67 it%ibution a%e eve%al *%oup o ample coe. The ava ample coe inclue e'ample o 

p%o*%am that pe%o%m the ame unction, but ue the two ie%ent p%o*%ammin* moel to hi*hli*ht the ie%ence.

nclue with the ava ample coe a%e alo e'ample 7 p%o*%am %om un, a well a eve%al e'ample o ava

coe that mae ue o the 2< inte%ace, which i %ecommene o% ue in obtainin* connection acto%) an

etination ino%mation 8e'cept in the cae o )namic topic.

 Alo inclue with the 67 it%ibution a%e coe ample o% C an CL. Coe ample that mae ue o the

 Aminit%ation AP a%e alo inclue with the eault 67 intallation.

', To t!e In%rastructure Tea#

The 67 in%at%uctu%e p%ovie a wie a%%a) o aminit%ation, %outin*, ecu%it), %eliabilit), loa"balancin* an ault"

tole%ant eatu%e. The 67 e%ve% alo p%ovie 2< acce o% connection acto%) an etination einition. The

etup o the 67 in%at%uctu%e will p%eicate the capabilitie e'poe o% 7 an mea*in* inte%action. n ome

cae, the 67 in%at%uctu%e i cont%olle th%ou*h the 7 mea*e 8o% e'ample via the heae% p%ope%tie o% 

th%ou*h the aminit%ation inte%ace. The%e a%e multiple coni*u%ation an cont%ol available o% the 67

in%at%uctu%e. Pe%o%mance, calin* an availabilit) can be cont%olle th%ou*h the in%at%uctu%e an a%e eential a

pa%t o the ei*n an a%chitectu%e o the 7 application.

7 oe not eine the in%at%uctu%e a pa%t o the peciicationM the%eo%e, man) o the capabilitie o the 67in%at%uctu%e a%e uniGue to TC-. ince 7 in%at%uctu%e i not eine b) the peciication, it i uniGue o% each

veno%, an, the%eo%e, no common ocumentation i available.

The 67 in%at%uctu%e oe not %eGui%e that non"tana% e'tenion p%ovie the capabilitie e'poe th%ou*h the

in%at%uctu%e, an can the%eo%e, *ene%all), be coni*u%e without e'tenion %eGui%e in the application.

Page 8: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 8/90

TC- 67 et P%actice

67 alo uppo%t coni*u%ation o% 7 mea*in* that a%e not cove%e b) the peciication, o% e'ample, hi*h"

pe%o%mance %eliable"onl) communication. Dhile thee aect the communication pa%ai*m, the) o not aect the

7 peciication an ou%ce"coe inte%ope%abilit).

'- To t!e Best Practices Gurune%tanin* o the 7 peciication i onl) the be*innin* o une%tanin* the uniGue capabilitie an

coni*u%ation an a%chitectu%e available with the 67 p%ouct. TC- ha p%ovie a %obut et o eatu%e an

capabilitie that *o be)on the peciication o% 7 mea*in*. 7 oe not eine all the capabilitie %eGui%e to

enu%e an inut%ial t%en*th implementation o 7"bae mea*in*. ne%tanin* o othe% veno% implementation

o 7 oe not necea%il) p%ovie a uicient bac*%oun to une%tan all that TC- ha inco%po%ate within 67

to p%ovie an inut%ial t%en*th 7 implementation.

'. Ho/ to 0se T!is ocu#ent

The bet p%actice o% 67 in thi ocument a%e ivie into two b%oa cate*o%ie: 67 client bet p%actice, an 67

e%ve% bet p%actice. n man) cae, the%e i ove%lap o unctionalit) an epenencie between the two cate*o%ie.

The%eo%e, the%e i e'tenive ue o c%o"%ee%ence ue within the ocument.

The topic in each cate*o%) %ep%eent t)pical ta o% iue encounte%e in 67 a%chitectu%e, ei*n, eplo)ment,

an ope%ation, an the) a%e p%eente inepenentl) in thi ocument. ?eae% o thi ocument a%e encou%a*e to

 ump to an) peciic topic i%ectl) to obtain %elevant bet p%actice. C%o"%ee%ence inicate whe%e to *o to e'pan o% 

e'plain component mentione in an) pa%ticula% ection. The p%eentation o iea i alo in a lo*ical low, o it

%eain* %om the be*innin* ma) be mo%e applicable to a pe%on le amilia% with 7 o% 67.

'1 Ot!er Sources o% EMS Best PracticesTC- 67 p%ouct ocumentation 8%eleae 4.' i anothe% e'cellent ou%ce o 67 bet p%actice.

n *ene%al, the%e a%e man) web ite 8incluin* the 7 peciication an p%oeional boo p%oviin* e'cellent

ino%mation on 7 at va%iou epth. n pa%ticula%, web ite an boo that tal about mea*in* patte%n can alo

help application evelope% to mae the %i*ht ei*n choice.

#

Page 9: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 9/90

TC- 67 et P%actice

* C!ec$list %or per%or#ance tuning o% EMS in%rastructure2

$ollowin* a%e the eve%al thin* to be conie%e u%in* pe%o%mance tunin* o 67 in%at%uctu%e. The actual olutionwill epen o the caue o the p%oblem bein* ace:

Server level tuning:

Pa%amete% Nto%eOminimum;, Nto%eOminimumO)nc;, Nto%eOminimumO)nc; Thee help p%e"allocate

ile to%a*e o% 67 The actual value o thee pa%amete% will epen on the available ile to%a*e

an pe%o%mance %eGui%ement

6nable pa%amete% Nto%eOt%uncate; Thi will mae u%e that to%a*e ile a%e t%uncate when mea*e

a%e conume

et Nma'Om*Omemo%) app%op%iatel). ettin* it to @e%o 80, can %eult in all the available memo%) on the

machine be conume b) 67 i the loa i ve%) hi*h The actual value will epen on the available

ph)ical memo%) 6nable Nm*Oawppin*;

et N%ee%veOmemo%)Oi@e; ettin* thi non"@e%o, allow 67 emon bloc ome memo%) to be ue

in eme%*enc) ituation. The actual value will epen on the available ph)ical memo%)

7ea*e t%acin* <iable mea*e t%acin* a that will %eult in pe%o%mance ove%hea.

Fo*Ot%ace, conoleOt%ace Avoi an) item which a%e not mut to be t%ace.

Design level tuning:

enti) the patte%n o netwo% t%aic. ometime the netwo% t%aic can be %aticall) %emove b) ain*

mo%e 67 e%ve% in ubnet cloe% to client.

)ou a%e acin* an iue o low conume% with a topic ubc%ibe%, then it can be %eolve b) uin*

topic"to"Gueue b%i*e with mo%e than one conume% on the b%i*e Gueue.

 Acnowle*ement moe The eault moe i NAuto; ac but pe%o%mance can be imp%ove b) uin*

othe% moe o acnowle*ement o %e"viit the application %eGui%ement to coni%m )ou% ac moe.

<elive%) moe The eault elive%) moe i Npe%itent;. in* Nnon"pe%itent; 8o% even %eliable

elive%) moe can imp%ove pe%o%mance o %e"viit the application %eGui%ement to coni%m )ou% elive%)

moe.

7ea*e 6'pi%ation " t i impo%tant to et a TTF value o% mea*e that o not nee to e'it o%eve%.

the mea*e onl) ha value o% a ce%tain pe%io, then it houl automaticall) be e'pun*e %om the

Gueue i it i not p%ocee in a timel) ahion.

$low"cont%ol )ou a%e acin* the Nat p%ouce%"low conume%; iue, then enable low cont%ol.

7ea*e comp%eion )ou a%e enin* la%*e mea*e with pe%itent elive%) moe, then enable

comp%eion.

<iable non"manato%) m heae% iel uch a 77ea*e<, 7Timetamp

 Avoi e'tenive ue o Nmea*e electo%;

)ou a%e uin* ame 67 e%ve% o% )nch%onou an a)nch%onou mea*e on epa%ate

etination an )ou have low conume% o% a)nch%onou mea*e %eultin* in la%*e b ile then it

i aviable to have epa%ate 67 e%ve% o% )nch%onou an a)nch%onou mea*e etination a

o% )nch%onou mea*e the acceptable latenc) i much malle% than a)nch%onou mea*e.

Settings for the applications using queues:

9

Page 10: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 10/90

TC- 67 et P%actice

T%) to avoi ue o e'cluive Gueue

)ou acin* the p%oblem o low conume%, ain* mo%e Gueue %eceive% o% non"e'cluive Gueue can

%eult in hi*he% pe%o%mance.

Chec the Np%eetch; p%ope%t) o the Gueue " T%aitionall), mea*e a%e elive%e )nch%onoul) %om

the Gueue to the e%ve%. The ne't mea*e i not ent to the conume% until the p%eviou mea*e i

acnowle*e. 67 uppo%t the batchin* o eve%al mea*e to the conume% in the bac*%oun.

Thi *ene%all) p%ovie bette% pe%o%mance than the in*le"mea*e mechanim. A pa%amete% i et b)

the aminit%ato% a*aint the Gueue on the e%ve% to enable thi eatu%e an i t%anpa%ent to the

application uin* the Gueue.

Settings for the applications using topics:

<u%able topic ubc%ibe% houl be ue onl) when mut.

10

Page 11: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 11/90

TC- 67 et P%actice

, EMS Client Best Practices

The%e i a wealth o ino%mation on how to ue 7 to c%eate client application. Thi ino%mation i available %ompublicl) available web ite, p%oeional boo, o% p%ouct ocumentation. A a %eult, thi bet p%actice *uie will not

ocu on the baic 7 emantic uch a 7 mea*e t%uctu%e, mea*in* moel, an AP ua*e. ntea, thi

chapte% will ocu on va%iou 67 client"ie ei*n iue an eatu%e that a%e not well une%too b) evelope%.

,' Messaging "a#ing StandardThe%e a%e no ha% an at %ule o% mea*e namin*. 7ea*e name a%e ue o% mea*e which a%e ent to an

%eceive %om eithe% 7 Topic o% Iueue. The name i ue to place the mea*in* into the %elevant in%at%uctu%e

etination an a pa%t o in%at%uctu%e mea*e %outin*. The 7 peciication oe not peci) a %ecommenation o% 

tana% o% mea*in* name. The%eo%e, TC- ha implemente a ubect"bae a%ein* cheme o% 7

mea*e that mimic the %obut ?ene@vou namin* cheme. ince mea*e namin* i outie the cope o the

peciication, the 7 veno% a%e %ee to implement an) namin* cheme the) ei%e.

<etail o% %ecommenation an bet p%actice o% 7 namin* can be oun in ection: J 3.&.1.1  7<etination

Heae% $ielK.

• %IC& EMS supports su'(ect)'ased addressing schema for *MS messages

that mimics the ro'ust +ende,#ous naming scheme.

,* 3MS Messages

 Althou*h the t%anpo%t peciication o 7 mea*e i not eine, the mea*e t%uctu%e i well eine within the

7 peciication. The mea*e i a combination o automatic, %eGui%e an optional iel. The optional iel a%e

eithe% 7"eine an/o% veno%"peciic.

 A 7 mea*e t%uctu%e i a ollow:

Figure 1 - JMS Message Structure

11

JMS Message

JMS

Header

JMS Properties 3MSBody

Standard Properties

Application Properties

Provider Properties

Page 12: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 12/90

TC- 67 et P%actice

nlie a t%aitional ?emote P%oceu%e Call 8?PC mechanim, the ame mea*e can be ha%e amon* eve%al

application imultaneoul), potentiall) with the ame epa%tment o% even at an ente%p%ie level. t i, the%eo%e,

impo%tant to appl) inte%nal tana% an bet p%actice a*aint the mea*e. Thi will enu%e that:

7ultiple copie o the mea*e will not be %eGui%e to be ent, the%eb) %eucin* netwo% ove%hea an

application comple'it)

%euce o% eliminate inte%"application epenencie

%euce o% eliminate mea*e %ew%itin* %eGui%ement

%euce the numbe% o mea*e einition

impli) mea*e %outin*

avoi veno% loc"in

eall), the mea*e houl be c%eate a Ji%e"an"o%*etK obect, %e*a%le i the) a%e c%eate o% ue with topic o% 

Gueue 8topic an Gueue be will icue in mo%e etail late% in thi ocument, but with b%i*in* the Gueue

pa%ai*m alo chan*e. Thi i a minhit %om t%aitional client"e%ve% evelopment. t i impo%tant to ove%come thet%aitional ?PC ei*n with man) obect ue a*aint ti*htl) couple application. 7-7 a%chitectu%e allow

application to eicientl) ha%e ata in looel) ee%ate ei*n. To enu%e that thi capabilit) i e'ploite, the

mea*e mut be c%eate in a ahion that i ie%ent %om t%aitional client"e%ve% ei*n.

<etail o 7 mea*e ei*n will be e'plo%e in thi ection o the ocument.

,*' 0se o% Message Header 4ields

The 7 mea*e heae% i ue to %oute mea*e between enpoint. The%e a%e ten iel available within the

heae%, but not all a%e %eGui%e. The 7 heae% i clea%l) eine b) the 7 peciication.

3.2.1.1 JMSDestination Header Field 

Thi i the Iueue o% Topic name. Thi i a i*niicant iel. nlie a client"e%ve% mea*e, whe%e the etination i

t%anlate to a ocet an an P a%e, with 7 the etination i a label on the mea*e. The label e%ve two

pu%poe: it p%ovie ino%mation about the ata containe in the mea*e, an i ue a pa%t o the %outin* o the

mea*e. The etination label can be a combination o the %outin* an content ino%mation. The 7 etination

houl not be ue to t%anpo%t actual ata. The etination ec%ibe the ata o% the %oute. Actual ata houl be

containe in the bo) o the 7 mea*e.

7 etination mae ue o a ubect"bae a%ein* cheme. The etination a%e i a ot"elimite t%in* o 

toen. t i a %eeo%m iel. t i impo%tant to ca%eull) conie% a complete a%ein* cheme. A with ai*nment o 

P a%e an ubnet, i the%e i no t%ate*) c%eate p%io% to eplo)ment it can caue a *%eat eal o aminit%ation

heaache an %eei*n a the envi%onment e'pan.

Dhen a 7 mea*e p%ouce% c%eate a mea*e, it will mae ue o a ull) Gualiie etination name. The mea*e

p%ouce% ai*n a etination label, an the mea*e conume% %e*ite% inte%et in %eceivin* mea*e bae oneithe% the ull) Gualiie name o% a name with wil ca%. The etination name i alo ue a pa%t o the

in%at%uctu%e; acce cont%ol )tem, acce inhe%itance an aminit%ation. The etination label i alo ue o% 

inte%nal mea*e %outin*, whe%e wil ca% a%e alo ue to impli) %outin* aminit%ation. Thee aitional name"

%elate in%at%uctu%e %eGui%ement houl be conie%e when ei*nin* a etination name.

TC- alo uppo%t )namic etination. He%e etination name an applicabilit) o wil ca% i ve%) impo%tant

8ee ection J3.4 Tempo%a%), <)namic an tatic <etinationK o% mo%e etail on )namic etination.

1&

Page 13: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 13/90

TC- 67 et P%actice

The%e a%e two wil ca% available. The i%t i a toen"level wil ca%, an the cha%acte% ue i the JQK. t i ue to

wilca% a pa%ticula% iel within a etination name. The econ wilca% cha%acte% i a JRK. Thi wilca% i ue to

match one o% mo%e t%ailin* iel. 87o%e etail on wilca% an thei% application i available in the TC- 7 e%;

5uie

The%e a%e no ha% %ule o% the c%eation o etination name. ome *uieline houl be conie%e:

The wie"*%ain wilca% matche t%ailin* cha%acte%M the%eo%e, hie%a%chical label i*niicance i %om let to

%i*ht, with the let"mot toen bein* the mot i*niicant. $o% e'ample, i etination a%e *eo*%aphicall)

i*niicant then a label woul poibl) be o%*ani@e a:

country.state.city.street.floor.office

-% a ec%iptive hie%a%ch) o%*ani@ation a,

country.market.instrument

n thi wa), it woul be ea) to c%eate mea*e ubc%iption inte%et o% aminit%ative cont%ol with a in*le

wilca% bae on the *%anula%it) o mea*e inte%et.

<etination label can be a mi'tu%e o multiple label *%oup, o% e'ample *eo*%aphic, ec%iptive an

o%*ani@ational.

The len*th o the label will i%ectl) aect the i@e o the mea*e. $o% pe%o%mance pu%poe an to enu%e

Jnetwo%"%ienl)K acce, it i %ecommene to limit the i@e o the etination label.

n man) cae, the ou%ce o the mea*e can be inclue in the etination label. thi i ue, it i

%ecommene to place the ou%ce at the be*innin* o the mea*e. $o% e'ample, i thi i inte%"epa%tment

mea*in*, the ou%ce epa%tment i place in the let"mot iel.

 Avoi ei*nin* name that %eGui%e e'tenive ue o in*le"toen wilca%. %eGui%e, place the iel at the

let"mot poition, a mentione in the p%eviou point.

 Avoi namin* cheme that a%e a combination o %eGui%e poitional iel an %ee"o%m iel.

 Althou*h namin* woul appea% mo%e i*niicant o% topic than o% Gueue, the aminit%ation o the Gueue o%

in%at%uctu%e %eGui%ement i alo impliie th%ou*h the ue o wilca%, an the%eo%e, conie%ation o%

namin* o Gueue i till i*niicant.

$o% tatic Gueue an topic, it i %ecommene that the name be %et%ieve %om a cent%al 2< %epoito%)

%athe% than ha% coe into the application o% loae %om a coni*u%ation ile.

ome co%po%ate"wie p%ei'e o% tana% a%e %ecommene that can be applie when mea*e %outin* i

%eGui%e ac%o a co%po%ate bacbone.

<etination houl be c%eate that will avoi enin* the ame ata mo%e than once. 2ote that in ome cae

mea*e b%i*in* can avoi mea*e uplication %om the in*%e ou%ce o the mea*in* chain 8ee ectionJ4.4.& <etination %i*in*K o% etail on mea*e b%i*in*.

 A met%ic o% the Gualit) o the application ei*n will inclue a %obut mea*e etination cheme that allow imple

wilca% name main* an in*le mea*e e%vicin* potentiall) eve%al ownt%eam application.

t i %ecommene to not to ue etination t)pe 8i.e. topic o% Gueue in the etination name.

13

Page 14: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 14/90

TC- 67 et P%actice

• %he *MS destination should not 'e used to transport actual data. %he

destination descri'es the data or the route. -ctual data should 'e

contained in the 'od of the *MS message.

• %he destination name is also used as part of the infrastructure/s access

control sstem0 access inheritance and administration.

• %he length of the la'el ill directl aect the si,e of the message. or

performance purpose and to ensure 4netork)friendl access0 it is

recommended to limit the si,e of the destination la'el.

• -#oid designing names that re6uire e7tensi#e use of single)token ildcards

• Some corporate)ide pre87es or standards are recommended that can 'e

applied hen message routing is re6uired across a corporate 'ack'one.

• EMS allos the destination name to 'e 255 characters ma7imum.

3.2.1.2 JMSDeliveryMode Header Field 

Thi iel i et b) eithe% the publihe% o% ene% to ete%mine i the mea*e houl be pe%itent o% not be pe%itent.

Pe%itence implie the mea*e a%e available o% %ecove% ate% a ailu%e o the e%ve%M the%eo%e, the) a%e w%itten to

i. Dith 67, i the%e a%e no u%able topic ubc%ibe%, the mea*e a%e not w%itten to i %e*a%le i pe%itence

i et in the heae%. n thi cae, pe%itence i not %eGui%e, an, the%eo%e, pe%o%mance i imp%ove b) eliminatin* the

i /-. Thi 67 behavio% i conitent with the 7 peciication.

t i impo%tant to note that the eault elive%) moe i Pe%itent which pe%it the ata to the i. Alo, note that

pe%itence i in %ee%ence to e%ve% ailu%e an not client ailu%e. The pe%o%mance o the in%at%uctu%e can be imp%ove

b) uin* non"pe%itent elive%) mechanim, but thi alo mean the%e i no *ua%antee o% the elive%) o the mea*e.

ee ection J3.10 Client $ault Tole%anceK o% etail on client ailu%e %ecove%).

The in%at%uctu%e can emplo) two moe to pe%it the mea*e. The eault i to mae ue o the ope%atin* )tem;

tana% bue%e w%ite. no%tunatel), the%e i no *ua%antee the lat mea*e will be w%itten to i ince, o% pe%o%mance %eaon, the ope%atin* )tem bue% the w%ite ata beo%e actuall) bein* w%itten to i. 67 alo

uppo%t a ailae moe o% i w%ite. Thi etup o the in%at%uctu%e b)pae the ope%atin* )tem bue%e w%ite

an o%ce the w%ite to be un"bue%e. Thi i cont%olle b) the 67 in%at%uctu%e coni*u%ation o% the etination. t i

impo%tant to note that thi low pe%o%mance an i a limitation o the i %ive.

nc%eae in the pe%o%mance o the i will imp%ove the pe%o%mance o the mea*in* in%at%uctu%e. <i

pe%o%mance can be imp%ove with ?A< an i t%ippin*. The )nch%onou w%ite ue b) ailae moe can alo be

imp%ove with bue%e an batte%) bace"up cont%olle%.

• %he default deli#er mode for EMS is !ersistent

or 1: guarantee of messages0 !ersistent deli#er mode should 'e usedalong ith ailsafe destination propert.

3.2.1.3 JMSExpiration Header Field 

t i impo%tant to enu%e that unelive%e mea*e o not necea%il) tae up %eou%ce o%eve%. n aition, %om a

ei*n pe%pective, ome ata ha no value i it i ole% than a ce%tain pe%io. The%eo%e, thi time"to"live 8TTF value

can be et to e'pun*e the ata %om the active Gueue o% topic. t i poible to till p%ee%ve thee mea*e even

th%ou*h the) have been %emove %om the active topic o% Gueue 8ee ection J3.&.&.1 P%ovie%"peciic P%ope%tieK.

14

Page 15: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 15/90

TC- 67 et P%actice

• %he default #alue of this 8eld is 0 hich means that the message;s< ill

remain in the ser#er fore#er0 until the are consumed ' the recei#er. It is

recommended that this default should not 'e used in a production

en#ironment.

3.2.1.4 JMSPriority Header Field 

7 peciie 10 level o elive%) p%io%it). 7ea*e with a hi*he% p%io%it) will be place at the %ont o the $$-

Gueue. t i impo%tant to note that thi will aect application whe%e mea*e eGuence i impo%tant. A%chitectu%all), it

i temptin* to en p%io%it) mea*e a pa%t o an in"ban i*nalin* mechanim. Thi i not necea%il) %ecommene.

n man) cae, a epa%ate Gueue o% topic an a)nch%onou mea*e conumption houl be ue a an alte%native to

mea*e p%io%it) o% i*nalin* an ale%tin*.

t i alo impo%tant to note that )tem level mea*e a%e available th%ou*h the S).monito% topic. Pleae %ee% to the

TC- 67 e% 5uie Appeni' JCK an ection J4..4.  7onito%in* e%ve% 6vent th%ou*h TopicK o% mo%e

etail.

• %he default #alue of this 8eld is ".

• In man cases0 it is recommended to use a separate destination and

asnchronous message consumption as an alternati#e to message priorit

for signaling and alerting.

3.2.1.5 JMSMessageID Header Field 

Thi iel hol a uniGue < o% each iniviual mea*e. The 7 peciication %ecommen that o% pe%o%mance

%eaon, the 7ea*e < be iable. t will mae the mea*e malle%, an oe not %eGui%e the *ene%ation an

ine%tion o a mea*e < i iable. 2eve%thele, it i impo%tant to note that the < i till i*niicant within the

mea*in* in%at%uctu%eM o% e'ample, an aminit%ato% can manuall) elete mea*e %om a Gueue bae on the <.

t i %ecommene that the abilit) to enable o% iable mea*e < be e'poe th%ou*h an aminit%ation inte%ace i the application ei*ne% ha ete%mine that the mea*e < i not %eGui%e. n thi wa), it can be enable, i 

necea%), while the application i %unnin* o% at ta%tup even i it wa iable a pa%t o the application ei*n. Thi <

ma) not be %eGui%e in p%ouction, %om an application pe%pective, but the%e ma) be a %eGui%ement o% thi < within the

in%at%uctu%e o% aminit%ation conte't, an thi houl alo be conie%e a pa%t o the application ei*n.

• or performance reasons0 it is recommended to disa'le the Message I= 'ut

at the same time Message I= allos administrator to manuall delete

messages from the 6ueue. %hus is recommended that the a'ilit to ena'le

or disa'le message Ids 'e e7posed through an administration interface.

3.2.1. JMS!i"eSta"p Header Field 

Timetamp a%e c%eate an elive%e a pa%t o 7 heae% a the eault behavio%. $%om a pe%o%mance pe%pective,thi can be iable. nle %eGui%e, it i %ecommene to iable timetamp. n aition, %om a ei*n pe%pective,

it i %ecommene to e'poe the ue o timetamp th%ou*h eithe% a mana*ement AP 8o% e'ample Haw

int%umentation o% th%ou*h a ta%tup coni*u%ation to enu%e it can be ue when necea%).

7 peciication oe not peci) when the timetamp i et. The p%ouce% can et it when the mea*e i hane o 

to the in%at%uctu%e, o% within the in%at%uctu%e.

1!

Page 16: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 16/90

TC- 67 et P%actice

• EMS sets the timestamp hen the message is handed o to the message

infrastructure. %herefore0 it is important to note the message ma actuall

'e sent after the timestamp is set.

3.2.1.# JMS$eply!o Header Field Thi i et a pa%t o a %eGuet"%epl) communication eion. Pleae %ee% to ection J 3.4 Tempo%a%), <)namic an

tatic <etinationK an ection J3.9 )nch%onou an A)nch%onou nte%actionK o% mo%e etail.

•  *MS+epl%o header 8eld contains the address of the destination that

should recei#e repl in case of re6uest)repl communication.

3.2.1.% JMS&orrelationID Header Field 

Thi iel i et in the heae% a an optional iel when the mea*e i c%eate. t i *ene%all) ue within the conte't o 

a %eGuet"%epone mechanim 8ee ection J3.9  )nch%onou an A)nch%onou nte%actionK. t i thi iel that

houl be ue to p%ovie ue%"cont%olle <.

t i alo impo%tant to note that the co%%elation < i alo e'poe o% ue within the mea*e in%at%uctu%e. The%eo%e, it

ma) not be %eGui%e within the conte't o the application ei*n, but it ma) be %eGui%e a pa%t o the mea*e t%acin*

o% aminit%ation. ) eault, it i not ue, but a mentione o% othe% optional heae% iel, it houl be e'poe

th%ou*h an aminit%ation/monito%in* inte%ace to p%ovie the capabilitie when %eGui%e, even i it i not eine o% ue

within the application p%ocein* ei*n.

•  *MSCorrelationI= is an optional header 8eld and is used mainl ithin the

conte7t of a re6uest)repl mechanism.

• It is recommended to e7pose this 8eld through administration>monitoring

interface to pro#ide the capa'ilities hen needed.

3.2.1.' JMSMessage!ype Header Field 

Thi iel i et b) the application. 7 uppo%t eve%al tana% mea*e pa)loa t)pe, incluin*: Te't, 7ap, )te,

t%eam an -bect mea*e t)pe. Howeve%, thi iel i mileain* ince it ha nothin* to o with thee mea*e

t)pe. The p%ouce% application, i%%epective o the actual mea*e t)pe ue, et the 77ea*eT)pe value.

t i alo poible to ue thi iel with a non"tana% mea*e pa)loa. To ait in e'tenin* new mea*e t)pe that

a%e outie o the 7 peciication, veno% *ene%all) ue thi iel to help p%oce the non"tana% mea*e

pa)loa. $o% e'ample, i a veno% p%ovie a non"7 metho to i%ectl) c%eate a t)pe E7F mea*e pa)loa, it woul

%eGui%e ettin* a t)pe in the heae% to inicate to the conume% that the mea*e pa)loa i non"tana%. Dhile the%e

ma) be ome avanta*e to thi t)pe o mechanim, it i not %ecommene ince it will c%eate veno% tie"in an

p%event potential inte%ope%abilit) with othe% 7 veno%.

t i till %ecommene to label the mea*e pa)loa t)pe. Thi i valuable o% application whe%e the mea*e ma)%eGui%e t%ano%mation o the mea*e %om one t%anpo%t tana% to anothe% 8o% e'ample between 7 an

?ene@vou.

t i alo %ecommene o% E7F mea*e that a%e t%anpo%te a tana% te't pa)loa whe%e thi iel ma) be ue

to %ee%ence the E< o% <T< that the mea*e cono%m to.

Thi i alo a valuable %ee%ence iel i the client want to %ee%ence mea*e t)pe o% mea*e ve%ion.

1

Page 17: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 17/90

TC- 67 et P%actice

•  *MSMessage%pe is an optional header 8eld and is set ' applications and

is not related to the standard message paload tpes.

• %his can 'e used as reference 8eld if client ants to reference message

tpes or message #ersions or S= or =%= that message conforms to.

3.2.1.1( JMS$edelivered Header Field 

Thi iel i et b) the in%at%uctu%e. a mea*e i not acnowle*e in a timel) ahion, the in%at%uctu%e ma)

attempt to %eelive% the mea*e. the value i et to ale, the conume% i au%e thi i the i%t time the mea*e

ha been p%eente. the value i t%ue, then it i poible the conume% ha al%ea) %eceive thi mea*e.

mea*e uplication i p%ohibite, it i necea%) o% thi iel to be monito%e b) application. Dhile the 7

peciication outline the %eGui%ement to enu%e no uplicate, it alo %eGui%e application pa%ticipation o% thi to occu%.

$o% e'ample, the 67 in%at%uctu%e ma) have elive%e the mea*e to the application, an the application complete

p%ocein* but aile beo%e the 7 acnowle*ement wa ent to the 67 e%ve%. The%eo%e, on %eta%t the client

woul %eceive the ame mea*e that it p%ocee, but it woul be la**e that it wa %eelive%e th%ou*h thi heae% 

iel. t i up to the application to %eact to the act the%e wa a %eelive%).

•  *MS+edeli#ered is set ' the EMS infrastructure and can 'e used '

applications to identif if the particular message is 'eing deli#ered more

than once ' EMS infrastructure.

• If message duplication is prohi'ited0 it is necessar for this 8eld to 'e

monitored ' applications.

,** 0se o% Message Properties 4ields

7ea*e p%ope%tie a%e aitional e'tenion to the heae% that a%e optional. The 7 7ea*e inte%ace p%ovie

eve%al acceo% an mutato% metho o% manipulatin* mea*e p%ope%tie. The p%ope%t) value can be one o eve%al

p%imitive, incluin*: t%in*, oolean, b)te, ho%t, inte*e%, lon*, loat o% ouble. P%ope%tie a%e eentiall) name"valuepai% that a%e ae to the mea*e.

The p%ope%tie can be et eithe% b) the in%at%uctu%e 8i.e. automaticall) o% b) the client.

3.2.2.1 Provider)Spe*i+i* Properties

The 7 peciication p%ovie o% veno%"peciic mea*e p%ope%tie. Thee mut be*in with the p%ei' J7OK.

The%eo%e, all 67"peciic p%ope%tie be*in with the p%ei' J7OTC-K. The%e a%e two mao% *%oup o p%ovie%"

peciic p%ope%tie ue b) TC-. The i%t *%oup i et automaticall), an i *ene%all) pa%t o the mea*e inte*%ation

between TC- 7 an ?ene@vou mea*e )tem. The TC- ?ene@vou %elate mea*e p%ope%tie a%e et

when the mea*e i impo%te b) 67 o% it%ibution to 7 client. Thee iel can be ue b) the application to

enu%e the%e i nowle*e within the application to inicate the o%i*inatin* mea*e wa not 7"bae. The iel that

a%e et on impo%t a:

7OTC-O7P-?T6< Thi i a oolean va%iable to inicate i the ?ene@vou AP c%eate the o%i*inal

mea*e.

7OTC-O75O6ET Thi i a oolean va%iable to inicate thi i a hie%a%chical 7 mea*e. Thi i a

i*niicant p%ope%t)M becaue 7 oe not uppo%t a hie%a%chical mea*e o%mat 8i.e. the mea*e can

contain a iel that in itel i anothe% complete mea*e. Thi i an e'tenion p%ovie b) TC-. The

?ene@vou hie%a%chical mea*e i mappe into a pecial 7 7ap mea*e, whe%e one o the iel in the

7 mea*e i anothe% complete 7ap mea*e. To enu%e complete 7 compliance, it i necea%) to

1

Page 18: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 18/90

TC- 67 et P%actice

avoi uin* the TC- 7 mea*e t)pe e'tenion. $%om a ?ene@vou pe%pective, thi i poible b)

eithe% mappin* the ?ene@vou mea*e to a compliant 7 mea*e o%mat p%io% to impo%t th%ou*h the 67

e%ve%, o% main* ue o the A6OE7F mea*e o%mat, a uppo%te th%ou*h TC- aapte%, aapte% < o% 

p%ouct uch a TC- uine Do%.

7OTC-OC7OPFH6? Thi i the uniGue C7 co%%eponence name ue b) a ?=C7 mea*ep%ouce% mea*e that wa impo%te th%ou*h the 67 e%ve% to become a 7 mea*e.

7OTC-OC7O6I62C6 Thi i the uniGue C7 eGuence numbe% ue b) a ?=C7 mea*e

p%ouce% mea*e that wa impo%te th%ou*h the 67 e%ve% to become a 7 mea*e.

t i impo%tant to note that the p%ope%tie that a%e et when 67 impo%t ?ene@vou mea*e a%e not cont%olle b)

the ?= ene%, but intea et b) the 67 aemon. n aition, when 7 mea*e a%e e'po%te to ?ene@vou, all

non"null 7 p%ope%tie a%e put into the 7 mea*e une% the 7P%ope%tie ub"mea*e, whe%e the

?ene@vou iel label co%%epon to the 7 iel name. ettin* up the 67 aemon to coni*u%e the t%anpo%t

p%ope%t) Je'po%tOp%ope%tieK to ale can tu%n o thi 7 p%ope%tie e'po%t to ?ene@vou mea*e eatu%e.

The econ *%oup o 7 p%ope%tie i et to cont%ol a va%iet) o i%ective. Thee i%ective a%e int%uction o% 

e'tenion to the 7 peciication. Thee e'tenion inclue:

7OTC-OC-7P?6 Thi i a oolean p%ope%t) et b) the mea*e p%ouce%. t i to inicate that the

mea*e bo) houl be comp%ee beo%e it i ent to the e%ve%. Thi p%ope%t) i et a*aint iniviual

mea*e. The intention i to comp%e the pa)loa o la%*e mea*e to %euce the i pace %eGui%e o%

pe%itent mea*e. 6nablin* comp%eion will low the p%oce o enin* mea*e. t alo ha little value

o% mall mea*e pa)loa o% mea*e that a%e not to%e to i. Howeve%, it will help in ituation whe%e

the%e a%e man) la%*e pe%itent mea*e bein* p%ouce.

7OTC-O75OT?AC6 thi p%ope%t) i et the mea*e i t%ace %om p%ouce% to conume%. T%acin*

will be ec%ibe in mo%e etail in ection 4..4. 7ea*e T%acin*

7OTC-OP?66?=6O2<6F=6?6< Thi i a powe%ul i%ective to ino%m the in%at%uctu%e to place

mea*e that have e'pi%e 8ee ection J3.&.1.3 76'pi%ation Heae% $ielK into a pecial Gueue calle:JS).unelive%eK. t i impo%tant to c%eate application to p%oce thee mea*e %om thi pecial Gueue.

 Alte%nativel), the Gueue can be inpecte an mea*e elete th%ou*h the aminit%ation inte%ace o%

th%ou*h application c%eate with the aminit%ation AP. Thi i a oolean p%ope%t).

7OTC-O75O6ET Thi i et i the TC- mea*e e'tenion a%e ue. 7 oe not uppo%t a

hie%a%chical mea*e. To allow a e%ie o nete mea*e, TC- ha e'tene the 7 peciication to

allow the ine%tion o a J7ap7ea*eK into the iel o anothe% J7ap7ea*eK an the ue o a%%a) an othe%

p%imitive t)pe o% value. ee the p%eviou pa*e o% mo%e etail on thi p%ope%t).

The i%t th%ee p%ope%tie mentione above a%e et to inicate the p%ocein* behavio% o the in%at%uctu%e. <evelope%

ma) ue thee %eel) in thei% ei*n without conce%n. Althou*h thee a%e non"7 p%ope%tie, the) will be i*no%e in

othe% veno%; implementation o 7. The) p%ovie veno%"peciic enhancement without eopa%i@in* inte%ope%abilit)

at the ou%ce"coe level. The) eentiall) p%ovie p%ocein* i%ective to the in%at%uctu%e, an, the%eo%e, will notaect 7 inte*%ation o% inte%ope%abilit) o p%ouce% o% conume% application. The intention o the 7 mea*e

veno%"peciic p%ope%tie i to allow the 7 AP to p%ovie inte%action %om the application to the veno%"peciic

in%at%uctu%e.

<ei*ne% a%e %ecommene not to ue TC- mea*e e'tenion o% ue when ou%ce coe inte%ope%abilit) i

%eGui%e. Althou*h a mo%e comple' pa)loa can be accomplihe, thi will onl) ope%ate within an 67 envi%onment.

The%e will be no inte%ope%abilit) with othe% 7 veno% with thee mea*e pa)loa. A*ain, thi i mo%e ueul when

1#

Page 19: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 19/90

TC- 67 et P%actice

the%e i a t%anlation between TC- 7 an ?ene@vou, which oe not necea%il) appl) with all cutome% 

intallation. mea*e pa)loa e'tenion a%e %eGui%e, be awa%e the) will onl) wo% in a TC- 7 envi%onment.

 A mentione above, the%e a%e a%chitectu%al alte%native to main* ue o TC- mea*e e'tenion. Thee

alte%native inclue A6OE7F mea*e o%mat an p%e"mappin* the ?= mea*e beo%e impo%t into the 67 aemon,

o% pot mappin* ate% e'po%t.

The%e a%e two aitional TC-"peciic p%ope%tie, an the) a%e %elate to ecu%it):

7OTC-O<AF6O62<6? Thi i et i the ue%name o the mea*e ene% houl not be ent in the

mea*e. The aminit%ato% can ove%%ie thi p%ope%t). Pleae %ee% to the TC- 67 e% 5uie o% mo%e etail.

7OTC-O62<6? Thi i a t%in* iel et b) the in%at%uctu%e to inclue the client < in the mea*e. The client

< i ent b) the application when it bin to the in%at%uctu%e. The client < i cache in the in%at%uctu%e; 67

aemon. The aminit%ato%, %e*a%le o the p%eviou p%ope%t) ettin*, cont%ol the c%eation o thi p%ope%t).

Thi i a powe%ul e'tenion o% 7. 7 oe not p%ovie an) ecu%it) capabilitie be)on a pol)mo%phic connection

metho that inclue a ve%ion o the metho that uppo%t the enin* o a ue%name an pawo% 8mo%e o thi topic

i icue in ection J3..1 n%at%uctu%e AuthenticationK. TC- 67 allow the authenticate ientiication to be

pae to the conume%. n thi wa), it i poible o% the conume% to be able to ete%mine the authenticate < o% the

p%ouce% o the mea*e. ecaue the e%ve% inect thi p%ope%t) into the mea*e, it i impoible o% the p%ouce% to

maGue%ae a anothe% < ince the) have no cont%ol ove% thi ettin*. Thei% authenticate client < i ue b) the

in%at%uctu%e.

The ue o thi p%ope%t) i a*ain p%ovie th%ou*h the in%at%uctu%e, an will, the%eo%e, not aect non"TC- 7

application. t i poible o% ei*ne% to mae ue o thi ecu%it) e'tenion without conce%n o% ou%ce"coe

inte%ope%abilit).

3.2.2.2 ,ptional JMS)De+ined Properties

The%e a%e nine optional 7 p%ope%tie that a%e eine b) the 7 peciication. ecaue the) a%e eine a optional,

the%e i no %eGui%ement o% them to be implemente b) the 7 veno%. The) a%e ientiie a othe% 7 p%ope%tiethat be*in with the p%ei' J7EK.

=eno% mut uppo%t onl) two optional 7"eine p%ope%tie 8a bit o an o')mo%on. The two %eGui%e optional

p%ope%tie that mut be veno%"uppo%te a%e J7E5%oup<K an J7E5%oupeGK. Thee p%ope%tie a%e ue to

ai*n mea*e to a lo*ical *%oup, an to have a eGuence numbe% a*aint mea*e ai*ne within the *%oup. The

client et thee p%ope%tie a*aint the mea*e. The) a%e uppo%te b) the electo% unction. 7o%e etail on electo% 

unction can be oun at K3.&.3 7ea*e electo%K.

3.2.2.3 -ppli*ation Properties

The client et application p%ope%tie. Thee a%e eentiall) name"value pai% that a%e inclue in the 7 p%ope%tie

heae%. nlie the p%ovie%"peciic o% the 7"eine p%ope%tie, the%e a%e no %et%iction on thee p%ope%tie. -nce

%eceive b) the conume%, the) a%e %ea"onl) value. the conume% nee to %een the mea*e it ha ut

conume, it can eithe% en the cu%%ent p%ope%tie, o% it mut elete all p%ope%tie an %e"c%eate new one. t i not

poible to %emove o% chan*e iniviuall) conume p%ope%tie. Thi i i*niicant o% ue with etination b%i*e 8ee

ection J4.4.& <etination %i*in*K.

The p%ope%t) value can be one o eve%al p%imitive, incluin*: t%in*, oolean, b)te, ho%t, inte*e%, lon*, loat o% 

ouble. P%ope%tie a%e eentiall) name"value pai% that a%e ae to the mea*e.

19

Page 20: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 20/90

TC- 67 et P%actice

•  *MS properties are essentiall name)#alue pairs and #alues can 'e one of 

se#eral primiti#es0 including@ string0 oolean0 'te0 short0 integer0 long0

Aoat or dou'le.

• -ll EMS)speci8c properties 'egin ith the pre87 4*MSB%IC&.

• =esigners are recommended not to use %IC& message e7tensions for use

hen source code interopera'ilit is re6uired ith *MS implementation '

other #endors. -lthough a more comple7 paload can 'e accomplished0 this

ill onl operate ithin an EMS en#ironment.

• %here are nine optional *MS properties that are de8ned ' the *MS

speci8cation and the 'egin ith the pre87 4*MS.

• %he client sets application properties.

,*, Message Selectors

-ne o the main pu%poe o the 7 mea*e p%ope%tie i to appl) ilte% a*aint the mea*e p%ope%tie. The ilte%

a%e applie a*aint the heae% an p%ope%tie. 7 %ee% to thee ilte% a mea*e electo%. 7ea*e electo% a%e

ilte% tatement that a%e bae on the IF"9& conitional e'p%eion )nta'. A icuion o% the etail o c%eatin* the

ilte% tatement i be)on the cope o thi ocument. 7an) *oo %ee%ence boo have been w%itten on 7 an

inclue the etail an e'ample o the )nta' o electo% unction.

The electo% unction t%ane% the ilte%in* wo% %om the application to the in%at%uctu%e. Thi in%at%uctu%e ilte%in*

%euce the p%ocein* ove%hea %om the application. Howeve%, it houl be note that thi inc%eae the p%ocein*

ove%hea on the mea*in* in%at%uctu%e 7 mae ue o electo% unction within conume% application.

The%e i a t%ae"o in pe%o%mance uin* electo%. The p%ocein* ove%hea cannot be %emove, me%el) hite %om

the conume% to the in%at%uctu%e. ince the in%at%uctu%e i a ha%e %eou%ce amon* application, avin* p%ocein*

ove%hea in the conume% b) uin* electo% unction ma) %eult in ec%eae pe%o%mance o othe% mea*e

conume% becaue o the ove%hea incu%%e b) the ha%e in%at%uctu%e 8i.e. the 67 aemon.

The%e a%e beneit in uin* the electo% unction. $o% e'ample, a evice ma) have limite p%ocein* capabilitie o% 

banwith %et%iction, an the electo% coul %et%ict the numbe% o mea*e ent to the application bae on the

content o the mea*e heae% an p%ope%tie. electo% unction a%e alo ueul when ue in conunction with Gueue

b%owe% unction.

Howeve%, it i %ecommene that ei*ne% %et%ict the ue o electo% unction. Thi enu%e that the p%ocein*

ove%hea on the in%at%uctu%e i mo%e ete%minitic, which p%ovie a le b%ittle ei*n. Thi applie to 67 an othe% 

veno% o 7 in%at%uctu%e. electo% int%ouce a comple' unnown into the pe%o%mance monito%in* an capacit)

plannin* o the in%at%uctu%e. electo% alo impl) the ue o mea*e p%ope%tie, which alo inc%eae the i@e o 

mea*e %eultin* in mo%e p%otocol ove%hea an ue o netwo% %eou%ce.

n man) cae, 8but not necea%il) all cae a bette% topic etination"namin* cheme woul p%ovie the amecapabilit) ao%e b) electo%. A*ain, the impo%tance o a p%ope% namin* cheme cannot be ove%looe 8ee ection

J3.1 7ea*in* 2amin* tana%K o% mo%e etail.

the pa)loa o the mea*e contain ata that will %eGui%e a electo% unction, then it mut be uplicate in the

mea*e p%ope%tie. Thi i not ve%) eicient.

a electo% we%e not utili@e, the conume% woul be %eGui%e to e'amine the mea*e beo%e it ete%mine i it houl

continue p%ocein* the mea*e o% ica% it. Thi can be accomplihe i%ectl) a*aint the content o the mea*e,

&0

Page 21: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 21/90

TC- 67 et P%actice

p%ope%tie o the heae%, without pa)loa content bein* uplicate in the p%ope%tie. Thi i not necea%il) a hi*h

p%ocein* ove%hea ope%ation, unle the p%ocein* evice ha limite p%ocein* capabilitie. n man) cae, thi

alo ma) be a viable alte%native to uin* electo%.

it i ete%mine that a electo% i %eGui%e, it will %eGui%e p%otot)pin* an benchma%in* to ete%mine the impact on the

in%at%uctu%e. electo% unction can be imple o% comple', an the%e i no ha%"an"at %ule to ete%mine thei% impact

on pe%o%mance o% )tem %eou%ce. t will alo %eGui%e *%eate% c%utin) in monito%in* o the in%at%uctu%e e%ve% that

a%e p%ocein* the electo% unction.

electo% unction a%e alo ue in the %outin* o mea*e within the 67 e%ve% in%at%uctu%e. The) a%e alo

available o% ue in the b%i*in* unction. A*ain, the ue o electo% unction houl be e'amine in etail. n man)

cae, a mo%e %obut etination"namin* cheme ma) eliminate the nee o% electo%. 7o%e etail o electo% ue in

the in%at%uctu%e can be oun in ection J3.&.3 7ea*e electo%K.

 A%chitectu%all), the ue o electo% can be iolate to enu%e a mo%e ete%minitic p%ocein* moel, an will be

icue a pa%t o the %outin* ei*n alte%native. Howeve%, even thee a%chitectu%e alte%native have t%ae"o in

cot, pe%o%mance an aminit%ation mana*ement.

• Message selector can 'e applied against message header and properties

and can not 'e used against message 'od. %hus if the paload of the

message contains data that ill re6uire a selector function0 then it must 'e

duplicated in the message properties.

• E7tensi#e use of message selector can aect the performance of EMS

infrastructure so should 'e used cautiousl.

• If it is determined that a selector is re6uired0 it ill re6uire prototping

and 'enchmarking to determine the impact on the infrastructure.

,*- Message Paload Tpes

7 uppo%t eve%al mea*e t)pe. The) a%e ec%ibe in etail in the JTC- 67 e% 5uieK an mot 7

%ee%ence ocumentation. TC- uppo%t all mea*e t)pe eine in the 7 peciication.

• %he message paload0 (ust like message properties0 is alas read)onl

hen the are recei#ed. -ttempts at modifing a recei#ed paload ill

result in an e7ception 'eing thron ' the application

The implet 7 mea*e t)pe i the Te't7ea*e, which i eentiall) nothin* mo%e than a mea*e o ava t%in*

t)pe. t i ueul o% t%anpo%t o an) t%in* mea*e. t i alo ueul o% the t%anpo%t o E7F mea*e ove% 7.

 At the othe% e't%eme i the -bect7ea*e. Thi 7 pa)loa contain a e%iali@e obect. 5ene%all), thi pa)loa t)pe

onl) uppo%t application that we%e w%itten with the ame lan*ua*e binin*. The 67 in%at%uctu%e uppo%t eve%al

lan*ua*e binin* othe% than impl) ava. Althou*h -bect7ea*e i uppo%te b) all 67 lan*ua*e binin*, theobect i onl) available o% p%ocein* b) application w%itten in the lan*ua*e that c%eate the -bect7ea*e. Dhen

uin* the .2et Compact $%amewo%, the%e a%e even mo%e %et%iction on the -bect7ea*e. A ull .2et 7ea*e-bect

cannot e'chan*e -bect7ea*e with .2et Compact $%amewo% application.

$o% ei*n pu%poe, the 7ap7ea*e pa)loa t)pe woul p%ovie the mot %obut mea*e. Thi i eentiall) a lit

o name/value pai%, imila% to a TC- ?ene@vou mea*e, but not Guite a %obut. The name i alwa) a t%in*

p%imitive. The ata i alwa) one o ava; tana% p%imitive o% it w%appe%. A epa%ate metho i ue to %ea an

w%ite the %eGui%e p%imitive t)pe o% a 7 7ap7ea*e. Thi a a e*%ee o complication in the ei*n ince the

&1

Page 22: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 22/90

TC- 67 et P%actice

mea*e p%ouce% an the mea*e conume% both mut have e'act p%io% nowle*e to the o%mat o the

7ap7ea*e. Thi become mo%e comple' when ava b)te o% b)te a%%a) p%imitive a%e ue in the c%eation an

conumption o mea*e. t i impo%tant to note the%e i no i*niicance to the o%e% the value a%e ae to the

mea*e, an the%e i no *ua%antee the o%e% i p%ee%ve when enume%ate b) the conume%.

TC- alo uppo%t 7ap7ea*e e'tenion. Pleae %ee% to J3.&.&.1 P%ovie%"peciic P%ope%tieK o% mo%e etail.

it i necea%) to %ea p%imitive ata t)pe %om the pa)loa in the o%e% the) we%e c%eate, thi can be accomplihe

uin* the t%eam7ea*e t)pe. nlie the )te7ea*e t)pe ec%ibe below, the t%eam7ea*e w%ite both the

ino%mation t)pe a well a the actual mea*e. The t%eam7ea*e pa)loa alo eno%ce t%ict catin* %ule. $o% 

e'ample, )ou cannot %ea a Jlon*K i it wa o%i*inall) w%itten a a Jho%tK 8which i not the cae with )te7ea*e

pa)loa. the%e i an e'ception th%own while %eain* the value %om the t%eam7ea*e, the pointe% in the t%eam i

not %eet, but, o% p%o*%ammin* convenience, ta) at the poition p%io% to the e'ception th%own b) the lat pa)loa

%ea.

 A mentione above, the t%eam7ea*e t)pe i not the onl) mechanim available to ca%%) p%imitive. t i alo

poible to ca%%) an a%%a) o p%imitive b)te in a 7 pa)loa. Thi i accomplihe uin* the )te7ea*e 7

pa)loa t)pe. Thi mea*e t)pe i ue when the t%anpo%t i ue to impl) move opaGue mea*e between twoapplication. $o% e'ample, the co%%eponin* w%ite metho coul be ue to a a t%in*, an inte*e% an a cha%acte% to

a )te7ea*e. The conume% woul e't%act the %elevant b)te t)pe %om the )te7ea*e b) impl) uin* the %elevant

)te7ea*e %ea metho 8e.*. %eaCha%8, %eant8, %eaT$8, etc..

67 uppo%t all the uppo%te pa)loa a outline in the 7 peciication. A note in ection J 3.&.&.1 P%ovie%"

peciic P%ope%tieK, the TC- hie%a%chical mea*e e'tenion houl be avoie with 7 mea*e ei*n. Thi

will enu%e ou%ce"coe inte%ope%abilit).

 A mentione in ection J3.& 7 7ea*eK mea*e houl be ei*ne a i%e"an"o%*et obect. Dhile thi i not

alwa) poible, thi i a *oo ei*n techniGue o% 7-7"bae a%chitectu%e. P%ouce% o ata houl c%eate

mea*e that contain the enti%e ata available, label the ata, an then eithe% en o% publih the mea*e. eve%al

ownt%eam )tem %eGui%e ove%lappin* ata, then the union o the ata %eGui%ement houl be ent a a in*le

mea*e %athe% than a multiple mea*e with ove%lappin* ata element.

7ea*e pa)loa ei*n houl be ocue on c%eatin* a ew mea*e a poible, an captu%in* the %eGui%ement

o cu%%ent an potential utu%e ownt%eam application to enu%e compoite mea*e a%e ent %athe% than multiple

ic%ete mea*e ta%*ete at uniGue ownt%eam application.

Dhile thi pa)loa ei*n philooph) ma) appea% to be mo%e %elevant to topic than Gueue, it i till poible that the

in%at%uctu%e i ue to b%i*e %om Gueue to topic o% vice ve%a, an, the%eo%e, the ei*n i till vali an houl be

ue with Gueue ei*n a well a topic mea*e ei*n.

$%om an eicienc) pe%pective, enin* ewe% la%*e% common mea*e i mo%e eicient than enin* a hi*he% numbe% 

o malle%, uniGuel) ta%*ete mea*e. Howeve%, that oe not mean that mea*e i@e houl be i*no%e, ince thi

will aect mea*e e%iali@ation an ma%hallin*. 7ea*e i@e alo aect netwo% banwith utili@ation. $o% thi

%eaon, enin* E7F mea*e ma) not be the bet choice o% a mea*e pa)loa. The ta**e te't t%uctu%e o E7F

can *%eatl) e'pan the mea*e i@e.

E7F pa)loa alo inc%eae the p%ocein* ove%hea o the conume%. =aliatin* an E7F mea*e a*aint a <T< o% 

E< an then pa%in* the mea*e an inall) e't%actin* the %elevant ata i mo%e comple' an p%ocein*"intenive

than uin* the 7 pa)loa metho to i%ectl) e't%act %elevant ata %om a pa)loa.

E7F mea*e a%e *ene%all) oun to be valuable in ituation whe%e the mea*e volume i low an the ata i

move %om one p%ocein* envi%onment to anothe%, o% e'ample in & application. E7F mea*e alo p%ovie a

&&

Page 23: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 23/90

TC- 67 et P%actice

hie%a%chical an/o% comple' mea*e pa)loa without main* ue o non"tana% veno% pa)loa mea*e t)pe 8thi

aume the E7F mea*e i t%anpo%te a a 7 te't mea*e pa)loa an not a veno%"peciic E7F pa)loa.

E7F i till an e'cellent wa) to ocument an %ee%ence 7 mea*e pa)loa. TC- alo mae ue o E7F

einition to c%eate 7 mea*e chema uin* tool uch a TC- Aapte% < .

 Application ei*ne% houl alo conie% main* ue o the 7 heae% 77ea*eT)pe 8ee ection J3.&.1.9

77ea*eT)pe Heae% $ielK. Thi i an e'cellent wa) o %ee%encin* mea*e ve%ion o% t)pe.

• %e7tMessage is the simplest *MS message tpe and can 'e used to send

M paload.

• -lthough &'(ectMessage is supported ' all EMS language 'indings0 the

o'(ect is onl a#aila'le for processing ' applications ritten in the

language that created the &'(ectMesage.

• - full .Det Message&'(ect cannot e7change &'(ectMessages ith .Det

Compact rameork application.

• or MapMessage0 paload data is alas one of *a#a/s standard primiti#es

or its rapper. In case of MapMessage0 no signi8cance to the order the

#alues are added to the message0 and there is no guarantee the order is

preser#ed hen enumerated ' the consumer.

• teMessage message tpe is used hen the transport is used to simpl

mo#e opa6ue messages 'eteen to applications.

• StreamMessage rites 'oth the information tpe as ell as the actual

message and enforces strict casting rules.

• rom an ecienc perspecti#e0 sending feer larger common messages is

more ecient than sending a higher num'er of smaller0 uni6uel targeted

messages. Foe#er0 that does not mean that message si,e should 'eignored0 since this ill aect message seriali,ation and marshalling.

• In case of M paload as part of %e7tMessage0 the tagged te7t structure

of M can greatl e7pand the message si,e. M messages are generall

found to 'e #alua'le in situations here the message #olume is lo and

the data is mo#ed from one processing en#ironment to another0 for

e7ample in 2 applications.

,*. Message &ire 4or#ats

7 oe not peci) a wi%e o%mat o% the 7 mea*e. All mea*e a%e t%ane%%e in veno%"peciic wi%e

o%mat. A a %eult, two ie%ent veno% 7 implementation cannot nativel) e'chan*e mea*e. $o% two veno% to

e'chan*e mea*e %eGui%e the c%eation o an application b%i*e. Thee application b%i*e a%e *ene%all) a 7 client

application that impo%t the 7 ava connection acto%) an initial conte't lib%a%ie %om both 7 veno% application.

n thi wa), it i poible to conume a 7 mea*e %om one veno%; 7 in%at%uctu%e an then p%ouce the ame

mea*e in the othe% veno%; in%at%uctu%e.

TC- alo uppo%t eve%al wi%e o%mat o% it aapte% an o% the TC- Aapte% < p%ouct. nclue i the

aeE7F mea*e o%mat. Thi wi%e o%mat can be ue with eithe% TC- ?ene@vou an/o% TC- 67 o% 7

mea*e. t i the p%ee%%e wi%e o%mat o% 7 inte%action via the Aapte% <. The cont%ol ino%mation, when ue

with the 7 t%anpo%t, i ae a 7 application p%ope%tie, an the mea*e i ent a an E7F t%in* a a 7

&3

Page 24: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 24/90

TC- 67 et P%actice

Te't7ea*e mea*e 8ee ection J3.&.&.3  Application P%ope%tieK o% mo%e etail on Te't7ea*e. An) 7

mea*e conume% can conume thee mea*e ince the wi%e o%mat i the 67 wi%e o%mat. Cont%ol an mea*e

pa)loa a%e impl) 7 application p%ope%tie an an E7F mea*e pa)loa.

 *MS does not specif a ire format for the *MS messages. EMS hasproprietar ire format for *MS messages.

• EMS supports aeM message format to send and recei#e messages from

S=G 'ased adapters.

,*1 Message Co#pression

7ea*e comp%eion i a uniGue eatu%e o TC-; 7 in%at%uctu%e implementation. t i cont%olle th%ou*h the

ettin* o a 7 mea*e p%ope%t). 7o%e etail on mea*e comp%eion can be oun in ection J 3.&.&.1 P%ovie%"

peciic P%ope%tieK.

,*5 Message Encrption

The 7 peciication oe not eine ecu%it) o% 7. 7ea*e can be enc%)pte b) an) mechanim eine b) the7 veno%. The mea*e can be enc%)pte at the mea*e level o% at the channel level. The ecu%e channel

enc%)ption o% mea*e i p%ovie a pa%t o the TC- 7 implementation an the 67 aemon.

67 p%ovie a ecu%e channel within the conte't o the 7 mea*in* th%ou*h F. 67 p%ovie F capabilitie

at th%ee level:

between Application an the 67 e%ve%M

%oute between 67 e%ve%M

between $ault"Tole%ant e%ve%.

The F inte%action an etup i cont%olle th%ou*h the 7 in%at%uctu%e via the 67 aemon.

 Authentication i till %eGui%e ove% the F lin. The F <itin*uihe 2ame 8<2 can be ue a the p%incipal 8ue%

name. The aminit%ato%, a pa%t o the main 67 e%ve% coni*u%ation, cont%ol thi eatu%e. The%e a%e two wa) it can

be implemente. The i%t i when the <2 i ue o% the ue%name in eve%) cae, a eine when the 67 aemon

coni*u%ation JlOueOce%tOnameK pa%amete% i et to t%ue. The econ alte%native i that the <2 name i onl) ue

when a peciic ue%name i pae a an a%*ument in the Jc%eateConnection8K metho. The ue%name to Jt%i**e%K

uin* the <2 name i eine in the 67 aemon coni*u%ation ile a the pa%amete% JlOce%tOue%OpecnameK.

7an) pa%amete% can be aute to uppo%t the F connection an P ce%tiicate. <etail can be oun in the TC-

67 e%; 5uie.

ecaue F i not eine within the 7 peciication, it i not necea%il) po%table to othe% veno% implementation

o 7. Dithin 7, the F pa%amete% %eGui%e to ne*otiate an F connection a%e peciie a pa%t o the

etination connection acto%). The connection acto%) can be calle %om the 2< to%e o% can be c%eate within the

application. Dhen c%eate in the application, the F pa%amete% a%e pae a a hah table to the tana% acto%)

cont%ucto%. The connection acto%) i the mechanim p%ovie within the 7 peciication to p%ovie acce to the

veno%"peciic implementation o etination. The%eo%e, the 67 implementation o F will not %eult in veno% loc"

inM it ut ma) not be po%table to othe% veno% implementation that o not uppo%t F o% P.

t i impo%tant to note that F i p%ocein*"intenive an will aect pe%o%mance an th%ou*hput. Ha%wa%e

accele%ato% a%e available to oloa ome o the pe%o%mance impact o the F p%otocol, an houl be conie%e b)

ei*ne% i e'tenive ue o F i conie%e o% a pa%ticula% application. TC- ha tete an ce%tiie multiple

&4

Page 25: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 25/90

TC- 67 et P%actice

moel o the n*%ian Accele%ato%. Pleae %ee% to the JTC- 67 e% 5uieK o% mo%e etail an the n*%ain

ocumentation.

F with channel enc%)ption i not the onl) mechanim available to enc%)pt mea*e. 6nc%)ption can alo be

cont%olle th%ou*h the application, an not ut th%ou*h the in%at%uctu%e with F.

 A mentione above, a complete ecu%it) polic) cannot be implemente within the 7 in%at%uctu%eM no% i it e'pecte

o% eine at thi level a pa%t o the 7 peciication. The%e a%e othe% ecu%it) %eGui%ement that a%e implemente at

the 7 application level, an not necea%il) at the in%at%uctu%e, level. The 7 peciication oe not outline

ecu%it) %eGui%ement o% 7, but ava oe implement a ecu%it) in%at%uctu%e o% application a*aint which 7

application a%e e'pecte to tae avanta*e.

$o% authentication, ava eine AA a a PA7"bae a%chitectu%e, which i implemente a ollow:

AA i onl) a pa%t o the complete ecu%it) application to%) available with ava. The complete application ecu%it)

to%) i a ollow:

ava"bae 7 application main* ue o AA, AF, 5AP, e%be%o, etc will be p%ovie with a ecu%it) moel

that i ta%*ete between 7 application an not necea%il) between the 7 application an the in%at%uctu%e.

 Application can authenticate themelve th%ou*h the ava application moel, but it wa ei*ne between

application, not between the application an the in%at%uctu%e. t i poible with 67 7 application to have the

application obtain c%eential th%ou*h AA an e%be%o an then ue thoe c%eential to authenticate the

application to the in%at%uctu%e. Thi %eGui%e the application to p%ovie AF acce to the F<AP e%ve% an the abilit)

to c%eate a new epheme%al pawo% at connection time.

&!

Page 26: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 26/90

TC- 67 et P%actice

e o AA, 5AP an AF ope%ate co%%ectl) within the 67 in%at%uctu%e.

t houl alo be note that with the e'ception o AA, all othe% ava uppo%t o% tana% uch a 5AP, AF

an e%be%o a%e alo available o% binin* with lan*ua*e othe% than avaM incluin* C an CL.

• EMS supports message encrption using SS.

• %he SS parameters re6uired to negotiate an SS connection are speci8ed

as part of the destination connection factor.

• SS is processing)intensi#e and ill aect performance and throughput.

Fardare accelerators are a#aila'le to oHoad some of the performance

impact of the SS protocol0 and should 'e considered ' designers if 

e7tensi#e use of SS is considered for a particular application. %IC& has

tested and certi8ed multiple models of the Ingrian -ccelerator.

• ith SS implementation ithin EMS0 the complete *MS message is

encrpted. If an application is interested in encrpting onl a part of 

message then the can do so using third part encrption li'raries and itill 'e transparent to EMS infrastructure.

• -pplications can authenticate themsel#es through the *a#a application

model0 'ut it as designed 'eteen applications0 not 'eteen the

application and the infrastructure. It is possi'le ith EMS *MS applications

to ha#e the application o'tain credentials through *--S and Ger'eros and

then use those credentials to authenticate the application to the

infrastructure.

• SS supported in EMS for all *a#e and C clients. It is not supported ith CJ

clients as of EMS #".2

,, 6ueues vs TopicsThe%e a%e two mao% moel o% mea*in* uppo%te b) 7: Gueue an topic. Iueue a%e bae on a point"to"

point mea*in* moel. Topic mae ue o the new publih"an"ubc%ibe mea*in* moel.

?e*a%le whethe% Gueue o% topic a%e ue, the mea*e a%e not ent i%ectl) pee%"to"pee%. 7ea*e a%e

o%wa%e to a 7 in%at%uctu%e that i compoe o one o% mo%e 7 e%ve% 867 aemon in the TC- p%ouct

implementation. The e%ve% a%e %eponible o% p%oviin* the Gualit)"o"e%vice to 7 an %eponible o% 

implementin* all the component not a%ee b) 7 a ec%ibe in ection J1.1 67 <evelopment ac*%ounK.

n%at%uctu%e component a%e veno%"peciic implementation. ?e*a%le o the veno%, all bae implementation a%e

imila% to the 67 implementation a ollow:

&

Message

Consumer

Message

ProducerMessageMessage

EMS

Server

Page 27: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 27/90

TC- 67 et P%actice

The 7 peciication eine the AP o% both the 7ea*e Conume% an 7ea*e P%ouce%. The veno% eine the

t%anpo%t o the mea*e an the e%ve% in%at%uctu%e, in thi cae the TC- 67 e%ve%.

The e) to the ei*n o the mea*in* in%at%uctu%e i not ut the bet p%actice in the ue o the 7 peciication inthe c%eation o mea*e p%ouce% an conume%, but alo in the ei*n an implementation o the in%at%uctu%e.

$u%the% icuion o 7 Gueue an topic will, the%eo%e, ocu on the in%at%uctu%e to uppo%t Gueue an topic

%athe% than on the c%eation o p%ouce% an conume% that mae ue o the in%at%uctu%e.

The TC- 67 in%at%uctu%e i bae on the ame e%ve% 8aemon p%oce, %e*a%le i the topic"mea*in* o% 

Gueue"mea*in* moel i eplo)e. Howeve%, althou*h the%e i ome ove%lap, the%e a%e ie%ence in the a%chitectu%e

o the 67 e%ve% p%ocee to e%vice Gueue an topic. 6ach will i%t be icue iniviuall).

7 Gueue a%e ue to implement a point"to"point mea*in* moel. An) numbe% o mea*e p%ouce% can put

mea*e into a Gueue, but onl) one conume% can %emove mea*e %om a Gueue. -nce a Gueue conume% 

conume a mea*e, it i no lon*e% available o% p%ocein* b) an) othe% non"e'cluive Gueue conume%. Thi i the

mechanim ue to p%ovie a calable %oun"%obin p%ocein* o 7 Gueue mea*e.

t i poible to implement e'cluive Gueue. Thi allow mo%e than one conume% to connect to the Gueue but onl) the

i%t conume% will actuall) be able to p%oce mea*e %om the Gueue.

P%ocein* o%e% o mea*e i *ua%antee th%ou*h a 7 Gueue. 7ea*e a%e place in the Gueue even i the%e

a%e no conume% o% the mea*e, in a ahion imila% to p%e"%e*it%ation with ?=C7.

Topic a%e ue o% publih an ubc%ibe mea*e moel. The%e i no concept o p%e %e*it%ation o% topic 8i.e. the

capabilit) to ave mea*e o% conume% that ta%t ate% the p%ouce% ta%t. the%e a%e no active conume% o% a

topic, no mea*e a%e place in the topic even th%ou*h the%e a%e topic mea*e p%ouce%. nlie Gueue, topic

uppo%t mo%e than one conume%. <u%able topic ubc%ibe% enu%e the mea*e i till available i a %e*ite% 

conume% ail an %eta%t.

oth Gueue an u%able topic uppo%t mea*e pe%itence. Dith pe%itence, the mea*e an tate metaata a%e

ave to i to enu%e the mea*e i available in the event o a 67 aemon ailu%e.

oth Gueue an topic uppo%t both )nch%onou an a)nch%onou p%ocein* o mea*e 8ee ection J3.9

)nch%onou an A)nch%onou nte%actionK o% mo%e etail.

Thu, the main ie%ence between topic an Gueue can be umma%i@e a ollow:

Iueue Topic

7ea*in* pa%ai*m   o mplement point"to"point

mea*in*

o 6ach mea*e ent on a Gueue

can have one an onl) one %eceive% 

o mplement publih"ubc%ibe

mea*in*

o 6ach mea*e ent on a topic can

have @e%o o% mo%e %eceive%7ea*epe%itence

 A mea*e ent on a Gueue with pe%itentelive%) moe i alwa) w%itten to the ib) 67 beo%e it i acnowle*e to theene% 

 A mea*e ent on a topic will be w%itten to thei onl) i it i ent with pe%itent elive%)moe an it ha at leat one u%able ubc%ibe%.

)nch%onou a)nch%onoumea*in*

Iueue uppo%t both )nch%onou ana)nch%onou p%ocein* o mea*e.

Topic uppo%t both )nch%onou ana)nch%onou p%ocein* o mea*e.

Dilca%   o e% can not %eceive 8c%eate o e% can ubc%ibe to wilca% topic

&

Page 28: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 28/90

TC- 67 et P%actice

%eceive% on wilca% Gueue

o e% can not en on wilca%Gueue

o Gueue oo.ba% i not in theconi*u%ation ile, then )ou can en on

Gueue oo.ba% i the pa%ent Gueue e'itin coni*u%ation ile an )ou have p%ope%acce cont%ol

o e% can not publih to wilca% topic

o topic oo.ba% i not in the

coni*u%ation ile, then )ou can publih totopic oo.ba% i the pa%ent topic e'it inconi*u%ation ile an )ou have p%ope%

acce cont%ol

$low cont%ol a Gueue ha no ta%te %eceive%, the 67e%ve% can not eno%ce low cont%ol o thatGueue.

a topic ha inactive u%able ubc%iption o%no cu%%ent ubc%ibe%, the e%ve% can noteno%ce low cont%ol o% that topic.

$o% topic, i low cont%ol i et on a peciictopic 8o% e'ample oo.ba%, then low cont%ol ieno%ce a lon* a the%e a%e ubc%ibe% tothat topic o% an) pa%ent topic 8o% e'ample, ithe%e a%e ubc%ibe% to oo.Q

?oute an lowcont%ol

$low cont%ol i not %elevant o% Gueuemea*e that a%e %oute to anothe% e%ve%.

$o% *lobal topic whe%e mea*e a%e %outebetween the e%ve%, low cont%ol can be

peciie o% a topic on eithe% the e%ve% whe%emea*e a%e p%ouce o% the e%ve% whe%emea*e a%e %eceive

?oute Iueue o not uppo%t multi"hop %outin* Topic uppo%t both in*le hop ull meh a wella multi hop %outin*

,,' EMS 6ueue In%rastructure

Iueue a%e the mechanim ue to p%ovie point"to"point mea*e between conume% an p%ouce% o mea*e.

?athe% than uin* a pee%"to"pee% moel, a with t%aitional client"e%ve% moel, 7 mae ue o a to%e"an"o%wa%

moel. Thi allow the e%ve% in%at%uctu%e to p%ovie e%vice that a%e not available in a pee%"to"pee% moel.

Thi ection o the ocument will ec%ibe the 67 e%ve% eatu%e that a%e available to p%ovie t%anpa%ent e%vice to

7 enpoint.

3.3.1.1 /e/e Message Flo0 &ontrol 

eall), conume% an p%ouce% will contantl) be up an available to p%oce mea*e, but thi i not alwa) *oin*

to be the cae. the p%ouce% i active but the conume% i own o% i ailin* to eep pace with the p%ouce%, mea*e

will ta%t to buil up in the Gueue on the 67 e%ve%. t i conceivable that the mea*e woul *%ow in numbe% an

eventuall) ove%low the memo%) o% i, epenin* on whethe% o% not the mea*e we%e la**e a pe%itent.

?e*a%le, i the %eou%ce o i o% memo%) i ove%whelme, becaue o a p%oblem with the conume%, it coul lea to

a catat%ophic )tem ailu%e.

t i impo%tant that %eou%ce o not become totall) conume. 7onito%in* o the Gueue"bae 67 e%ve% i the i%t

line o eene 8ee ection J4..4 Aminit%ation an 7onito%in*K o% mo%e etail on monito%in*. t i alo poible to

have the p%ouce% et a p%ope%t) to comp%e the mea*e 8ee ection J3.&. 7ea*e Comp%eionK. Thi will not

onl) p%ovie potentiall) bette% pe%o%mance o% la%*e mea*e, it will alo enu%e that a la%*e% numbe% o mea*e canbe to%e beo%e the )tem i ove%whelme. Howeve%, none o thee %ecommene olution will enu%e the %eou%ce

a%e not completel) conume.

67 p%ovie a low cont%ol )tem to enu%e that memo%) o% i %eou%ce a%e not completel) conume becaue o 

p%oblem with the conume%.

• lo control feature pro#ided ith %IC& EMS is con8gura'le on per)

destination 'asis. hen the limit is reached0 the producer is 'locked from

&#

Page 29: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 29/90

TC- 67 et P%actice

sending an more messages to the 6ueue until the 6ueue is partiall

emptied ' the consumer.

• -lthough each 6ueue destination has control o#er the si,e threshold 'efore

the producer is 'locked0 the administrator still has the a'ilit to ena'le or

disa'le Ao control for all 6ueues associated ith an EMS ser#er.

• It is important for the administrator to 'e aare of all 6ueues ;and0

potentiall0 topics< that ha#e Ao control ena'led0 since the messages

from all are placed in the same 8leK and0 therefore0 the sum of all the

thresholds should not 'e greater than the total disk a#aila'le or memor

a#aila'le.

• hile the infrastructure pro#ides some control to ensure that resources do

not 'ecome o#erhelmed0 this should not 'e the onl approach applied to

the pro'lem. In some cases0 it is not practical to 'lock the producer of 

messages. %his re6uires a more proacti#e solution to the pro'lem.

• lo control feature pro#ided ith %IC& EMS is set on a per)destination

'asis. hen the limit is reached0 the producer is 'locked from sending an

more messages to the 6ueue until the 6ueue is partiall emptied ' the

consumer.

• -lthough each 6ueue destination has control o#er the si,e threshold 'efore

the producer is 'locked0 the administrator still has the a'ilit to ena'le or

disa'le Ao control for all 6ueues associated ith an EMS ser#er.

• It is important for the administrator to 'e aare of all 6ueues ;and0

potentiall0 topics< that ha#e Ao control ena'led0 since the messages

from all are placed in the same 8leK and0 therefore0 the sum of all the

thresholds should not 'e greater than the total disk a#aila'le or memor

a#aila'le.

$low cont%ol i et on a pe%"etination bai, but o% eae o aminit%ation, thi can be applie with wilca% in the

etination nameM a*ain, anothe% %eaon a t%on* namin* cheme i impo%tant even with Gueue 8ee ection J 3.&.1.1

7<etination Heae% $ielK.

3.3.1.2 S*aling and Per+or"an*e !/ning o+ JMS /e/es 0it EMS 

$low cont%ol ha been ae to the 67 e%ve% in%at%uctu%e to enu%e that %eou%ce a%e not ove%whelme. ?eou%ce

utili@ation onl) become an iue i the conume% i not available o% lac p%ocein* calabilit). Howeve%, the%e a%e

a%chitectu%e to enu%e that low cont%ol i the lat %eo%t an not the onl) olution to eal with conume% pe%o%mance

iue. P%oviin* calin* an pe%o%mance enhancement a pa%t o the a%chitectu%e will enu%e low cont%ol i neve% 

eno%ceM e'cept a a lat %eo%t.

The%e a%e eve%al olution to p%ovie calin* an pe%o%mance imp%ovement with 7 Gueue. 7ot o thee a%e not

pa%t o the application coe peciication o% coe ei*nM hence, outie o the 7 peciication. Client pe%o%mance

an availabilit) a%e pa%t o the application eplo)ment an the 67 in%at%uctu%e etup an coni*u%ation. The %obut

natu%e o the 67 in%at%uctu%e, couple with p%ope% application ei*n, p%ovie the necea%) in*%eient to %eolve

the iue o %eou%ce atu%ation.

The%e a%e eve%al mechanim available to p%ovie bette% pe%o%mance o% the 7 Gueue conume%:

&9

Page 30: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 30/90

TC- 67 et P%actice

2on"e'cluive conume% -nl) one conume% can %emove a mea*e %om a Gueue. the Gueue i non"

e'cluive, then multiple Gueue conume% can be ta%te to conume mea*e %om the Gueue. Thi p%ovie

bette% pe%o%mance ince the multiple Gueue conume% tae mea*e %om the Gueue in a %oun"%obin

ahion. Thi alo ha the aitional beneit o p%oviin* availabilit) a well a loa balancin*. Thi i not an

alte%native i o%e%"o"mea*e p%ocein* i %eGui%e th%ou*h the p%ocein* chain. 82ote that, in man) cae,

o%e% o mea*e th%ou*h the in%at%uctu%e i not alwa) manato%) ince, *ene%all), o%e% o p%ocein* can

be eail) olve th%ou*h e'ception p%ocein* but not in eve%) cae. Thi etup i pa%t o the 7

peciication an i inclue to complete the olution lit.

6'cluive Conume% Dith an e'cluive conume%, the%e i no ho%i@ontal calin* a in the p%eviou point, but

it i poible to have mo%e than one conume% litenin* to the ame Gueue o% e'cluive acce. -nl) one

conume% will actuall) p%oce %om the Gueue, but houl it ail, the econ membe% will immeiatel) be

activate to %eceive %om the Gueue, the%eb) p%oviin* *%eate% availabilit) o% the conume% p%oce.

Iueue 7ea*e P%eetch T%aitionall), mea*e a%e elive%e )nch%onoul) %om the Gueue to the e%ve%.

The ne't mea*e i not ent to the conume% until the p%eviou mea*e i acnowle*e. 67 uppo%t the

batchin* o eve%al mea*e to the conume% in the bac*%oun. Thi *ene%all) p%ovie bette% pe%o%mance

than the in*le"mea*e mechanim. A pa%amete% i et b) the aminit%ato% a*aint the Gueue on the e%ve%to enable thi eatu%e. The application a%e unawa%e o thi mechanim bein* emplo)e.

6'pi%ation A e'plaine in ection J3.&.1.3 76'pi%ation Heae% $ielK, it i impo%tant to et a TTF value o% 

mea*e that o not nee to e'it o%eve%. the mea*e onl) ha value o% a ce%tain pe%io, then it houl

automaticall) be e'pun*e %om the Gueue i it i not p%ocee in a timel) ahion.

$ine"5%ain 2amin* e'cluive Gueue a%e %eGui%e 8o% even in the non"e'cluive Gueue cena%io then

multiple ie%ent mea*e houl not necea%il) be p%ocee b) the ame application, the%eb) %et%ictin*

p%ocein* to a in*le conume%. $o% e'ample, i mea*e a%e p%ouce with th%ee epa%ate count%ie

peciie in the mea*e, pe%hap the mea*e houl be ent to th%ee epa%ate Gueue, %athe% than all ent

to one Gueue. it i an o%e% mea*e, then %athe% than *oin* to a Gueue JE.>.-%e%K, it houl *o to

JE.>.-%e%.CanaaK. 6ven i the Gueue a%e on the ame hot thi will allow multiple application to conume

mea*e, even i it i the e'act ame application, but a*aint a epa%ate Gueue an the%eb) inc%eaepe%o%mance an th%ou*hput.

Topic an Iueue %i*in* %i*in* i icue in mo%e etail in ection K4.4.& <etination %i*in*K. An

e'ample o Gueue calin* i th%ou*h b%i*in* Gueue to a topic. The mea*e p%ouce% now en the

mea*e a a topic. A electo% i then ue to b%i*e the topic mea*e to the app%op%iate Gueue. Thi

p%ovie a in*le i%e"an"o%*et mea*e that ecouple the p%ouce% %om the conume%. Iueue can then

be c%eate a ec%ibe above, an the electo% on the in%at%uctu%e b%i*e o%wa% the mea*e to the

app%op%iate Gueue. nlie the p%eviou olution, the p%ouce% oe not nee to have p%io% nowle*e o the

ine"*%ain Gueue. 7ea*e p%ope%tie will nee to be emplo)e, an thi will caue t%ae"o 8ee ection

J3.&.3 7ea*e electo%K.

?eliable 7ea*e <elive%) 2ot all mea*e %eGui%e the *ua%antee mea*e elive%) emantic p%ovie

o% b) the 7 peciication. n ome cae, a bet eo%t ma) be acceptable. thi i the cae, it i poible to

et the J7<eilve%)7oeK heae% iel 8ee ection J3.&.1.& 7<elive%)7oe Heae% $ielK to

JTibm.?6FAF6O<6F=6?>K. 7 peciie a two"wa) hanhae o% conume% acnowle*ement. $i%t,

the conume% acnowle*e the mea*e to e%ve% an then the e%ve% acnowle*e the conume%

acnowle*ement. Thi pecial elive%) moe eliminate the %eGui%ement o the conume% to wait o% e%ve%

8aemon acnowle*ment to the conume% acnowle*ement, an, in act, the e%ve% no lon*e% en

acnowle*ement to the conume% acnowle*ement. Thi ec%eae mea*e ove%hea an allow bette% 

%eou%ce utili@ation an bette% mea*e th%ou*hput. Thi oe not aect inte%ope%abilit) ince it i an

30

Page 31: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 31/90

TC- 67 et P%actice

in%at%uctu%e i%ective that i i*no%e b) othe% veno%. ?eliable elive%) cannot be et uin* the

7ea*e.et7<elive%)7oe8 7 AP metho.

2o"Acnowle*ement 7ea*e ?eceipt Thi eatu%e i imila% to the p%eviou, e'cept the conume% no

lon*e% acnowle*e the e%ve%, an the e%ve% eliminate all ino%mation about the mea*e without e'plicit

acnowle*ement %om the conume%. Thi a*ain inc%eae th%ou*hput an %euce )tem utili@ation, butmea*e a%e not *ua%antee. The no"acnowle*ement %eceipt moe i et in the metho that c%eate the

eion %om the connection obect. Thi i a non"tana% ettin* o% the 7"peciie elive%) moe. t i

impo%tant to note that the%e a%e two %et%iction when thi elive%) moe eion i enable:

o  Application cannot c%eate u%able topic ubc%ibe%.

o Iueue conume% that a%e *ettin* mea*e %om a %oute Gueue t%anpo%t a%e not allowe to peci) thi

moe o elive%).

7ea*e T%acin* an Fo**in* T%acin* o mea*e can caue a i*niicant loa on the in%at%uctu%e an it

i %ecommene not to have t%acin* pe%manentl) enable o% p%ouction envi%onment.

?oute Iueue Thi i a uniGue eatu%e in the 67 in%at%uctu%e. n man) cae, epeciall) with la%*e

mea*e volume, the ope%atin* )tem become the bottlenec a it t%ie to p%oce the heav) /-. The onl)

wa) to ove%come the iue i to move ome o the Gueue p%ocein* to anothe% hot. Thi i poible with

67 uin* %oute Gueue. Thee a%e pecial Gueue that act a p%o'ie to the actual Gueue o% both inboun

an outboun Gueue"mea*e p%ocein*. Conume% an p%ouce% connect to the p%o') hot o% the actual

Gueue e%ve%, an all client ope%ate t%anpa%entl) a i the) a%e connecte i%ectl) to the actual Gueue. Thi

allow the uniGue abilit) o ho%i@ontal calin* o Gueue with all the inhe%ent beneit o ho%i@ontal calin*.

2ote, low cont%ol i onl) available on the actual Gueue, an not on the p%o'ie. ee the TC- 67 e%;

5uie o% mo%e etail.

7ana*ement Tool )tem mana*ement tool houl be monito%in* the availabilit) o the application an

the ue o )tem %eou%ce. Th%ehol houl be et within thee tool to ale%t an aminit%ato% beo%e

)tem %eou%ce become atu%ate. The) can alo be coni*u%e to %eta%t aile conume%.

nc%eain* TCP en an ?eceive ue% 5ene%all), in TPC/P communication, the eault en an

%eceive bue% a%e low, uuall) onl) about # in i@e. Thi can aect the pe%o%mance o the TCP t%eam ue

to the natu%e o TCP; liin*"winow low cont%ol. nc%eain* the bue% i@e to 3& o% 4 can %eult in a !U

to 10U th%ou*hput inc%eae. 67 uppo%t inc%eain* thi bue% i@e. ee ection J3.10.3 Tibm -bectK o%

etail.

7ea*e i@e 7ea*e i@e will aect pe%o%mance, but thi i not necea%il) a acto% %eultin* %om the

67 ei*n. The%e i a %eGui%ement o the ope%atin* )tem to pe%o%m e*mentation an ?eaembl)

8A? o% the Fa)e% Two p%otocol 8e.*. 6the%net to en the mea*e within the Fa)e% Two 7eia T%ane%

nit 87T i@e. the mea*e an p%otocol ove%hea i la%*e% than the 7T, it %eGui%e A? at the -"level

to plit the mea*e into multiple e*ment, an thi i an e'penive ope%ation a a% a the - i conce%ne.

enin* Jmea*e+ove%heaK malle% than the 7T 8which o% 6the%net i about 1!00 b)te will imp%ove

th%ou*hput pe%o%mance. enin* la%*e% mea*e, whe%e the i@e ivie b) the 7T ha the mallet

moulu, will alo p%ovie bette% pe%o%mance. -nce the mea*e *et too la%*e, the aect o bue%in* an

manipulation will alo be*in to low pe%o%mance.

-ne houl not i*no%e the ubtle eiciencie ao%e at the p%otocol level, ince the pe%o%mance an the )tem

%eou%ce avin* a%e accumulate ac%o all the mea*e an will help imp%ove th%ou*hput. 7o%e etail can be oun

in the ubection o ection J3.&.1 e o 7ea*e Heae% $ielK an J3.&.& e o 7ea*e P%ope%tie $ielK.

31

Page 32: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 32/90

TC- 67 et P%actice

• Don)e7clusi#e 6ueue consumer pro#ides 'etter load 'alancing and higher

performance compared to e7clusi#e 6ueue consumer.

• Increasing the #alue of 6ueue increases the performance.

• ine grained 6ueue naming scheme can impro#e the performance.

• +elia'le message deli#er decreases message o#erhead and allos 'etter

resource utili,ation and 'etter message throughput.

• It is recommended not to ha#e tracing permanentl ena'led for production

en#ironments.

• In case of routed 6ueues if the messages routed are large in si,e then the

location of 6ueues plas important role.

• Increasing the %C! send and recei#e 'uer si,e to 32G or $"G can result in

a 5: to 1: throughput increase.

,,* EMS Topic In%rastructure

The ue o topic an a publih"an"ubc%ibe mea*in* moel i one o the mea*in* avance that a%e available

th%ou*h 7. Application a%e no lon*e% %et%icte to main* ue o )nch%onou %eGuet"%epl). <evelope% houl

conie% the ue o topic a one o the p%ima%) alte%native in ei*nin* application mea*in* in%at%uctu%e. The

67 e%ve% p%ovie man) ei*n alte%native to enu%e that the application a%e both calable an available.

nlie the Gueue"mea*in* moel, topic allow multiple conume% to %eliabl) %eceive the ame mea*e. The e%ve% 

i %eGui%e to to%e an o%wa% mea*e between topic p%ouce% an conume%, but the e%ve% mut now hol the

mea*e until all %e*ite%e conume% %eceive the mea*e.

7 topic alo int%ouce the concept o u%able ubc%ibe%. Thee ubc%ibe% %eGui%e the e%ve% to accumulate

mea*e on the ubc%ibe%; behal houl the ubc%ibe% tempo%a%il) be unavailable.

t ma) be*in to become evient that the 7 e%ve% in%at%uctu%e mut be mo%e %obut o% topic than i %eGui%e o% 

Gueue. A a %eult, 67 uppo%t man) eatu%e to enu%e that the 7 topic a%e both %obut an calable.

Thi ection outline ome o the capabilitie within the 67 an thei% %elation to enu%in* an inut%ial"t%en*th

implementation.

3.3.2.1 !opi* Message $o/ting 

Dhile it i poible to implement la%*e topic"mea*in* moel on a in*le hot, the%e a%e man) %eaon wh) mo%e

than one hot will be a mo%e eicient implementation. $o% e'ample, aume the%e a%e 100 ubc%ibe% in Fonon, an

the e%ve% i in 2ew >o%. 6ve%) time a mea*e i p%ouce in 2ew >o% it woul nee to be ent to Fonon 100 time,

an the enti%e inhe%ent p%otocol ove%hea woul be uplicate ac%o the DA2 100 time. 2ot onl) i thi eplo)ment

moel not ete%minitic, it i ve%) ineicient.

To ove%come the iue o in*le"e%ve% eplo)ment, 67 p%ovie the capabilit) to %oute mea*e between e%ve%.

?outin* topic between e%ve% p%ovie ho%i@ontal calin* o% topic. n the e'ample above, a in*le e%ve% in each cit)

woul allow the conume% to connect to the local e%ve%. Thi woul not onl) mae the DA2 t%aic ete%minitic 8now

the t%aic i eGual to the p%ouce% volume an not complicate b) the numbe% o active %emote ue%, but it %euce the

t%aic an p%otocol volume to a in*le ata mea*e %e*a%le i the%e a%e 100 o% 1000 ubc%ibe%. Thi capabilit) i

all p%eicate on the abilit) o the 67 in%at%uctu%e e%ve% to %oute topic mea*e.

3&

Page 33: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 33/90

TC- 67 et P%actice

The%e a%e two topic %outin* moel available with 67. 6ach ha it own p%o an con, but p%ovie the capabilit) to

a%e mo%e eicientl) ie%ent a%chitectu%e cena%io. To u%the% enhance the capabilitie, both %outin* moel can be

ue in the ame a%chitectu%e b) allowin* the e%ve% to mae ue o both moel imultaneoul). The two moel a%e

in*le"hop an multi"hop %outin*.

7ulti"hop %outin* allow the topic mea*e to low between mo%e than one nei*hbo% %elationhip. t alo etect loop

an will not allow a lin between nei*hbo% that will %eult in a loop. in*le"hop %outin* onl) allow the topic mea*e to

low to aacent nei*hbo%. The acceptin* nei*hbo% will not ubeGuentl) o%wa% the topic mea*e to anothe% 

nei*hbo%.

t i impo%tant to note that the Gueue %outin* ec%ibe in the ection J3.3.1.& calin* an Pe%o%mance Tunin* o 7

Iueue with 67K i onl) applicable to Gueue mea*e an oe not appl) to topic o% topic %outin*. n aition, the

conve%e i alo t%ueM topic %outin* oe not appl) to Gueue %outin*.

The coni*u%ation an aminit%ation o %outin* i t%anpa%ent to both the conume% an p%ouce%, but the%e a%e

component eine in the application, uch a etination name, that have i*niicance within the %outin*

in%at%uctu%eM the%eo%e, %outin* houl not be i*no%e a pa%t o the ei*n o the p%ouce% an conume% application.

Topic mea*e can be %oute b) impl) einin* the topic a J*lobalK. nle the topic i eine a J*lobalK on the

e%ve% that the p%ouce% o% conume% i connecte to, mea*e will not leave that e%ve% o% that topic 8o% e%ie o 

wilca% topic %e*a%le o othe% %outin* ettin*.

?oute a%e etablihe between nei*hbo%. 2ei*hbo% houl be coni*u%e to authenticate themelve to each othe% 

an ollow acce cont%ol i%ective to cont%ol the low o mea*e between e%ve%. ?e*a%le i the topic i et to

*lobal on the e%ve% nei*hbo%, acce cont%ol can till %et%ict the movement o mea*e between the e%ve%.

 Acce an authentication between e%ve% a%e the ame a eine between client an e%ve% 8o% mo%e etail ee

ection J3..4 67 ?outin* Authentication an Autho%i@ationK. F enc%)pte lin between e%ve% can alo be ue

to enu%e p%ivac) o mea*e between e%ve%.

-ne ie initiate a %oute lin between e%ve% onl) 8active/paive, o% both can be coni*u%e to attempt to connect

with each othe% 8active/active. -nl) the active hot peciie the %oute pa%amete%. e%ve% can be both active anpaive imultaneoul).

The%e i no ettin* to mae an 67 e%ve% paive. Paive hot will accept connection %om an) active hot. $o% thi

%eaon, client mut coni*u%e the p%ope% acce cont%ol an authentication to enu%e onl) ei%e 67 e%ve% mi*ht

connect to the paive e%ve%.

Dith 67, e%ve% a%e a%%an*e in Vone. A Vone i a *%oup o hot that pa%ticipate in o%wa%in* mea*e in a

pa%ticula% %outin* behavio%. The%e a%e two %outin* behavio%: multi"hop an in*le"hop. 7embe% o a Vone can onl)

mae ue o one %outin* behavio%, but a e%ve% can imultaneoul) belon* to mo%e than one Vone.

Thi ection i intene to me%el) int%ouce 67 topic %outin* an a ew %ecommenation o% etup. 7o%e etail can

be oun in the TC- 67 e%; 5uie.

• EMS allos acti#e>acti#e as ell as acti#e>passi#e routes. !assi#e hosts ill

accept connections from an acti#e host. or this reason0 clients must

con8gure the proper access controls and authentication to ensure onl

desired EMS ser#ers might connect to the passi#e ser#ers.

33

Page 34: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 34/90

TC- 67 et P%actice

• Multi)hop routing allos the topic messages to Ao 'eteen more than

one neigh'or relationships. It also detects loops and ill not allo a link 

'eteen neigh'ors that ill result in a loop.

• Single)hop routing onl allos the topic message to Ao to ad(acent

neigh'ors. %he accepting neigh'or ill not su'se6uentl forard the topic

message to another neigh'or. In this case0 EMS ser#ers are arranged in

Lones. - EMS ser#er can simultaneousl 'elong to more than one ,one.

3.3.2.2 !opi* Flo0 &ontrol 

 A with Gueue 8ec%ibe in ection J3.3.1.1 Iueue 7ea*e $low Cont%olK topic uppo%t low cont%ol o% u%able

ubc%ibe%. $low cont%ol i applie onl) a*aint topic that have been coni*u%e with low cont%ol. The mechanim an

iue a%e the ame a thoe ec%ibe o% Gueue.

Topic e'pan the eplo)ment o low"cont%ol. nlie the cena%io with Gueue, the e%ve% mut hol the mea*e until

all active an/o% u%able ubc%ibe% have %eceive the mea*e. nlie the Gueue cena%io, the builup o mea*e

in the e%ve% coul be ue to p%oblem with one o% mo%e conume% eithe% ailin* o% not bein* active 8thi i not onl) an

iue o% u%able ubc%ibe% o% pe%o%min* poo%l).

Topic %outin* alo a anothe% w%inle to the low cont%ol iue. Dhen *lobal topic a%e %oute between e%ve%, low

cont%ol can be enable a*aint the topic on eithe% e%ve% o% on both. Aume a imple cena%io whe%e the publihe% i

on one e%ve% an the conume% i on the econ %oute topic e%ve%. low cont%ol i enable on the publihe% e%ve%,

then, when the th%ehol i %eache, the p%ouce% i bloce %om enin* mo%e mea*e until ome o the mea*e

a%e %aine %om the topic on the e%ve%. low cont%ol i enable on the conume% e%ve%, then the p%ouce% e%ve% 8not

the actual p%ouce% i bloce %om enin* mo%e mea*e until the conume% %ain ome topic"mea*e %om the

conume% e%ve%.

Thi behavio% allow ho%i@ontal calin* o %eou%ce utili@ation. nlie the Gueue cena%io, the topic %outin* not onl)

oloa /- but alo allow mo%e than one e%ve% to pa%ticipate in it%ibution an e'panin* the th%ehol ue to low

conume%. Thi allow aminit%ation e%vice to etect a p%oblem that %eulte in low cont%ol beo%e the enti%ep%ocein* chain i aecte.

• Message sent on a topic is hold at the ser#er until all acti#e and>or dura'le

su'scri'ers ha#e recei#ed the message.

• hen glo'al topics are routed 'eteen ser#ers0 Ao control can 'e

ena'led against the topic on either ser#er or on 'oth.

3.3.2.3 D/rale !opi* S/s*riers

n ection J3.&.1.& 7<elive%)7oe Heae% $ielK the%e wa a b%ie ec%iption o the 7 p%otocol heae% that

i*nal the 7 in%at%uctu%e i the mea*e houl pe%it in memo%) o% i o% mea*e %ecove%) ate% aemon

ailu%e. Thi int%uction coni*u%ation wa to enu%e that the mea*e woul till be available ate% a ailu%e an%ecove%) o the 67 e%ve%.

$o% topic ubc%ibe%, the 67 e%ve% hol the mea*e until all cu%%entl) %e*ite%e litene% have %eceive the

mea*e. houl a ubc%ibe% ail an %eta%t, the mea*e elive%e while the ubc%ibe% wa own woul not be

available to the ubc%ibe% when the) inall) %eta%t. To ove%come thi iue, a pecial ubc%ibe% can be c%eate.

 A u%able ubc%ibe% i a pecial o%m o topic ubc%ibe% that enu%e the 67 e%ve% will hol the mea*e while the

ubc%ibe% %eta%t 8o% until the mea*e i a*e out, ee ection J3.&.1.3 76'pi%ation Heae% $ielK o% etail. A

34

Page 35: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 35/90

TC- 67 et P%actice

epa%ate 7 metho i ue to c%eate u%able ubc%ibe%. t i alo impo%tant to note that u%able ubc%ibe% mut

e'plicitl) unubc%ibe %om a topic o% the aemon will continue to accumulate mea*e, an thi ma) %eult in a low"

cont%ol ove%low ituation 8ee ection J3.3.&.& Topic $low Cont%olK. The aminit%ato% ma) alo manuall) unubc%ibe

u%able ubc%ibe% 8o% no%mal ubc%ibe%.

To enu%e *ua%antee %ecove%), the topic mut have u%able ubc%ibe%, an the p%ouce% mut et the mea*e to

be pe%itent. n thi wa), the mea*e will u%vive conume% an/o% 67 e%ve% ailu%e an %ecove%). The%e i no nee

o% u%able Gueue conume% ince the natu%e o Gueue oe not %eGui%e thi a a epa%ate unctionalit).

The eion.c%eate<uableubc%ibe%8 metho %eGui%e a u%able name to uniGuel) ienti) the application. The

connection o% the eion o% the u%able ubc%ibe% uppo%t a JConnection.etClient<8K metho. Dith 67, the

combination o both o thee metho c%eate a uniGue ientiie% o% the u%able topic ubc%ibe% whe%e the two a%e

concatenate with a colon epa%ato%. The%e mut be a *loball) uniGue ientiie% o% the u%able ubc%ibe%. a eion

i c%eate an the ientiie% i not uniGue, the new eion will be te%minate an an e'ception will be th%own.

t i %ecommene that evelope% ue both AP metho when c%eatin* u%able topic. The u%able name i *ene%all)

et to be the name o the application, an the client < i the p%incipal name 8ue%name ue to authenticate the

application to the 67 in%at%uctu%e. t i impo%tant that evelope% %eco*ni@e the %eGui%ement o% a uniGue %ee%enceo% the u%able ubc%ibe%.

 Acnowle*ement moe a%e alo i*niicant with u%able ubc%ibe%. auto"acnowle*ement i et, the mea*e

ma) have been p%ocee, but the e%ve% ma) not have %eceive the acnowle*ment beo%e the client ailu%e. The

mea*e woul till be hel b) the 67 e%ve%, an woul attempt to continue to %eelive% the mea*e ate% the

ubc%ibe% %eta%te. The client woul be %eponible to enu%e the mea*e wa not al%ea) p%ocee. The mea*e

heae% woul inicate that the e%ve% ha al%ea) attempte elive%) 8ee ection J3.&.1.10 7?eelive%e Heae% 

$ielK.

$o% u%able ubc%ibe% it ma) be necea%) to enable the ue o the mea*e < 8ee ection J 3.&.1.! 77ea*e<

Heae% $ielK, o% ome othe% %ee%ence o% the client to eep pe%itent %ee%ence o% the mea*e that it ha

p%ocee to enu%e no potential uplicate p%ocein*. Alo, note that the p%ocein* moel ma) be tole%ant to

uplicate mea*e, an that thi ma) not be an iue in thoe cae. $o% e'ample, i the mea*e i w%itten to a

atabae with a uniGue e) iel, the atabae w%ite will etect the uplicate an allow the application to %eact

acco%in*l).

Client acnowle*ement moe i alo available o% a mo%e ine"*%ain cont%ol ove% the acnowle*ement. Thi i

epeciall) impo%tant i a)nch%onou mea*in* i ue whe%e the Jon7ea*e8K metho i e'ecute in a epa%ate

th%ea. Dith autoacnowle*ement, the acnowle*ment i ent ate% the metho %etu%n, but i the metho i

e'ecute in a th%ea 8a hi*he% pe%o%mance moel o p%ocein* a)nch%onou mea*e, cont%ol i *iven bac to the

cont%ollin* application beo%e the metho complete e'ecution. Thi ma) %eult in unnown p%ocein* tate i the

application ail beo%e the metho complete e'ecution. The%eo%e, it i %ecommene that, o% application that ue

u%able ubc%ibe% an a)nch%onou mea*e, that the client"acnowle*ment moe be ue, an

acnowle*ment houl be manuall) ent a the lat tatement in the Jon7ea*e8K metho.

t i alo impo%tant to note that u%able topic an pe%itent Gueue will have a lowe% th%ou*hput an hi*he% %eou%ce

utili@ation than non"pe%itent mea*e. The limitin* acto% in the pe%o%mance i the i an i cont%olle% 

technolo*). mp%ovin* i pe%o%mance will alo imp%ove the mea*e pe%o%mance. eve%al thin* can be one to

imp%ove the pe%o%mance o pe%itent u%able topic an pe%itent Gueue:

<i a%%a) with inte%leavin* ac%o multiple pinle will *ene%all) p%ovie bette% pe%o%mance than with in*le

i.

3!

Page 36: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 36/90

TC- 67 et P%actice

5ene%all), ou%nalin* ile )tem p%ovie bette% %ecove%) capabilitie an pe%o%mance than non"ou%nalin* ile

)tem.

t%ippin* a with ?A< will *ene%all) p%ovie bette% pe%o%mance than mi%%o%in*.

)nch%onou w%ite 8a with 67 JailaeK moe o% etination will p%ovie ma%*inall) hi*he% %eliabilit), butma) *%eatl) %euce pe%o%mance.

A2 will *ene%all) p%ovie bette% pe%o%mance than 2A o% ual"po%te ?A< a%%a).

atte%) bace"up i cont%olle% 8o% ibe% channel cont%olle% o% A2 will *ene%all) allow imp%ovement o%

)nch%onou w%ite ince the cont%olle% %eliabl) bue% the ata beo%e it i actuall) w%itten to i. The

iniviual veno% mut coni%m etail.

7ea*e comp%eion will %eGui%e le i w%ite an ma) imp%ove pe%o%mance an %euce i %eou%ce

utili@ation 8ee ection J3.&. 7ea*e Comp%eionK o% mo%e etail.

e o a topic to it%ibute mea*e to multiple conume% %athe% than multiple Gueue w%ite will potentiall)

%euce the numbe% o i w%ite %eGui%e 8an netwo% utili@ation.

-ne la%*e% common mea*e o% multiple conume% i mo%e eicient than eve%al malle% mea*e ta%*ete

at ewe% conume%.

Dhile pe%itent u%able topic p%ovie a hi*h e*%ee o %eliabilit), the%e a%e alo %awbac. $o%tunatel), the%e a%e

a%chitectu%e an ei*n that can be emplo)e to optimi@e the pe%o%mance while alo olvin* netwo% an availabilit)

iue with the ame olution.

• %o ensure guaranteed message deli#er>reco#er on a topic in case of 

consumer and>or EMS ser#er failure0 the topic must ha#e dura'le

su'scri'er0 and the producers must send the message ith persistent

deli#er mode.

%here must 'e a glo'all uni6ue identi8er for the dura'le su'scri'er. If asession is created and the identi8er is not uni6ue0 the ne session ill 'e

terminated and an e7ception ill 'e thron.

• hile persistent dura'le topics pro#ide a high degree of relia'ilit0 it

results in loer throughput due to increased disk I>&.

3.3.2.4 S*aling and Per+or"an*e !/ning o+ JMS !opi*s 0it EMS 

eve%al pe%o%mance an tunin* apect have al%ea) been ec%ibe o% 7 topic within an 67 in%at%uctu%e. The

avance %outin* capabilitie o topic allow calin* the numbe% o e%ve% be)on the one"hop %et%iction with Gueue.

$low cont%ol can alo be it%ibute amon* multiple e%ve%. 67 topic %outin* capabilitie ove%come banwith an

*eo*%aphic p%oblem that ma) be encounte%e.

n aition, all e'cept the point about %oute Gueue an e'cluive/non"e'cluive Gueue in ection J3.3.1.& calin*an Pe%o%mance Tunin* o 7 Iueue with 67K alo appl) to 7 topic an 67.

,- Te#porar7 na#ic and Static estinations7 eine th%ee t)pe o Gueue an topic: tempo%a%), )namic an tatic. p to thi point, the topic an Gueue

that have been icue we%e tatic. tatic etination a%e manuall) eine in the 67 aemon coni*u%ation.

Thee a%e %ee%ence in the application th%ou*h the c%eation o the <etination obect %ee%ence to the Gueue an

3

Page 37: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 37/90

TC- 67 et P%actice

topic. The) can be %ee%ence th%ou*h a 2< inte%ace o% th%ou*h the c%eation o an application"level %ee%ence

<etination obect uin* the eion.c%eateIueue8 o% eion.c%eateTopic8 metho.8ee ection K3. 2< FooupK.

• &nl static destination can 'e referenced through a *D=I interface.

<)namic etination a%e an 67 concept. <)namic etination a%e a pecial eatu%e that a%e pa%t o the 67

in%at%uctu%e implementation. The) a%e eentiall) tatic Gueue, an topicM but the) cannot be %ee%ence th%ou*h a

2< inte%ace, an the) onl) e'it a lon* a the%e a%e mea*e in the etination, o% the%e a%e conume%

connecte. The ue o )namic Gueue i t%anpa%ent to the 7 application, an appea% a tana% application"

%ee%ence tatic etination.

 A mentione above, the%e a%e two mechanim to c%eate %ee%ence to etination within a 7 application. The i%t

i th%ou*h *ettin* the %ee%ence %om a 2<"compliant ata to%e. The econ mechanim i to ue the Jc%eateTopic8K

an Jc%eateIueue8K metho to c%eate the %ee%ence a*aint the ull) Gualiie etination name. Thi p%eicate that

the application i awa%e o the ull) Gualiie name an, the%eo%e, ha no nee to *et the %ee%ence th%ou*h 2<.

67 in%at%uctu%e allow the ame metho to c%eate the ull) Gualiie etination 8)namic etination at the time

the %ee%ence i %eGuete 8aumin* the etination oe not al%ea) e'it. Thee metho a%e ue a an alte%native

to uin* the 2<"bae ata to%e to %et%ieve etination %ee%enceM the%eo%e, not bein* able to *et the %ee%ence o% a

)namic etination %om a 2< to%e i not %eall) a limitation o )namic etination.

Dith 67, application cannot ut c%eate an) etination name the) ei%e. The aminit%ato% mut c%eate wilca%

etination %oot"name in avance. Application 8aumin* the) have the co%%ect p%ivile*e ee ection J Application

 Autho%i@ationK o% mo%e etail can c%eate ub"topic an ub"Gueue une% the wilca%"eine name. The

etination will inhe%it the ame p%ivile*e an att%ibute eine o% the %oot etination name.

• =namic destinations are EMS concept.

• =namic destinations e7ist as long as there are messages in the

destination0 or there are consumers connected.

• EMS infrastructure allos the same methods to create the full 6uali8ed

destinations ;dnamic destinations< at the time the reference is re6uested

;assuming the destination does not alread e7ist<.

• ith EMS0 application can create a destination using client -!I onl if the

administrator has created corresponding ildcard destination root)name;s<

in ad#ance.

<)namic etination have eve%al avanta*e ove% pu%e tatic etination:

 Aminit%ato% can ele*ate a hie%a%ch) o etination name an p%ivile*e to application without %eGui%in* a

complete lit o ull) Gualiie name o% eve%) application eve%)whe%e in the %oute in%at%uctu%e.

P%ovie o% potentiall) both a cent%ali@e, it%ibute, an hie%a%chical ele*ation o etination aminit%ation.

<evelope% can Jc%eateK an Jet%o)K etination on a well"eine bai without %eGui%in* ull aminit%ation

acce o% acce to the aminit%ation AP 8%ecall the aminit%ation AP i veno%"peciic becaue 7 oe

not peci) the AP to aminite% the in%at%uctu%e.

ette% utili@ation o )tem %eou%ce ince the )namic etination a%e %emove %om the in%at%uctu%e when

not %eGui%e.

3

Page 38: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 38/90

TC- 67 et P%actice

P%ovie man) o the beneit o tempo%a%) Gueue 8ee below o% mo%e ino%mation on tempo%a%) Gueue,

without the %et%iction.

5%eatl) impliie the aminit%ation o etination.

The c%eate metho continue to ope%ate a*aint ull) Gualiie tatic etination a woul be oun in non"67 in%at%uctu%e.

The e) to )namic etination i that the) a%e pecial tatic etination that we%e %ee%ence with a wilca% a pa%t

o the 67 aminit%ation etination name. ?athe% than aminite%in* all ull) Gualiie etination, the etination

can be bloc"ai*ne an onl) utili@e when, an a lon* a %eGui%e.

t i impo%tant to note that )namic etination i a eatu%e o 67 an i not available with othe% veno% 7

implementation. Howeve%, becaue it ope%ate within the in%at%uctu%e an oe not aect the tana% 7 metho

to c%eate etination %ee%ence o% ue in 7 application, it will not aect coe inte%ope%abilit). The othe% veno% 

implementation will me%el) %eGui%e the c%eation o all ull) Gualiie etination an loe the avanta*e lite above.

Tempo%a%) Gueue an tempo%a%) topic a%e a pecial t)pe o etination that i onl) available o% the lietime o the

eion. Tempo%a%) Gueue a%e alwa) acceible to the application that c%eate them, but the) a%e not i%ectl)acceible b) an) othe% application. The onl) wa) application that i not c%eate the etination can acce tempo%a%)

etination i th%ou*h a %ee%ence %eceive 8conume %om the p%ouce%. The p%ouce% can allow the conume% to

w%ite to a tempo%a%) etination the) c%eate b) ain* the tempo%a%) etination name to the %epl) iel in the

p%ouce mea*e 8ee ection J3.&.1. 7?epl)To Heae% $ielK.

Thee tempo%a%) etination a%e meant to ope%ate a pa%t o a %eGuet"%epl) mea*e inte%action. t i impo%tant to

note that thi oe not impl) that inte%action mut be )nch%onou. n act, a)nch%onou %eGuet/%epl) i the

%ecommene mechanim o% application to ue. Althou*h it oe not appl) to all ituation, a)nch%onou

%eGuet/%epl) p%ovie *%eatet th%ou*hput o% %eGuet/%epl) mea*e p%ocein*.

Dith a)nch%onou %eGuet/%epl) it i poible to have the mea*e p%ouce% en multiple %eGuet without waitin* o% 

the %epl). The %epl) can then be p%ocee a a epa%ate th%ea, eithe% b) manuall) ipatchin* the %eplie %om the

tempo%a%) etination, o% main* ue o the p%ee%%e callbac mechanim within 7. it i necea%) to co"o%inate

the %eGuet with the %epone, the p%ouce% coul mae ue o the co%%elation < 8ee ection J3.&.1.#

7Co%%elation< Heae% $ielK o% the 7 mea*e o% *%oup < 8ee ection J3.&.&.&  -ptional 7"<eine

P%ope%tieK.

t i not necea%) to c%eate a tempo%a%) etination o% eve%) %eGuet. t i %ecommene to limit the numbe% o 

tempo%a%) etination an to ipoe o them when the) a%e no lon*e% %eGui%e. a p%ouce% i toppe, all tempo%a%)

%eou%ce a%e immeiatel) %eleae b) 67.

t i ve%) impo%tant to note that the%e i no value in ettin* tempo%a%) topic to pe%it o% uin* a u%able ubc%ibe% 

a*aint a topic. The natu%e o a tempo%a%) etination i that it i %eleae i the%e i a ailu%e o the client, which coul

be a %eult o eithe% a client ailu%e o% a e%ve% ailu%e. ?e*a%le, the%e i no wa) to %econnect to the tempo%a%)

etination ate% the ailu%e ince it will be %emove a a %ee%ence a pa%t o the 7 peciication. t i impo%tant o% ei*ne% to p%ovie the coe o% a %et%) %eGuet a pa%t o the %eGuet/%epl) application ince the%e i no wa) o% 7 to

*ua%antee a %epl) th%ou*h tempo%a%) etination.

The%e a%e alo helpe% clae available with ava 7 to impli) %eGuet/%epl) eion. The two aitional helpe% 

clae a%e JGueue?eGueto%K an Jtopic?eGueto%K.

3#

Page 39: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 39/90

TC- 67 et P%actice

• %emporar destination is a special tpe of destination that is onl a#aila'le

for the lifetime of the session0 ho created that destination.

• %emporar destinations are meant to operate as part of a re6uest)repl

message interaction

• %emporar 6ueues are alas accessi'le to the application that created

them0 'ut the are not directl accessi'le ' an other application. %he

onl a applications that did not create the destination can access

temporar destinations ;ith restriction that the can onl create

producers and not consumers< is through a reference recei#ed from the

producer. %he producer can allo the consumer to rite to a temporar

destination the created ' adding the temporar destination name to the

repl 8eld in the produced message

7ain ie%ence between tempo%a%) an )namic etination a%e a ollow:

Te#porar estinations na#ic estinations

Tempo%a%) etination a%e pa%t o 7peciication

<)namic etination a%e one o the pecial eatu%e p%ovie b)TC- 67 an a%e not pa%t o 7 peciication

 Acce cont%ol oe not cont%ol the abilit) o anapplication to c%eate tempo%a%) etination

 Application can c%eate a )namic etination i the Gualiiepa%ent8 i al%ea) eine in the coni*u%ation ile.

Tempo%a%) etination i %emove %om the 67when the application c%eatin* that etination itoppe

<)namic etination i %emove %om 67 when the) a%e no%eceive% on that etination an the%e a%e no penin* mea*ein the etination.

-nl) the application that c%eate the tempo%a%)etination, can %eceive mea*e %om it 8i.e canubc%ibe to the etination

-nce )namic etination i c%eate, an) application with p%ope% acce cont%ol can %eceive mea*e %om it 8i.e. can c%eateubc%ibe% on that )namic etination

,. 6ueue Bro/ser 0sage7 uppo%t Gueue b%owin*. Thi i a eatu%e whe%e the mea*e in the Gueue can be int%opecte without actuall)

p%ocein* 8conumin* them %om the Gueue. Thi allow the evelope% to mae eciion on how to p%oce cu%%ent

Gueue mea*e, bae on othe% mea*e u%the% own in the Gueue. $o% e'ample, the%e ma) be eve%al o%e% 

mea*e in the Gueue, each with a ie%ent Guantit). The application ma) want to p%oce o%e% to enu%e the%e a%e

no pa%tial hipment. Thi i poible th%ou*h the Gueue b%owe%. The application will b%owe the Gueue to ee how

man) o%e% can be p%ocee until the ne't o%e% will %eult in a pa%tial hipment. The conume% application can then

p%oce that numbe% o o%e%. At that point, it can a*ain b%owe the Gueue o% an) o%e% that e'actl) matche the

%emainin* invento%) 8o% mall o%e% that cumulativel) match invento%). t can then conume the Gueue a*ain, la**in*

all othe% o%e% a baco%e%, e'cept the o%e% 8o% cumulate mall o%e% that completel) %ain invento%).

t i impo%tant to note that o% calin* pu%poe, 67 uppo%t a uniGue capabilit) o %outin* Gueue. Iueue b%owin* i

onl) uppo%te on the actual Gueue, an not the %oute Gueue pa%ticipant.

67 alo uppo%t the uniGue capabilit) o )namic Gueue b%owin*. The Gueue b%owe% metho can )namicall)

%eceive new mea*e that a%e ae to the Gueue. the Jha7o%e6lement8K metho o the b%owe% enume%ation

%etu%n ale the application can wait an t%) the enume%ation a*ain becaue, behin the cene, 67 Gue%ie the Gueue

eve%) ! econ o% an) new mea*e. An e'ample o thi capabilit) i inclue in the 67 ample p%o*%am that a%e

it%ibute with 67.

39

Page 40: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 40/90

TC- 67 et P%actice

t i impo%tant to note that Iueue %owe% can alo be ue in conunction with electo% unction. $o% mo%e etail on

electo% unction pleae %ee% to ection J3.&.3 7ea*e electo%K.

• ueueroser allos the message in the 6ueue to 'e introspected ithout

actuall processing ;consuming< them from the 6ueue.

• ueue 'rosing is onl supported on the actual 6ueue0 and not the routed

6ueue participants.

• EMS supports 6ueue 'rosing for dnamic 6ueues in addition to static

6ueues.

,1 Secure Client ConnectionsConnection to the 67 aemon %eGui%e authentication. ae on the ue% c%eential, acce to Gueue an

aminit%ation unction a%e *%ante. The ollowin* outline the authentication capabilitie o 67:

,1' In%rastructure +ut!entication-ne o the onl) ecu%it) %ee%ence in 7 i the concept o authentication. Dhen a connection i c%eate with the

Jc%eateConnection8K metho, 7 peciie a metho that uppo%t pain* imple ue%name 8p%incipal name an

pawo% c%eential to the application. -n a wie"*%ain level, it i poible o% 67 to tu%n on o% o client

authentication. t i not %ecommene to tu%n o authentication.

the c%eential a%e inco%%ect, an e'ception i th%own an the application will ail to bin to the 7 in%at%uctu%e. the

c%eential a%e ve%iie, the application *ain acce to the in%at%uctu%e. 5ainin* acce to the in%at%uctu%e oe not

*ua%antee acce to etination.

=aliation o the c%eential i pe%o%me in one o th%ee poible wa):

=aliation with the ue%name an pawo% that a%e to%e locall) a pa%t o 67.

=aliation with the )tem ue%name an pawo%.

=aliation th%ou*h an F<AP bin with the ue%name an pawo% 8F<APv& an F<APv3

The 67 ue%name an pawo% local ata to%e i ine o% mot client to ue in tetin* an evelopment, but the

)tem o% F<AP ve%ion a%e %ecommene o% p%ouction. The local 67 ata to%e oe not eno%ce pawo%

a*in*, a %eGui%ement o% ome cutome%. Thi can be implemente at the )tem o% F<AP level.

67 alo uppo%t the concept o ue% *%oup. t i avie that ue% be aociate with *%oup ince thi impliie

aminit%ation. 5%oup ino%mation can alo be e't%acte %om e'te%nal F<AP i%ecto%ie.

Dhen a pawo% i ent to the 67 in%at%uctu%e, the pawo% i obucate o that it oe not appea% a a plain"

te't pawo% in a TCP ump o% t%ace.

t i alo poible to allow ue% to connect to the 67 in%at%uctu%e without a ue%name an pawo%. The) will be

connecte a a ue% name Janon)mouK. Thi oe not mean that the) will have acce to etination. The

aminit%ato% mut till p%ovie acce autho%it) o% thi uniGue ue% <.

Pleae %ee% to the TC- 67 e%; 5uie o% mo%e etail on ettin* up ue% an e'te%nal ata to%e %ee%ence.

40

Page 41: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 41/90

TC- 67 et P%actice

• EMS allos administrator to de8ne users and groups hich are alloed to

connect to particular EMS ser#er.

• Nalidation of credentials in performed using 3 as O locall stored 8le0

sstem username and passord0 #alidation through =-!.

,1* +d#inistrator +ut!entication and +ut!ori8ation

 Aminit%ato% a%e a pecial cla o ue%. The%e a%e th%ee clae o aminit%ation ue% with 67:

The uniGue JaminK ue% < that i pa%t o 67.

pecial *%oup o aminit%ato% c%eate b) JaminK.

T)pical application ue% with limite aminit%ation p%ivile*e.

 A pecial JaminK ue% i pa%t o the 67 e%ve% an i the eGuivalent to J%ootK in 2E. ) eault, the amin ue% ha

no pawo% ai*ne when 67 i i%t intalle. The amin ue% cannot be elete. Pe%miion an acce cont%ol

cannot be alte%e o% the JaminK ue%. Aminit%ato% p%ivile*e a%e %elate to the coni*u%ation an etup o the 67

e%ve% %athe% than acce to the e%ve% %om an application that %eGui%e acce to the 7-7 in%at%uctu%e.

The JaminK ue% can alo *%ant application ue% 8p%incipal acce to a pecial *%oup: JSaminK. An) ue% in thi

*%oup will be *%ante ull JaminK ue% p%ivile*e. t i not *ene%all) %ecommene that client ue thi eatu%e, an onl)

JaminK houl be ai*ne to *%oup JSaminK.

n aition to the JaminK ue% an JSaminK *%oup, no%mal ue% can be *%ante ce%tain amin pe%miion. The%e a%e

&4 ine"*%ain aminit%ation pe%miion that can be ai*ne to iniviual ue% o% *%oup.

 Aminit%ation p%ivile*e inclue:

=iew ipla) ino%mation with %e*a% to acce cont%ol lit, etination, ue%, *%oup, acto%ie, mea*e,

%oute an e%ve%.

hutown the e%ve%.

Chan*e Abilit) to chan*e, elete o% a: e%ve%, %oute, acto%ie, acce cont%ol lit, an connection.

<elete etination.

7oi) etination.

 All aminit%ation pe%miion.

 Aminit%ation pe%miion o% ue% can be ai*ne *loball) o% the enti%e e%ve%, o% a*aint peciic ull) Gualiie o% 

wilca% etination. A*ain, ca%eul conie%ation o etination name o% both topic an Gueue will impli) the

numbe% o i%ective that a%e %eGui%e o% cutome% to c%eate etination"level aminit%ation pe%miion.

The%e i a hie%a%ch) o pe%miion available o% the *%antin* o aminit%ation pe%miion. The hi*het level i the

JaminK ue% an JSaminK *%oup. eneath thi a%e the aminit%ato% *%oup o% ue% that can have a ve%) ine"*%ain

%et%iction on the aminit%ation capabilitie within the enti%e e%ve%. $u%the%mo%e, aminit%ation pe%miion can be

*%ante to peciic etination o% *%oup o etination %ee%ence with wilca%.

41

Page 42: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 42/90

TC- 67 et P%actice

• - special Padmin/ user is part of group PQadmin/ and is de8ned ' default

as part of EMS installation. -dmin user can not 'e deleted as ell as

permissions and access control can not 'e altered for this Padmin/ user.

• %he 4admin user can also grant application users ;principals< access to a

special group@ 4Qadmin. -n user in this group ill 'e granted full

4admin user pri#ileges.

• -dministration permissions for users can 'e assigned glo'all for the

entire ser#er0 or against speci8c full 6uali8ed or ildcard destinations.

,1, +pplication +ut!ori8ation

autho%i@ation i enable, an the application ha authenticate itel to the 67 e%ve%, the%e i till etination"level

acce cont%ol that i enable b) the aminit%ato% to %et%ict application an thei% acce to etination.

a etination i labele Jecu%eK then the ue% 8p%incipal i %et%icte to the etination pe%miion ai*ne b) the

aminit%ato% o% that ue% to the etination. A*ain, wilca% an a well"thou*ht"out namin* cheme will *%eatl)

impli) the c%eation o the ue%"level etination acce cont%ol. The etination cont%ol inclue:

?eceive 8Gueue ubc%ibe 8topic conume mea*e.

en 8Gueue Publih 8topic p%ouce mea*e.

%owe onl) o% Gueue.

<u%able c%eate u%able topic ubc%iption.

Thi will allow ine"*%ain cont%ol ove% etination at an application ue% 8p%incipal level.

<)namic etination will inhe%it the autho%i@ation an acce cont%ol ino%mation o the pa%ent etination. $o% 

e'ample, i onl) ubc%ibe pe%miion wa *%ante to topic [email protected], then the )namic topic [email protected] woul

alo onl) have ubc%ibe pe%miion o% the p%incipal that wa authenticate o% the pa%ent Gueue. Pleae %ee% toection J3.4 Tempo%a%), <)namic an tatic <etinationK o% mo%e etail an beneit o% )namic topic.

 Autho%i@ation alo applie to %oute. 7ea*e cannot move on a etination %om one e%ve% to the anothe% e%ve% via

a %oute, unle the ta%*et e%ve% alo ha pe%miion to %eceive mea*e on the etination a eine b) acce

cont%ol lit o% the etination.

 Autho%i@ation alo applie to b%i*e. 7ea*e cannot move %om one etination to anothe% via a b%i*e, unle the

ta%*et etination alo ha pe%miion a eine b) the application; authenticate p%incipal. $o% mo%e etail on

etination b%i*e pleae %ee% to ection J4.4.& <etination %i*in*K.

• =estination le#el authentication is performed onl if the destination has

propert Psecure/ and the authentication is ena'led for the EMS ser#er.• =namic destinations ill inherit the authori,ation and access control

information of the parent destination.

• -uthori,ation applies to 'ridges as ell as routes.

4&

Page 43: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 43/90

TC- 67 et P%actice

,1- EMS 9outing +ut!entication and +ut!ori8ation

6ach e%ve% that i connecte b) a %oute lin mut have a uniGue name aociate with the e%ve%. Thi e%ve% name

i ue to authenticate the e%ve% to anothe% e%ve% o% pu%poe o %outin*. 6ach e%ve% mut have a ue%name ent%)

that co%%epon to the %emote e%ve% name. A pawo% i alo %eGui%e o% the %oute to be etablihe.

• =estination le#el access control also applies to routed EMS ser#er.

• -fter the route is esta'lished0 administration for the route is simpli8ed '

the fact that the route partner acts as if it as an application)le#el

connection ith regard to access control and permissions. %he routed link 

makes use of the route partner/s ser#er name and passord for

authentication and authori,ation.

,1. 0se o% SS: and +ut!entication /it!in EMS

Thi topic ha al%ea) pa%tiall) been cove%e in ection J 3.&. 7ea*e 6nc%)ptionK. Pleae %ee% to that ection o% 

mo%e etail.

• EMS supports to implementations of SS. %he default &penSS *SSE

implementation is shipped ith the product. EMS also supports Entrust $.10

'ut this re6uires the purchase of separate licenses from Entrust. It is also

important to note that if the EMS infrastructure is used in a .Det

en#ironment there is no support for SS.

The F c%eential a%e to%e in E.!09 ce%tiicate. The ce%tiicate can be %ee%ence %om to%a*e a eithe%

<6? o% P67 encoe.

PCL

PCL1&

ava e)to%e 8onl) client ce%tiicate

6nt%ut to%e 8onl) client ce%tiicate

 A e%ve% can be et up to communicate ove% F an non"F %om the ame 67 aemon. Thi accomplihe b)

coni*u%in* the F an non"F communication ove% ie%ent ocet connectionM which i accomplihe th%ou*h

the coni*u%ation o the JlitenK option in the 67 aemon coni*u%ation ile. The eault non"F communication ha a

liten with a imila% ?F: Jtcp://&&&K. $o% F communication, anothe% liten i ae to the coni*u%ation, but the

?F i ie%ent, o% e'ample: Jl://&43K.

The 67 aemon uppo%t the coni*u%ation o eve%al F"%elate pa%amete%. The%e a%e two et o pa%amete% o% 

F that can be coni*u%e in the e%ve%. The i%t et i the F pa%amete% aociate with the $ault"Tole%ant

communication an i*nalin* between the 67 <aemon $ault"Tole%ant e%ve% pai% 8ee ection J4.3 <ei*n o% $aultTole%anceK o% mo%e etail on $ault Tole%ance. The econ et o F pa%amete% i ue o% client connection 8which

a%e alo ue o% %outin* between 67 aemon, ince the %oute connection act a a %emote client connection,

e'cept that the F pa%amete% a%e pa%t o the %oute coni*u%ation %athe% than coni*u%e th%ou*h the application.

The 67 e%ve% 8aemon coni*u%able pa%amete% inclue:

43

Page 44: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 44/90

TC- 67 et P%actice

<iie"Hellman e) t%en*th " Dhen it i not poible to ue e'po%t"*%ae ciphe% uite, <"H can be ue o%

ne*otiatin* )mmet%ic e) e'chan*e 8not o% authentication. The t%en*th o the e) can be peciie in the

67 aemon coni*u%ation ile.

F Ciphe% Authentication i accomplihe uin* P, but thi i a ve%) p%ocein*"intenive wa) to enc%)pt

mea*e, the%eo%e P i not ue be)on authentication an ne*otiation o a e) o% ue with the lep%ocein* intenive )mmet%ic e) ciphe%. -nce authentication ha occu%%e, an a ecu%e )mmet%ic e)

ha been ne*otiate, eve%al )mmet%ic e) al*o%ithm a%e uppo%te to actuall) pe%o%m channel enc%)ption.

t i poible to peci) the ciphe% that a%e available o% ue with F an the o%e% o p%ee%ence. Pleae %ee% 

to the TC- 67 e% 5uie o% etail on the uppo%te )mmet%ic ciphe%.

F ?ene*otiation F oe not ue the ame )mmet%ic e) o% ciphe% o% the enti%e lietime o the F

connection. t mut be chan*e on a %e*ula% bai. The %ene*otiation can be t%i**e%e eithe% b) tie o% the

numbe% o b)te t%eame ac%o the TCP connection. The 67 e%ve% e'poe both o thee a tunable

pa%amete%. Thi allow aminit%ato% to et thee F pa%amete% to match the client; ecu%it) policie. )

eault, the time i 1! econ an the t%eam i 4b.

F Client Authentication All client mut authenticate the e%ve%, but it i optional to o%ce the client to

authenticate to the 67 e%ve% 8aemon. 67 uppo%t enablin* client authentication a pa%t o the F

p%otocol ne*otiation. thi i not eno%ce, the 67 ue%name pawo% i ue to authenticate the client

th%ou*h the tana% 7 JConnection$acto%).c%eateConnection8K metho. F client authentication i

enable, the client < can be e't%acte %om the E.!09 ce%tiicate 8ee ection J 3..!e o F an

 Authentication within 67K o% mo%e etail, but it i till necea%) to pa the pawo% a pa%t o the

connection initiation.

F =eno% A mentione above 67 uppo%t -penF 6 an 6nt%ut .1 o% hi*he%.

F e%ve% entit) t i necea%) to to%e the e%ve%; E.!09 ce%tiicate an e) on the hot. The 67

e%ve% i coni*u%e to point to the location o the ile. Thee ile a%e alo enc%)pte. The e%ve% ec%)pt the

ile uin* a pawo%. Thi pawo% can be p%eente at the time the 67 aemon i ta%te, o% it can be

ave in an obucate o%mat in the 67 aemon coni*u%ation ile. e%ve% ue% n man) cae, i a common Ce%tiicate Autho%it) 8CA i ue to i*n the e%ve% 8aemon

ce%tiicate, the i*nin* Ce%tiicate Autho%it) ce%tiicate i available in the JS?6OH-76/lib/ecu%it)/cace%tK ile.

a CA wa ue to i*n the e%ve% ce%tiicate that i not pa%t o the tana% ava it%ibution, it i poible to

%ee%ence the %eGui%e CA c%eential ino%mation th%ou*h the 67 e%ve% coni*u%ation ile.

?anom 2umbe% The e*%ee o J%anomneK will aect the level o ecu%it) ao%e th%ou*h F. A

imple %anom unction oe not *ene%ate t%ul) %anom numbe% in the c%)pto*%aphic ene. ome ope%atin*

)tem p%ovie a pecial aemon that *ene%ate c%)pto*%aphicall) acceptable %anom numbe%. Thi i the

6nt%op) 5athe%in* <aemon 8e*. Je*K i available, the 67 coni*u%ation can be et up to point to thi

aemon an mae ue o Jt%on*e%K %anom numbe%.

67 alo uppo%t ebu**in* an t%acin* o the F ne*otiation. Thi i ve%) impo%tant when i%t t%)in* to coni*u%e

an et up the 67 in%at%uctu%e. Thee t%acin* pa%amete% a%e pae at ta%tup on the comman line. Pleae %ee% 

to the TC- 67 e% 5uie o% mo%e etail.

Coni*u%in* the 67 e%ve% i onl) hal the eGuation. The client application alo %eGui%e etup to pa%ticipate in the F

communication. The pa%amete% a%e a ubet o the pa%amete% ec%ibe above. The%e a%e th%ee wa) to accomplih

thi:

in* a 2< call to Connection $acto%) obect. Thi can be accomplihe b) uin* the 67 aminit%ation

inte%ace o% manual eitin* o the %elevant acto%) ile to peci) the %eGui%e F pa%amete%.

44

Page 45: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 45/90

TC- 67 et P%actice

in* a cont%ucto% o% the %elevant topic o% Gueue TC- Connection $acto%) cla.

in* the JTibmFK helpe% cla.

 A alwa), o% po%tabilit), the 2< looup an coni*u%ation i the %ecommene p%ouction mechanim o% client"ie

F coni*u%ation.

• - ser#er can 'e set up to communicate o#er SS and non)SS from the

same EMS daemon using multiple Plisten/ parameters inside Pti'(msd.conf/

8le.

• EMS pro#ides con8guration parameters for SS communication 'eteen

fault)tolerant pair of EMS ser#ers as ell as for communication ith

clients.

• %he client applications also re6uire setup to participate in the SS

communications ith EMS ser#er.

,5 3"I :oo$up

The ue o 2< looup o% connection acto%), topic %ee%ence an Gueue %ee%ence i the %ecommene mechanim

o% ue in p%ouction envi%onment 8with the e'ception o )namic etination ee ection J 3.4 Tempo%a%), <)namic

an tatic <etinationK. Dhen the 67 e%ve% a%e et up an aminite%e, the ino%mation i available a %ee%ence

ata that i available to the application th%ou*h tana% 2< call to the 67 e%ve%. The 67 e%ve% uppo%t

2< bin to %et%ieve ata.

$o% 2< to ope%ate, it %eGui%e eve%al )tem p%ope%tie to be et into a hah table that %ee%ence the veno%; initial

conte't acto%) an the ?F to connect to the 2<"compliant ata to%e. $%om thi ino%mation the client application

can c%eate a 2< initial"conte't obect that can be ue to %et%ieve conte't acto%), Gueue an topic %ee%ence.

67 uppo%t ecu%e 2< looup b) uin* F. Thi i accomplihe b) ettin* up the F envi%onment p%ope%tie.

7o%e etail can alo be oun in the TC- 67 e%; 5uie.

67 alo uppo%t ault"tole%ant looup when 67 i ue a the ault"tole%ant 2< ata to%e. ?ee%ence to the

e%ve% pai% i a ec%ibe o% the 7 application connection 8ee ection J3.10 Client $ault Tole%anceK.

t i poible to to%e an %et%ieve %ee%ence obect %om thi%"pa%t) 2<"uppo%te to%a*e )tem, incluin* F<AP,

?7 o% ile. nlie 2< acce via the 67 aemon, the ault"tole%ant looup o% F connection i not available with

thee thi%"pa%t) 2< ata to%e. The%e a%e two metho o to%in* ino%mation in thee ata to%e. 6ithe% a ?F

%ee%ence to the 67 2< ata to%e o% a local %ee%ence can be to%e in the thi%"pa%t) )tem. $o% mo%e etail,

pleae %ee% to the TC- 67 Application nte*%ation 5uie.

• Rse of *D=I for connection factor and destinations is recommended for

production en#ironment.

• EMS supports secure *D=I lookups using SS as ell as fault)tolerant

lookups hen EMS is used as fault)tolerant *D=I data store.

• EMS supports third)part *D=I0 including =-!0 +MI or 8les.

4!

Page 46: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 46/90

TC- 67 et P%actice

,; &or$ing /it! TransactionsThe%e a%e two t)pe o t%anaction that a%e uppo%te b) 7, eion 8ome lite%atu%e %ee% to thi a mea*e

t%anaction an it%ibute t%anaction. The%e i alo the concept o compenatin* t%anaction.

• EMS supports one phase ;session< as ell as distri'uted transactions.

• It is important to note that the transactional commit;< method does not

cause *MS consumers to send message acknoledgements if 

CIED%B-CGD&E=EMED% mode is ena'led for the session. It is still

necessar to manuall acknoledge the messages0 or the ill 'uild up in

the EMS daemon.

eion t%anaction a%e p%ovie a a mechanim to allow t%anactional b%acetin* a%oun a *%oup o mea*e. The

t%anaction can be %om a enin* eion to the 67 aemon o% %om the 67 aemon to a %eceivin* eion.

$o% a enin* eion t%anaction, an application initiali@e a eion to the connection inicatin* the eion i to be

t%anactional 8b) ettin* the i%t eion a%*ument to t%ue. $%om then on, all mea*e that a%e ent a%e conie%e

pa%t o a in*le t%anaction until eithe% a commit8 o% %ollbac8 metho i calle on the eion. the *%oup o mea*ei committe, the) a%e then available to be conume %om the 67 aemon. the) a%e %olle bac 8o% the commit

ail, the) a%e eentiall) elete. Ate% the commit o% %ollbac, a new t%anaction i then automaticall) c%eate. The

numbe% o mea*e that a%e inclue in the t%anaction ha no limit. The cu%%ent t%anaction i cloe an a new

t%anaction ta%te with the commit o% %ollbac metho bein* e'ecute.

t i alo poible to have %eceive% eion t%anaction. n thi cae, a t%anacte conume% i c%eate a*aint a

eion that a above wa initiali@e a a t%anacte eion. The %eceive% application conume mea*e %om the

67 aemon. the%e i a %ollbac metho e'ecute, then the mea*e a%e th%own bac in the Gueue. At thi point,

anothe% %eceivin* t%anaction ta%t an the mea*e will be %eelive%e with the %eelive%) la* et 8ee ection

J3.&.1.10 7?eelive%e Heae% $ielK o% etail.

t i alo poible to b%acet a mea*e %eceive an a mea*e en in a in*le t%anaction. Thi i accomplihe b)initiali@in* a p%ouce% an conume% a*aint the ame t%anacte eion, an then conumin* a mea*e, then en

a mea*e an then committin* the t%anaction. Thi t)pe o t%anaction i ta%*et at )nch%onou %eGuet/%epl)

inte%action, whe%e the %eceipt o one mea*e an the enin* o the %epl) a%e pa%t o the ame t%anaction. t i not

%ecommene o% a)nch%onou %eGuet/%epl).

67 alo uppo%t b%i*in* a pa%t o the enin* t%anaction. Dhen mea*e that a%e pa%t o the t%anaction a%e alo

b%i*e, then, i the commit i ucceul to the 67 aemon, then the mea*e a%e move to the b%i*e location.  

the commit ail, o% the%e i a %ollbac, the mea*e o not move to the b%i*e location. n aition, i the movement

o mea*e to the b%i*e location ail, the commit i conie%e unucceul, an the t%anaction i %olle bac.

8ee ection J4.4.& <etination %i*in*K o% mo%e etail on etination b%i*e.

eion t%anaction a%e alo i*niicant u%in* 67 aemon ailove%. a new t%anaction ha ta%te 8i.e. at leat one

mea*e o a t%anaction ha been elive%e to the 67 aemon, an the e%ve% ail ove% beo%e the commit, the

commit will ail an the t%anaction will be %olle bac. The eion alo th%ow a peciic e'ception in thi cena%io, the

 ava'.m.T%anaction?ollebac6'ception 8no%mall) a aile commit woul th%ow a 76'ception e'ception. t i

%ecommene that application t%ap thi pecial e'ception an the client application houl attempt to %een the

mea*e to the 67 aemon. All mea*e that we%e ent to the e%ve%, that we%e then %olle bac becaue o the

ailove% will be la**e a %eent when the) a%e ent a*ain b) the client.

• It is possi'le to ha#e sender session transactional.

4

Page 47: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 47/90

TC- 67 et P%actice

• It is possi'le to ha#e recei#er session transactional.

• It is also possi'le to 'racket a message recei#e and a message send in a

single transaction.

• EMS also supports 'ridging as part of the sending transaction.

67 alo uppo%t it%ibute t%anaction, which a%e ometime %ee%%e to a two"phae commit. Thi uuall)

involve an e'te%nal t%anaction monito%. <it%ibute t%anaction a%e mo%e %obut than eion t%anaction. A eion

t%anaction onl) ha a commit8 an a %ollbac8 metho. <it%ibute t%anaction th%ou*h 67 uppo%t the ull EA

inte%ace an aociate obect an metho. An e'ample ma) %eGui%e the co"o%ination o a 7 mea*e bein* ent

an a atabae w%ite. one ail the) both mut %oll bac. 67 uppo%t thi th%ou*h TA 8ava T%anaction AP an a

tana% EA"compliant t%anaction mana*e%. 67 uppo%t the tana% TA EA AP obect:

EAConnection

EAeion

EAConnection$acto%)

EAIueueConnection

EAIueueConnection$acto%)

EAIueueeion

EATopicConnection

EATopicConnection$acto%)

EATopiceion

6ach o thee obect ope%ate lie thei% non"EA eGuivalent.

Dhen monito%in* the 67 e%ve%, the EA t%anaction a%e la**e in the eion %epo%t. An EA acto%) can alo be et

up in the 67 aemon o% %ee%ence o% the %eGui%e connection acto%) th%ou*h a 2< looup.

t i impo%tant to note that the eion eine whethe% the application will emplo) t%anactional emantic. The%eo%e,

epa%ate eion houl be c%eate o% t%anactional conume% an p%ouce%.

• =istri'uted transactions through EMS support the full - interface and

associated o'(ects and methods. It re6uires third part - monitor.

,< Snc!ronous and +snc!ronous Interaction

T%aitionall), %ee%ence to )nch%onou communication an ?PC communication we%e ue inte%chan*eabl). n at)pical pee%"to"pee% a%chitectu%e, thi wa ine. Dith 7 the%e nee to be a itinction between the communication

level an the application level.

$%om an in%at%uctu%e pe%pective, 7 i an a)nch%onou communication moel. The p%ouce% an the conume% 

no lon*e% i%ectl) communicate. 7ea*e a%e ent in a to%e"an"o%wa% a%chitectu%e. Thi impliie the inte*%ation

moel %om the ol ?PC mechanim whe%e the%e wa a %eGui%ement o% each application to have i%ect communication

with each pee%. Dith 7, the p%ouce% en mea*e to the in%at%uctu%e with no nowle*e o the location o% the

4

Page 48: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 48/90

TC- 67 et P%actice

availabilit) o the conume%8. The%eo%e, %om a communication pe%pective, 7 i an a)nch%onou mea*in*

technolo*).

?e*a%le o the mea*in* la)e%, it i till poible to implement a )nch%onou %eGuet/%epl) p%ocein* moel with a

7 p%ouce%. A p%ouce% can en a mea*e an bloc an wait o% a %epl). Althou*h the mea*in* la)e% i

a)nch%onou, the application can till be )nch%onou. $o% e'ample with topic, thi %eGuet"%epl) inte%action can be

implemente with the Topicubc%ibe%.%eceive8 metho 8the%e i alo the eGuivalent o% Gueue, whe%e the %epl)

mea*e i ipatche manuall), an the metho bloc until a %epl) i %eceive. t i alo poible to ue the 7

Topic?eGueto% helpe% cla. To ull) implement the %eGuet"%epl) moel, 7 alo p%ovie the 7?epl)To heae% 

8ee ection J3.&.1. 7?epl)To Heae% $ielK an tempo%a%) etination 8ee ection J3.4 Tempo%a%), <)namic

an tatic <etinationK.

t i alo poible to ue thi ame p%ocein* moel o% non"%eGuet/%epl) conume%. A mea*e conume% i c%eate

a*aint the eion, an mea*e a%e manuall) ipatche, but no %epla) i ent to the p%ouce%. The coe woul be

imila% to:

estination destination = sessioncreateTopic(t!eTopic)

MessageConsu#er #sgConsu#er = sessioncreateConsu#er(destination)>connectionstart()>

/!ile(true)

?

Message #sg = #sgConsu#erreceive()>

Sste#outprintln(@9eceived #essageA @ #sg)>

7 alo uppo%t an a)nch%onou p%ocein* moel. 7ea*e can be elive%e to the etination, an then

automaticall) ipatche o% p%ocein* th%ou*h the Jon7ea*e8K callbac metho. Thi t)pe o p%ocein* i a puh

moel o publih"ubc%ibe. ?athe% than manuall) ipatchin* the mea*e with the JTopicubc%ibe%.%eceive8K

metho o% a J7ea*eConume%.%eceive8K, a mea*e conume% i %e*ite%e a*aint the 7 eion o% a peciicetination, an a litene% i c%eate a*aint the mea*e conume% that ipatche mea*e to the Jon7ea*e8K

callbac metho. The litene% i a non"aemon th%ea, o the callbac will %un o%eve% until the application i toppe

8i.e. the%e i no nee to have main8 hol ome in o loop o% th%ea oin8 to enu%e the application oe not en once

the a)nch%onou mea*in* i et up an the main metho complete what it nee to accomplih.

 An e'ample o a)nch%onou ipatch o mea*e in the conume% woul be a ollow:

estination destination = sessioncreateTopic(t!eTopic)

MessageConsu#er #sgConsu#er = sessioncreateConsu#er(destination)>

MsgConsu#ersetMessage:istener(t!is)>

connectionstart()>

- cou%e, the application; oute% public cla woul have to implement the 7ea*eFitene% inte%ace an anJon7ea*e8K metho. - cou%e it i poible to implement the Jon7ea*e8K metho in anothe% cla, an then pa

the intantiate obect to the Jet7ea*eFitene%8K metho. 2otice that the while"loop i no lon*e% %eGui%e. The

mea*e a%e now ipatche th%ou*h the non"aemon ipatche% th%ea. Thi ipatche% can be chan*e to a

aemon th%ea, but thi will %eGui%e ome cont%ol ove% the application to enu%e it oe not %each the en o the

Jmain8K metho, o% the application will en, an the non"aemon ipatche% will alo then e'it. ee ection J 3.10.3

Tibm -bectK o% mo%e etail on chan*in* to a non"aemon ipatche%.

4#

Page 49: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 49/90

TC- 67 et P%actice

t i impo%tant to note that until the Jon7ea*e8K metho %etu%n, the%e i no u%the% ipatchin* o mea*e o% 

p%ocein* 8i a in*le ipatche% i ue. The%eo%e, timel) %etu%n %om the callbac will imp%ove p%ocein*

pe%o%mance. t i alo poible to have Jon7ea*e8K o% it own th%ea. Thi will caue the callbac to immeiatel)

%etu%n. Howeve%, i auto"acnowle*e i et, then the 67 aemon will %emove the mea*e immeiatel), even i the

callbac ha not complete 8o% even aile to completel) p%oce the mea*e. A a %eult, it i %ecommene to

manuall) acnowle*e mea*e i th%eae callbac a%e ue a pa%t o the application ei*n.

t i %ecommene to c%eate all the a)nch%onou ipatche beo%e the connection th%ea i ta%te. 2o ipatchin*

%om the etination occu% until the connection a*aint which all the eion have been etablihe i ta%te.

The 7ea*eConume%.et7ea*elitene%8 metho c%eate it own ipatchin* th%ea, an the callbac %un in thi

th%ea. t i the%eo%e, poible to c%eate mo%e than one a)nch%onou mea*e ipatche% th%ea a*aint the ame

etination. The%e i little beneit in uin* thi o% topic etination ince the multiple th%ea will impl) p%oce the

ame mea*e multiple time, but the%e will be an application p%ocein* th%ou*hput pe%o%mance imp%ovement i the

etination i a non"e'cluive Gueue. Dith non"e'cuive Gueue, an) one conume% onl) p%ocee each mea*e

once, but it i poible to c%eate mo%e than one active conume% a*aint the ame Gueue etination. The%eo%e,

multiple litene% ipatchin* th%ea will p%ovie pa%allel p%ocein* o mea*e in a ahion imila% to havin* multiple

epa%ate application litenin* on the ame non"e'cluive Gueue 8ee ection K3.3.1.& calin* an Pe%o%mance Tunin*o 7 Iueue with 67K o% mo%e etail.

• EMS supports 'oth snchronous as ell as asnchronous mode of 

communication.

,'D Client 4ault Tolerance

The 67 e%ve% can be et up a a ault tole%ant *%oup 8ee ection J4.3 <ei*n o% $ault Tole%anceK o% mo%e etail.

n the event o a ailu%e o the 67 aemon, anothe% 67 aemon can be et up to automaticall) %ea the tate

metaata an the pe%itent mea*e ata %om the o%i*inal 67 aemon an tae ove% on it behal. no%tunatel),

the connection %om the client to the 67 aemon a%e tate"o%iente TCP connection. The%eo%e, it woul be

necea%) o% the client to iconnect an then %econnect to the new aemon. Dith 67, thi i not the caeM the AP

tae ca%e o thi on behal o the client. The client i not awa%e that the%e ha been a ailove% "" e'cept in the cena%io

whe%e a t%anaction wa ta%te but wa not committe beo%e the ailove% 8ee the p%eviou ection o% mo%e etail.

t i impo%tant to note that the $T aemon p%ocee that contitute the $T pai% mut ha%e the ame p%oce name.

 Althou*h the client a%e TCP/P tate"o%iente connection, client can t%anpa%entl) uppo%t 67 aemon ault"

tole%ant 8$T ailove%. Thi i accomplihe b) peci)in* a pecial ?F when etablihin* the connection. The ?F

eentiall) point to the two epa%ate 67 aemon $T e%ve% pai%. An e'ample o the ?F i a ollow:

@tcpAserverD'A55557tcpAserverD*A5551F

The ?F baicall) point to the two e%ve%, an thei% co%%eponin* connection po%t o% c%eation o the TCP connection

between the e%ve% an the client application. Dhen the client application ta%t, it attempt to connect to e%ve% in the

o%e% peciie in the ?F. The e%ve% bin to the i%t ucceul connection. t will ta) connecte until the%e i a

ailu%e. At thi point, it a*ain attempt to c%eate a connection in the o%e% o the ?F. Connection attempt a%e not

%et%icte to a in*le %et%). t i poible to peci) the numbe% o %et%) attempt an the ela) between the %et%)

attempt. ) eault, the client will ta) active o% app%o'imatel) 10 econ t%)in* to %econnect.

49

Page 50: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 50/90

TC- 67 et P%actice

,'D' Client 4ault Tolerance and ela in 4ailover 

10 econ i not enou*h time o% the ault"tole%ant ail ove%, the connection %et%ie an ela) between %et%ie can be

moiie to uit the time %eGui%e o% %econnection. Thi i ve%) impo%tant i HA ha%wa%e clute% a%e ue, whe%e the

ailove% can poibl) t%etch to minute %athe% than econ. ?econnection ela) i alo impo%tant when the%e a%e man)

connection to the ame 67 aemon, an it ma) tae ome time o% them all to %econnect to the aemon ate% aailu%e.

The ela) between %et%ie an the numbe% o %et%) attempt a%e pa%t o the connection acto%) einition. The etail can

be eine in the 2< ata to%e, o% th%ou*h the manual c%eation o the connection acto%) obect.

The%e a%e th%ee wa) to peci) o% moi) the %et%) an %et%) ela) pa%amete% o% 2< %ee%ence to the connection

acto%):

The i%t mechanim i to mae ue o the TC- 67 Amin AP an the Connection$acto%)no cla. Thi

cla allow the application to c%eate o% alte% Connection$acto%) obect p%ope%tie in the 2< to%e 8i.e. the

67 e%ve% acto%) ino%mation to%e on i. $o% client ault tole%ance, the et?econnectAttemptCount8 an

et?econnectAttempt<ela)8 metho a%e the two %elevant metho that mut be calle to aut the time

allowe between the ailove%. Dhile thi i a eaible mechanim to aut the client %econnection, it maeue o the p%op%ieta%) TC- ava AP, an, the%eo%e, the coe woul not be po%table, althou*h it woul be

acceptable o% ue a a cutom aminit%ation application.

$o%tunatel), the %eGui%e pa%amete% a%e alo available th%ou*h eitin* the 67 e%ve%"%ee%ence Jacto%)K ile

8the eault i Jacto%ie.conK that i %ee%ence b) the 2< call to the 67 e%ve% to %et%ieve the connection

acto%) obect. The connection acto%) %ee%ence in the 67 aemon acto%) coni*u%ation ile can be

coni*u%e to inclue the J%econnectOattemptOcountK an the J%econnectOattemptOela)K p%ope%tie that will be

et automaticall) i the connection i etablihe bae on the 2< calle connection acto%) %ee%ence. Ate%

the ile a%e eite, it i necea%) to %eta%t the 67 aemon to %ea the new pa%amete%. Thi i the

p%ee%%e metho to aut the client %econnection pa%amete% o% connection to ault"tole%ant 67 aemon i

the chan*e a%e not to be ue until the ne't %eta%t o the aemon.

$inall), it i poible to moi) the acto%) %econnection ela) an attempt count value th%ou*h the CF

8Comman Fine nte%ace aminit%ation utilit). The ame pa%amete% a above a%e moiie, but the

coni*u%ation ile an the %unnin* aemon a%e both upate imultaneou. The%eo%e, the chan*e a%e

immeiatel) available to the ne't client connection that i etablihe to the aemon.

t i impo%tant to note, that thee chan*e o not aect connection that a%e al%ea) etablihe to the e%ve%. n

aition, the chan*e mut be mae to all 67 aemon an thei% %epective coni*u%ation ile i the) a%e actin* a

2< to%e o% the 7 connection acto%) ino%mation.

t i alo poible to moi) the client application to allow chan*e in the $T p%oce with %e*a% to %econnection ela)

an attempt count. the application p%o*%ammaticall) c%eate the connection acto%) without main* ue o 2<, it

ma) be necea%) to moi) the $T pa%amete% in the application. Thi ma) %eGui%e the ue o non"7"compliant

coe ince c%eation o the connection acto%) i veno%"peciic. A mentione eve%al time beo%e, the ue o 2<

call i the %ecommene mechanim ince it allow cent%al aminit%ato% coni*u%ation on behal o all client an

eliminate the nee o% an) veno% peciic"coe in the 7 application.

The%e a%e th%ee mechanim available to moi) the $T pa%amete% when manuall) c%eatin* the connection acto%) 8a

oppoe to callin* the obect %om 2<:

7oi) the Tibm obect beo%e c%eatin* the connection acto%) obect,

ettin* a ava )tem p%ope%t), eithe% th%ou*h the ava comman line, o% i%ectl) in the application,

!0

Page 51: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 51/90

TC- 67 et P%actice

C%eatin* a ava 7ap that contain the $T p%ope%tie, an pain* that 7ap a an a%*ument to the

JtibmConnection$acto%)K cont%ucto%.

To p%ovie the new client non"eault $T pa%amete% i impl) a matte% o moi)in* the JTibmK obect beo%e the

connection acto%) i c%eate. The ollowin* i an e'ample o the %eGui%e coe:

String reconnect(@'*7.DDDF)>

Tib#sset9econnect+tte#pts(reconnect)>

Connection4actor %actor = ne/ co#tibcotib#sTib#sConnection4actor(4Tserver09:)>

  2ote that the attempt count 81& an the ela) 8!000 m a%e a in*le t%in*. Thi i alo ie%ent %om the

%eGui%ement o% Foa alancin*, whe%e the met%ic pa%amete% i pae th%ou*h a 7ap a pa%t o the

TibmConnection$acto%) cont%ucto% 8ee the 67 F ample coe inclue with 67 o% mo%e etail.

t i alo poible to et thee value o% %econnection th%ou*h ava )tem P%ope%tie. n the coe, thi i

accomplihe uin*:

Sste#setPropert(Tib#sP9OP9ECO""ECT+TTEMPTS7F'*7.DDDF)

t i alo poible to p%ovie the ame ava )tem P%ope%tie %om the ava comman"line. Thi i ve%) impo%tant i 

)ou o not have acce to the ou%ce coe, uch a o% uine Do%. The comman line a%*ument i alo a JcleanK

mechanim o% p%oviin* the %eGui%e pa%amete% without moi)in* the ou%ce coe to inclue TC-"peciic

connection acto%) metho 8%ecall the connection acto%) i alwa) veno% peciic with 7. Dhile it mae the coe

cleane%, the ta%tup oe %eGui%e the ava )tem p%ope%t) pa%amete% to be inclue. The comman line a%*ument i a

bit ie%ent ince the i%t iel in the metho above i an 67 contant iel %ee%encin* a t%in*. The comman line

a%*ument in ava woul be:

 ava Ftibco#sreconnectatte#pts='*7.DDDF avaprogra#

The thi% option i to buil the p%ope%tie in a ava 7ap an then pa the 7ap a pa%t o the JtibmConnection$acto%)K

cont%ucto%. Thi i onl) available with 67 4.1 an above. A imple coe ample woul be:

Has!Map #props = ne/Has!Map()>

#propsput(Tib#s4+CTO9J9ECO""ECT+TTEMPTCO0"T7 ne/ Integer('*))>

#propsput(Tib#s4+CTO9J9ECO""ECT+TTEMPTE:+J7 ne/ Integer(.DDD))>

Connection4actor %actor = ne/ co#tibcotib#sTib#sConnection4actor(server09:7null7#props)>

Thi patte%n o c%eatin* a connection acto%) i imila% to the mechanim ue o% 2< connection, an Foa alance

connection 8pleae %ee% to ection J4.3.& Clute%in*K o% mo%e etail.

The e%ve% a%e alo coni*u%e to wait a ce%tain pe%io beo%e the client %ee%ence i %emove %om the bacup $T

e%ve%. The eault i 0 econ. Thi i the e%ve%; JtO%econnectOtimeoutK. t alo ma) nee to be inc%eae i the $T67 aemon pai% i in an active"active coni*u%ation an the ailove% time ma) be *%eate% than 0 econ. thi

e%ve% pa%amete% i not inc%eae, but the client ailove% tole%ance i inc%eae, the e%ve% ma) till %emove the client

%ee%ence %om the e%ve% metaata while the client i till t%anpa%entl) t%)in* to %econnect.

t i impo%tant to note that the client can %econnect to eithe% the o%i*inal 67 aemon o% the ailove% aemon. The client

will continue to t%) an connect, even i the%e i no p%ima%) o% bacup aemon available u%in* the %econnection

winow. Thi i impo%tant when HA 8Hi*h Availabilit) coni*u%ation a%e ue, an the ha%wa%e i ailin* ove%. n thi

cae the%e i no aemon available until the econa%) HA hot become available an ta%t the bacup 67 aemon.

!1

Page 52: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 52/90

TC- 67 et P%actice

• %o make use of EMS ser#er failo#er0 client applications need to use the

comma ;0< separated list of EMS ser#er R+s.

• EMS pro#ides #arious parameters for client applications to connect to

nel 'ecome primar EMS ser#er in case of failo#er such as)

FACTORY_RECONNECT_ATTEMPT_COUNT, FACTORY_RECONNECT_ATTEMPT_DELAY,

PROP_RECONNECT_ATTEMPTS. 

,'D* Client 4aultKTolerant State Transition Trapping

the client %econnection houl ail, 7 p%ovie an J6'ceptionFitene%K inte%ace that allow the client application to

t%ap the e'ception that i th%own ate% client ail to %e"etablih connection. the client application i w%itten to

implement the J6'ceptionFitene%K inte%ace, then it i poible to p%ovie an Jon6'ceptionK callbac that i e'ecute

when the connection i lot. Ain* an Jon6'ceptionK callbac metho to the client application an uin* the 7

connection cla metho Jet6'ceptionFitene%K %e*ite% the e'ception litene% to e'ecute the callbac metho. 2ow,

when the client connection ail to %econnect in the allotte time, the evelope% ha the oppo%tunit) to p%ovie cont%ol

ove% what i to happen ne't th%ou*h the callbac metho. An option ma) be to automaticall) t%) an c%eate a %eh

connection.

 An e'ample o uin* the e'ception litene% can be oun in the Jtibm7*Conume%.avaK e'ample p%o*%am that i

inclue with the 67 intallation.

The ame a)nch%onou e'ception mea*e %om the 7 connection can be ue to monito% the event o client

ailove% %om one $T 67 aemon to it pa%tne%. To enable thi %eGui%e the ettin* o a ava )tem p%ope%t). Thi i

available within the application th%ou*h the line 8which houl be place at he be*innin* o main8:

Sste#setPropert(@tibcotib#s%ts/itc!eLceptionF7FtrueF)>

 t can alo be et, a with all ava )tem p%ope%tie, %om the ava comman line, o% e'ample:

 ava Ftibcotib#s%ts/itc!eLception=trueF tib#sMsgConsu#er server @tcpAlocal!ostA5***7tcpAlocal!ostA5**-F

- cou%e, o% the monito%in* o $T ailove% event, the e'ception litene% mut alo be enable, an the callbac ae

to p%oce the ailove% event mea*e. t i alo impo%tant to note that the ava application mut implement

J6'ceptionFitene%K.

 A mentione in the p%eviou ection, the ue o comman"line option enu%e the ava Coe contain no TC-"

peciic implementation etail.

• If EMS client fails to connect to EMS ser#er after EMS ser#er failo#er0 it can

recei#e an e7ception if it has implemented PE7ceptionistener/ interface.

• Ena'ling a *a#a sstem propert 4ti'co.ti'(ms.ft.sitch.e7ception0 allos

client to monitor the e#ent of client failo#er from one % EMS daemon to itspartner.

,'D, Tib#s Obect

The JTibmK cla i a ve%) impo%tant obect in the 67 client implementation. t contain an eine man) o the

contant an )tem P%ope%tie ue b) the 67 client application. The JTibmK cla i pa%t o the

Jcom.tibco.tibmK paca*e. Thi paca*e p%ovie the clae o% F etup, aminit%ation with e'te%nal 2<, a well

a p%op%ieta%) contant uch a veno%"peciic 7ea*e p%ope%tie an othe%. 6entiall), JTibmK captu%e mot o 

!&

Page 53: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 53/90

TC- 67 et P%actice

the einition ue o% the TC- peciic implementation o the 7 client inte%action to the 67 in%at%uctu%e. Thee

inte%action, uch a connection acto%) implementation a%e not eine b) the 7 peciication.

The%e a%e man) mechanim available to moi) an coni*u%e thi obect. t i alo impo%tant to note that the%e a%e

ome aition to thi obect with newe% ve%ion o 67. The wa) to moi) o% inte%%o*ate thi obect inclue:

Contant a%e et bae on veno% peciic mea*e p%ope%tie 8ee ection J3.&.&.1 P%ovie%"peciic

P%ope%tieK o% mo%e etail,

Th%ou*h the e'plicit ue o acceo% o% mutato% metho 8ee ection J3.10.1 Client $ault Tole%ance an <ela)

in $ailove% K o% an e'ample,

The ettin* o ava )tem P%ope%tie, eithe% %om the ava comman line o% th%ou*h p%o*%ammatic einition

8ee ection J3.10.1 Client $ault Tole%ance an <ela) in $ailove% K o% an e'ample.

7oi)in* the JTibmK obect contant i%ectl).

6'ample o the ue o the JTibmK cla have been cove%e in the p%eviou ection that icue client ault

tole%ance.

t i impo%tant to note, that i )ou et p%ope%tie in a ava 7ap, an pa them to the connection acto%) cont%ucto%, the

contant in the JTibmK obect ma) not necea%il) be upate. An e'ample o thi can be oun in the p%eviou

ection.

The etail o thi cla can be oun in the HT7F ava<oc that a%e inclue with 67 intallation. t i impo%tant to

note that in man) cae the J*etK metho in thi cla will %etu%n a null o% 0 i the eault value i ue. Thi oe not

mean that the value i not et, me%el) that the inte%nal eault a%e ue. The eault value a%e oun in the ava<oc.

Thi obect p%ovie a *%eat eal o cont%ol o the inte%nal implementation o the client TC-"peciic implementation o 

the 7 peciication. Thi i not a TC- e'tenion to 7, me%el) the veno%"peciic implementation a allowe a

pa%t o the 7 peciication.

ome o the mao% capabilitie ao%e th%ou*h thi cla inclue:

?ee%encin* Foa"balance"moe met%ic pa%amete% 

?ee%encin* client connection an %econnection attempt count an ela) an actual count

?ee%encin* TC-"peciic 7 mea*e p%ope%tie

?ee%encin* the TC- e'tenion o% elive%) moe Gualit) o e%vice

?ee%encin* F etup an pa%amete%

?ee%encin* the ipatche% th%ea tatu 8chan*e %om non"aemon to aemon th%ea

?ee%encin* 7ea*e"peciic p%ope%tie an ata

?ee%encin* ocet en"an"%eceive bue% i@e 8not available o% all ope%atin* )tem

?ee%ence connection e%%o% callbac capabilit)

t i hi*hl) %ecommene that evelope% an a%chitect amilia%i@e themelve with the cla an it capabilitie an

inte%action, ince it contain the TC-"peciic 7 implementation capabilit) %ee%ence a allowe a pa%t o the 7

peciication.

!3

Page 54: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 54/90

TC- 67 et P%actice

• %he 4%i'(ms class is part of the 4com.ti'co.ti'(ms package. It contains

and de8nes man of the constants and Sstem !roperties used ' the EMS

client applications.

• It is important to note that if ou set properties in a *a#a Map0 and pass

them to the connection factor constructor0 the constants in the 4%i'(ms

o'(ect ma not necessaril 'e updated.

,'' PreKpac$aged TIBCO EMS +pplications

,''' 0sing EMS in B&

$o% mo%e etail, pleae %ee% to ection J<eplo)in* 67 with D !.K. Alo, pleae %ee% to the 7 Palette etail

oun in the TC- uine Do% ocumentation.

,''* 0sing EMS in +daptersTC- p%ovie man) C-T 8Common -"The"hel aapte%. 7ot o thee aapte% uppo%t eithe% 7 o% 

?ene@vou mea*in* capabilitie. t i impl) a matte% o chooin* an coni*u%in* the ei%e mea*in* t%anpo%t.

Thi coni*u%ation i accomplihe th%ou*h TC- Aminit%ato%, which manipulate an to%e the aapte% metaata

coni*u%ation ile.

Cutom aapte% can alo be c%eate uin* the TC- Aapte% <. The aapte% < eine A6E7F a the wi%e

o%mat o% 7 mea*e. Thi i eentiall) a 7 Te't 7ea*e that contain an E7F pa)loa. The pa)loa E7F

alo contain the A6 cont%ol ino%mation a E7F ta* 8ee ection J3.&.! 7ea*e Di%e $o%matK o% mo%e etail.

The ue o Aapte% < to c%eate aapte% oe not mae ue o the 7 AP, but the < alo p%ovie lib%a%ie o% 

t%acin*, ebu**in* Haw, metaata mana*ement, mea*e ve%iication an o%mat, etc, that a%e not available a pa%t o 

the 7 AP. The%eo%e, Aapte% < mae ue o the 67 in%at%uctu%e, but not the 7 AP.

t i alo impo%tant to now that the mea*e t%anpo%t an t%anpo%t coni*u%ation i c%eate outie o the <

aapte% application 8it oe have the acilit) to c%eate eve%)thin* in the application, but thi i not the %ecommene ue

in the c%eation o aapte%. All the t%anpo%t ino%mation i %ee%ence %om metaata that i %ea at application ta%tup.

The%eo%e, an) application w%itten with the Aapte% < can chan*e it t%anpo%t an t%anpo%t Gualit)"o"e%vice

impl) b) chan*in* the metaata without %ecompilin* the application.

• %IC& C&%S adapters as ell as custom adapters created using %IC& -dapter S=G 

can use %IC& EMS as transport.

,'', 0sing 9ende8vous over EMS and 9ende8vousEMS Bridging

The%e a%e two wa) to inte%act with ?ene@vou %om 67. The i%t mechanim allow ?ene@vou application tocommunicate i%ectl) with the 67 in%at%uctu%e. Thi i accomplihe b) uin* a pecial ?= t%anpo%t calle

Tib%v7T%anpo%t that i oun in the tib%vm.a%. The%eo%e, in aition to the othe% ?= a% ile. Thi mut be inclue

in the ?ene@vou application cla path.

t i impo%tant to note that onl) %eliable moe Gualit) o e%vice i uppo%te with the Tibv7T%anpo%t. Thi t%anpo%t i

alo onl) available o% ue with topic an not Gueue.

!4

Page 55: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 55/90

TC- 67 et P%actice

The econ alte%native o% communication uin* ?ene@vou i th%ou*h the 67 b%i*in* unction. %i*in* i

accomplihe i%ectl) th%ou*h the 67 aemon, an not th%ou*h a tanalone client application. 67 uppo%t

b%i*in* between not onl) Gueue an topic 8ee ection J 4.4.& <etination %i*in*K o% mo%e etail but between

67 an ?ene@vou an/o% ma%t ocet t%anpo%t. nlie the ue o the 7 t%anpo%t i%ectl) in the ?ene@vou

application, the b%i*e uppo%t all ?ene@vou Gualitie o e%vice an mea*in* pa%ai*m. All communication

between the 67 application an ?ene@vou i cont%olle completel) thou*h imple coni*u%ation an et up o the

67 aemon. 2eithe% the 7 no% the ?ene@vou application a%e awa%e that thi b%i*in* unction i occu%%in*.

$o% the b%i*in* to occu% with the p%ope% 67 etination 8Gueue o% topic, the ?ene@vou ubect name an 7

etination mut match. the%e a%e two etination with the ame name, then onl) one etination i allowe to have

b%i*in* enable.

%i*in* i unii%ectional. The b%i*e can be et up to en to, o% %eceive %om ?ene@vou. Thi can occu% 

imultaneoul) to the ame 67 etination, but mut be coni*u%e epa%atel). the ?ene@vou application i

w%itten in ava, then the%e houl be little iue with an) o the 7 mea*e t)pe 8ee ection J3.&.4 7ea*e

Pa)loa T)peK o% mo%e etail an etail about limitation when uin* othe% lan*ua*e binin*.

Pleae %ee% to the TC- 67 e% 5uie o% mo%e etail about the coni*u%ation o etination to uppo%t b%i*in*between 7 an ?ene@vou. n aition, pleae %ee% to J3.&.&.1 P%ovie%"peciic P%ope%tieK o% mo%e etail about

7 p%ope%tie an ?ene@vou mea*e an pa)loa mappin*.

• &ne a to interact ith +ende,#ous from EMS is using %i'r#*MS%ransport that is

found in the ti'r#(ms.(ar. %his supports onl relia'le mode 6ualit of ser#ice and is a

a#aila'le for use ith topics and not 6ueues.

• -lternati#e for communications 'eteen +ende,#ous and EMS applications is using

+N 'ridging functionalit in EMS. %his supports all +ende,#ous 6ualities of ser#ice

and messaging paradigms and can 'e controlled completel though simple

con8gurations and set up of the EMS daemon and is completel transparent to 'oth

EMS and +N clients.

• ridging is unidirectional.

,''- 0sing Ha/$ over EMS

ta%tin* with Haw =e%ion 4.!, the%e i now uppo%t o% Haw ove% 7. The%e i till a %eGui%ement o% a ?ene@vou

<aemon on each hot, but thi i ue t%ictl) o% inte%"p%oce communication between the Haw a*ent an the Haw

int%umente application. Thi communication i t%ictl) local, an no ?ene@vou mea*e a%e oun on the

netwo%.

Dith ole% implementation o Haw, it i poible to it%ibute the ?= Haw mea*e th%ou*h the 67 in%at%uctu%e

uin* the 7/?= b%i*in* capabilitie 8ee p%eviou ection.

Communication between the Haw Conole an the Haw A*ent a%e now uppo%te ove% the 67 in%at%uctu%e.

$o% mo%e etail, pleae %ee% to the Haw ocumentation.

,'* Integration /it! E3B +pp Servers

• %here are four approaches to integrating ith the E* #endors.

!!

Page 56: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 56/90

TC- 67 et P%actice

• %he 8rst approach is to make use of the %IC& E* adapter. %his is not necessar if 

the E* container supports *MS nati#el0 and0 therefore0 does not re6uire the use of 

the %IC& adapter.

• %he second approach is to make use of a protocol)le#el adapter.

• - third approach is to make use of integration tools such as %IC& usiness orks.

Interaction ith the 'eans is a#aila'le through here there are standard pallets

for the E* Fome0 +emote and Connection o'(ects.

• %he 8nal approach is to directl make use of the EMS *MS implementation ithin the

E* container. %his ould result in the most seamless solution for *MS

communications in and out of the E* en#ironment into a standard implementation of 

a *MS messaging 'ack'one 'ased on EMS.

The econ app%oach i icue in ection J4.# nte%actin* with -the% 7 P%ovie%K.

 About main* ue o the 67 7 implementation with 6 containe% " t i imple to a 67 uppo%t to the 6

envi%onment. The TC- 67 Application nte*%ation 5uie ec%ibe the etup an intallation to ue TC- 7

implementation o% multiple 6 veno%. A umma%) o the %eGui%e tep, o% DebFo*ic o% e'ample, i a ollow:

 A the 67 a% ile to a location %ee%ence b) the DebFo*ic cla path.

C%eate the app%op%iate o%ei*n connection acto%) an etination ettin* in DebFo*ic to point to 67 o% the

2< looup o% connection acto%ie an etination 8%ecall that thee a%e veno%"peciic implementation

within the 7 peciication.

 C%eate the %eGui%e etination within the 67 e%ve%.

7oi) the Jweblo*ic"eb"a%.'mlK ile o% the 7< to ue the app%op%iate connection acto%) an etination.

7oi) the client p%o*%am to ue the 67 2< looup o% the aminite%e obect.

7o%e etail on thi etup a%e available in the TC- 67 Application nte*%ation 5uie.

!

Page 57: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 57/90

TC- 67 et P%actice

- EMS Server Best Practices

etup an coni*u%ation o the 67 aemon i a ve%) miune%too topic. Thi chapte% help 67 p%actitione% ucha )tem o% inte*%ation a%chitect an in%at%uctu%e ta lie netwo% an to%a*e en*inee% to une%tan va%iou

iue an implication the) can encounte% when plannin*, ei*nin*, eplo)in*, an mana*in* 67. Thi ection ha

man) c%o"%ee%ence to othe% ection in the ocument.

-' Sste# 9equire#ent and PlanningThi ection onl) b%iel) outline ome o the plannin* %eGui%ement, an i not meant to act a a %eplacement to the

etail outline in the %elevant 67 ocumentation.

-'' "et/or$ +rc!itecture

67 i uppo%te ove% an) netwo% that uppo%t TCP/P. t i impo%tant to note that a a mea*in* in%at%uctu%e, the

pe%o%mance o the 67 aemon will be aecte b) the pe%o%mance o the netwo%. the netwo% i al%ea) heavil)ue o% ue%in* %om e%%o%, the 67 in%at%uctu%e will alo ue%. Howeve%, the lac o mea*in* pe%o%mance i

onl) a )mptom o the p%oblem that in act ma) be a netwo% iue.

The 7 peciication eine a to%e"an"o%wa% moel o% mea*e elive%). A a %eult, the mea*e will be on the

wi%e twice, once to the 67 aemon, an a*ain %om the aemon to the conume%. The%eo%e, mea*e capacit)

plannin* nee to be at leat twice the %ate o mea*e e'pecte to be elive%e to the conume%. t i alo impo%tant

to note, that with C7A/C< netwo% lie 6the%net, that &!U continuou banwith atu%ation i the eective limit o% 

eicient communication. 7o%e bit on the netwo% o not alwa) t%anlate to mo%e ata on the netwo%, an the

netwo% ela) will be*in to %apil) inc%eae, %eucin* iniviual th%ou*hput %ate.

n man) cae, the ame mea*e ma) be %eGui%e in mo%e than one etination. Thi houl not be one %om the

client ie whe%e the ame mea*e i ent mo%e than once. Thi will unnecea%il) inc%eae mea*e t%aic. $o% thi

cena%io, mea*e b%i*in* 8poibl) with electo% houl be ue to %euce the netwo% t%aic an the p%ocein*

ove%hea o the mea*e p%ouce% 8ee ection J4.4.& <etination %i*in*K o% mo%e etail on mea*e b%i*in*.

Communication between the client an the aemon i TCP/P. The client can be locate an)whe%e in a %oute

netwo%. $o% pe%o%mance %eaon, it ma) be %eGui%e to place anothe% 67 aemon on the ie%ent ubnet an ue

%outin* to move the mea*e ac%o the %oute% between the 67 aemon. n thi wa), the mea*e onl) c%oe the

%oute% once, %e*a%le o the numbe% o conume% an p%ouce% o% the %oute etination. Dithout uin* thi

techniGue, the ame mea*e woul c%o the %oute% o% each conume% an p%ouce% ac%o the ubnet ba%%ie%. Thi i

epeciall) impo%tant when movin* mea*e ac%o lowe% wie"a%ea lin that have mo%e %et%iction on banwith.

7 peciication alo aume a ve%) %eliable elive%) o mea*e. Thi %eliabilit) %eGui%ement int%ouce a la%*e

amount o p%otocol ove%hea. 5ua%antee elive%) i not alwa) necea%) a pa%t o the mea*in* moel. The%eo%e,

67 uppo%t %eucin* the p%otocol ove%hea to %euce the netwo% t%aic an inc%eae the pe%o%mance o mea*eth%ou*h the 67 aemon. Pleae %ee% to ection J3.3.1.& calin* an Pe%o%mance Tunin* o 7 Iueue with

67K o% mo%e etail on %eucin* p%otocol ove%hea 8note, the ame etail a%e alo %elevant to topic.

electo% unction can alo be emplo)e b) client to %euce netwo% t%aic. Dith electo%, the client can inicate to

the 67 aemon that onl) mea*e that actuall) match the election c%ite%ia houl be ent to the client o% 

p%ocein*. no%tunatel), client electo% will aect the ete%minitic natu%e o the a%chitectu%e, an, the%eo%e, ma)

mae it mo%e b%ittle. Pleae ee ection J3.&.3 7ea*e electo%K o% mo%e etail. electo% unction a%e alo

!

Page 58: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 58/90

TC- 67 et P%actice

available o% ue with 67 %outin* an b%i*in* unction, an, a a %eult, ma) imp%ove netwo% pe%o%mance an

utili@ation, without the iue aociate with client application electo%.

• EMS is supported o#er an netork that supports %C!>I!.

• or EMS0 the message capacit planning needs to 'e at least tice the rate

of messages e7pected to 'e deli#ered to the consumer. It is also important

to note0 that ith CSM->C= netorks like Ethernet0 that 25: continuous

'andidth saturation is the eecti#e limit for ecient communications.

• EMS +outing should 'e used hen mo#ing messages across sloer ide)

area links that ha#e more restrictions on 'andidth.

• Message selector feature can 'e used to reduce the netork trac.

-'* Storage +rc!itecture

4.1.2.1 Storage Hard0are

67 %eGui%e to%a*e o% pe%itent mea*e, tate metaata an coni*u%ation ata. The limitin* acto% o% 

pe%o%mance, epeciall) o% pe%itent mea*e, i the i %ive coni*u%ation. ue %elate to the i to%a*e an

%ecommenation an option a%e icue in the ollowin* ection o thi ocument:

3.&.1.& 7<elive%)7oe Heae% $iel7<elive%)7oe Heae% $iel

3.3.1.1 Iueue 7ea*e $low Cont%ol

3.3.1.& calin* an Pe%o%mance Tunin* o 7 Iueue with 67

3.3.&.& Topic $low Cont%ol

3.3.&.3 <u%able Topic ubc%ibe%

3.4 Tempo%a%), <)namic an tatic <etination

3.10 Client $ault Tole%ance

4.1.3.& /- ub)tem

4.3 <ei*n o% $ault Tole%ance

4.3.4 ha%e to%a*e )tem

• =isk is a limiting factor hen messages are sent ith !ersistent deli#er

mode.

4.1.2.2 File Syste"s

Pleae %ee% to the p%eviou ection o% %ee%ence to 67 an ile )tem.

-', P!sical Server +rc!itecture

4.1.3.1 &P and Me"ory 

t ha al%ea) been icue that the%e a%e two mechanim that a%e ue o% to%in* the mea*e %om mea*e

p%ouce%. The mea*e can be to%e pe%itentl) to i, o% within memo%). The eciion o% which to ue i bae

on the %eGui%ement to p%ee%ve mea*e o% %ecove%) ue to a ailu%e o an 67 e%ve%. Dhile ault"tole%ance will

!#

Page 59: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 59/90

TC- 67 et P%actice

enu%e that anothe% e%ve% will allow p%ocein* i the p%ima%) e%ve% ha ha a catat%ophic ailu%e, the mea*e mut

be pe%ite to i i the) nee to be %ecove%e.

Howeve%, not all mea*e %eGui%e pe%itence. Pe%itent mea*e alo have lowe% th%ou*hput an put mo%e t%ain

on the e%ve%. The%eo%e, pe%itence houl onl) be ue when %eGui%e.

$low cont%ol i alo ue to enu%e that mea*e to%a*e oe not e'pan pat the capabilitie o the to%a*e acilitie

8ee ection J3.3.1.1  Iueue 7ea*e $low Cont%olK an ection J3.3.&.&  Topic $low Cont%olK o% a mo%e etaile

icuion. Howeve%, non"pe%itent mea*e will alo ue the limite memo%) %eou%ce.

Dhile low cont%ol will %et%ict the ue o memo%) o% mea*e to%a*e 8memo%) i till ue when to%in* pe%itent

mea*e, but to a a% lee% e*%ee than with non"pe%itent mea*e, memo%) uuall) ha much malle% capacit)

than i capacit), which woul *%eatl) %et%ict the capabilit) o uin* memo%) o% non"pe%itent to%a*e. 7emo%)

ua*e with pe%itent mea*e i alo %elativel) non"ete%minitic, epeciall) i othe% application a%e %unnin* on the

ame hot a the 67 e%ve% 8omethin* that i not %ecommene, i poible.

To help alleviate thi iue o% non"pe%itent mea*e 8onl) memo%) i ue to hol mea*e, 67 uppo%t

eve%al option that can be tune in the 67 aemon coni*u%ation ile, incluin*:

7emo%) wappin* 67 can enu%e that the ph)ical memo%) o the 67 e%ve% i not ove%%un b) limitin*

the ma'imum memo%) ue o% mea*e b) ettin* the Jma'Om*Omemo%)K pa%amete% an enablin* the

Jm*Owappin*K pa%amete%. Dhen memo%) i e'ceee, the 67 aemon ta%t wappin* mea*e memo%)

to i. 6ach wappe mea*e ue ome amount o %eal memo%). the ma'imum memo%) ettin* wa low

an the%e wa a hi*h %ate o mea*e, it woul be poible to have all memo%) ue an all mea*e

wappe to i, p%eventin* new mea*e to be elive%e. Thi will %eult in an e%%o% when t%)in* to w%ite to

the aemon. Thi houl not occu% i the pa%amete% a%e et to a %eaonable level. Thi wappin* p%ovie

much hi*he% pe%o%mance then %el)in* on ope%atin* )tem wappin*.

P%e"allocate ?ee%ve 7emo%) Thi pa%amete% allocate a bloc o memo%) to be ue b) conume% in

cae o the ituation whe%e to%a*e %eou%ce have been e'haute. Allocatin* thi memo%) o% conume% in

thi e't%eme p%ocein* tate allow conume% to continue ope%ation, the%eb) %eein* to%a*e %eou%ce anallowin* client to unbloc an continue enin* mea*e. Thi pa%amete% i J%ee%veOmemo%)K.

  7emo%) 7ea*e Pool " A with i, it i mo%e eicient to p%e"allocate memo%) %athe% than contantl)

%eGuetin* an %eleain* memo%). Thi i accomplihe in two wa) 8note the i@e i the numbe% o inte%nal

mea*e t%uctu%e an not b)te:

o  6'panable 7emo%) Pool " The e%ve% can be coni*u%e with a Jm*OpoolOblocOi@eK pa%amete%. Thi

int%uct the 67 aemon to p%e"allocate an e'panable memo%) pool, an then allocate aitional pool

o the ame i@e when %eGui%e 8o% until memo%) i e'haute. The value %an*e %om 3& to 4 in i@e.  

neithe% thi p%amete% no% the ne't pa%amete% i et, the eault 67 behavio% i a 1&#

Jm*OpoolOblocOi@eK.

o P%e"Allocate $i'e 7emo%) Pool " The e%ve% can be coni*u%e with a JpoolOpoolOi@eK. Thi allocate ai'e pool, an ate% the pool i ull, the JmallocK )tem call i calle to e'pan memo%) ue. The i'e

pool i available in the %an*e %om 1 to 10&47. thi pa%amete% an Jm*OpoolOblocOi@eK a%e both

coni*u%e, thi eatu%e i i*no%e.

low cont%ol i not enable, mea*e p%ouce% will %eceive an e%%o% when the) attempt to w%ite a non"pe%itent

mea*e an all memo%) an wap %eou%ce a%e e'haute. The ue o wap allow the e'panion o memo%)

capabilitie o% non"pe%itent mea*e, without, necea%il), the %eGui%ement o ain* e'penive memo%). t i

impo%tant to note that when wappin* oe occu%, it will be*in to aect the pe%o%mance o the e%ve% an the

!9

Page 60: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 60/90

TC- 67 et P%actice

th%ou*hput o non"pe%itent mea*e. $o%tunatel), the th%ehol an ue o wap a%e pa%amete% that can be

monito%e.

The 67 aemon i multi th%eaeM the%eo%e, it will %eceive ome beneit %om %unnin* on a multi"CP hot. t houl

be note that the aemon p%oce i heavil) /- boun, an, the%eo%e, will not necea%il) be computationall)

intenive. The%eo%e, the aemon p%oce will potentiall) ue a *%eat eal o )tem moe CP time an can potentiall)

*ene%ate a hi*h level o conte't witche. Dith hi*h /- %eGui%ement, the e%ve% ma) ta%t to %un into ope%atin* )tem

limitation beo%e it %un out o CP o% memo%). A a %eult, la%*e multi"CP bo'e ma) have little pe%o%mance

inc%eae o% 67. To olve /- p%oblem %eGui%e ho%i@ontal calin* to multiple hot, an thi i pa%t o the 67

in%at%uctu%e a%chitectu%e.

• ith non)persistent deli#er mode0 the undeli#ered messages are

maintained in the EMS ser#er memor.

• Message sapping can 'e used to sap these messages to the disk and

ensure that the phsical memor of the EMS ser#er is not o#errun. %he use

of sap allos the e7pansion of memor capa'ilities for non)persistent

messages0 ithout0 necessaril0 the re6uirement of adding e7pensi#ememor.

• Sapping aects performance of the ser#er and the throughput of non)

persistent messages.

• !re)allocating message memor can increase performance of EMS ser#er.

• %he EMS daemon is multi threadedK therefore0 it ill recei#e some 'ene8t

from running on a multi)C!R host. ith high I>& re6uirements0 the ser#er

ma start to run into operating sstem limitations 'efore it runs out of C!R

or memor. -s a result0 large multi)C!R 'o7es ma ha#e little performance

increase for EMS.

4.1.3.2 I, S/syste"s

67 an the 7 mea*in* moel put a ve%) hi*h eman on both the netwo% an the i /- ub)tem.

The%eo%e, the pe%o%mance o thee ub)tem will *ene%all) be the bottlenec in pe%o%mance th%ehol o the 67

aemon.

$%om a netwo% pe%pective, alte%in* a ew tunable pa%amete% will ai in pe%o%mance, uch a inc%eain* the en"

an"%eceive winow bue% o% TCP. Dhen *ene%atin* mea*e, the 7AC la)e% will alo poibl) %eult in

e*mentation an %eaembl) 8A? o the 7 mea*e 8actuall) 7 mea*e in the TCP/P mea*e. Thi i a

heav) ope%atin* )tem bu%en an will aect th%ou*hput an pe%o%mance. Fimitin* the mea*e to about 1&00 b)te

will enu%e no A?. t i %ecommene to chec the netwo% when *ene%atin* the mea*e to enu%e that A? i not

occu%%in* at the 7AC level. n ome cae, the%e i no cont%ol on mea*e i@e.

Fa%*e% mea*e will alo aect the pe%o%mance when uin* pe%itent mea*e ince it will tae mo%e time to w%iteto the i. 7ea*e comp%e will help in thi cae an alo help with low cont%ol iue 8ee ection J 3.&. 7ea*e

Comp%eionK o% mo%e etail on comp%eion.

• Message compression ill impro#e performance for persistent messages.

• %he faster the disk0 the 'etter the performance hen using persistent

messages. +-I= arras ill not onl ensure 'etter performance 'ut ill

0

Page 61: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 61/90

TC- 67 et P%actice

also pro#ide disk relia'ilit. *ournaling 8le sstems ill also increase

performance and relia'ilit.

67 aemon can be coni*u%e to pe%o%mance w%ite a eithe% bue%e o% )nch%onoul) 8cont%olle th%ou*h the

$AFA$6 pa%amete%. Thi will alo have iue with pe%o%mance ince )nch%onou w%ite will p%ovie bette% %eliabilit), but at the e'pene o pe%o%mance. 7o%e etail about i iue an i iue %elate to ault tole%ance

can be oun in ection J4.3 <ei*n o% $ault Tole%anceK.

The 67 e%ve% alo uppo%t th%ee aitional pa%amete% o% cont%ollin* the to%a*e o pe%itent mea*e:

to%eOminimium o% pe%o%mance %eaon, a ce%tain minimum amount o i i p%eallocate o% to%a*e.

to%eOc%c chec um ata i to%e with the ata. Thi pa%amete% cont%ol whethe% the chec um i chece

when the ata i %ea %om the i.

to%eOt%uncate i enable, the ile a%e pe%ioicall) t%uncate i the to%a*e i no lon*e% in ue.

The autment o thee pa%amete% will aect pe%o%mance.

• It is recommended to set preallocated storage.

• %uring o C+C check ill increase performance 'ut ma aect relia'ilit

'ut at a statisticall #er lo pro'a'ilit.

• =isa'ling storeBtruncated ill result in the 8le groing and ne#er gi#ing up

the space until the EMS daemon is restarted. If it is not necessar to

automaticall gi#e 'ack the space0 then performance ill 'e impro#ed.

-* Basic EMS ae#on (Server) Ele#ent

The implet o%m o eplo)ment i a in*le hot with a in*le 67 p%ocein* element. The a%chitectu%e woul be a

ollow:

t i not %ecommene to ue thi coni*u%ation o% pu%poe othe% than evelopment. t p%ovie no availabilit)

eatu%e, but will p%ovie the baic mea*in* e%vice. the 6 i hote on ha%wa%e that p%ovie Hi*h Availabilit)

capabilitie, then it i pe%ectl) eaible to ue a 6 a a p%ouction in%at%uctu%e element.

The aic e%ve% 6lement 86 conit o the e%ve% 6lement 867 e%ve% p%oce an i to%a*e.

1

Basic Server Ele#ent

.e%ve% 6lement

<i03

P%o1uce% Con0ume%  

      7    e    0    0    a    *    e

      7    e    0    0    a    *    e

Page 62: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 62/90

TC- 67 et P%actice

The e%ve% 6lement %ep%eent:

The 67 e%ve% p%oce

2< ata to%e

Iueue <etination

Topic <etination

The <i %ep%eent to%a*e o%:

Coni*u%ation ata

7etaata

Pe%itent an <u%able ata to%e

The Conume% an P%ouce% a%e application that ue the aic e%ve% 6lement

t i eaible to have mo%e than one 6 on a in*le hot. t i impo%tant to note that thi will %euce the ete%miniticnatu%e o the p%ocein* loa o% the hot an thi will c%eate a b%ittle a%chitectu%e.

-, esign %or 4ault Tolerance

The 67 e%ve% i a c%itical component o the 7 in%at%uctu%eM the%eo%e, it availabilit) i %eGui%e to enu%e

inut%ial"t%en*th p%ocein* can be accomplihe at the mea*in* la)e%. -ne o the eatu%e o 67 i it abilit) to

uppo%t a ault"tole%ant pai% o 67 e%ve%. The pai% act a an active"paive ault"tole%ant pai%. t i alo poible to

etup 67 e%ve% to ope%ate co%%ectl) in ha%wa%e Hi*h Availabilit) 8HA clute%. Dhile thi ection %ee%ence the

e%ve% ie o 67 availabilit), the%e a%e alo client implication, mo%e etail can be oun in J3.10  Client $ault

Tole%anceK.

 Active"paive i not the onl) option o% ault tole%ance. 67 e%ve% can alo e'it in ha%wa%e HA envi%onment whe%e

onl) one intance o the 67 ault"tole%ant pai% i actuall) %unnin* at an) one time. 5ene%all), with ha%wa%e HA, the

p%ima%) e%ve% i the onl) one %unnin* the 67 otwa%e. Dhen it ail ove% to the econa%) e%ve%, it will have viibilit)

to the o%i*inal e%ve%; ile 8uuall) mount the pa%tition a pa%t o the ailove%, an automaticall) ta%t anothe% 67

e%ve% 8the econ 67 e%ve% o% the ault"tole%ant pai% pointin* to thoe ile. 7ot ha%wa%e HA clute% e%ve% tae

ove% the P an 7AC a%e %om the o%i*inal, o it appea% a thou*h the o%i*inal e%ve% ut toppe an %eta%te

8althou*h thi i not %eGui%e with 67, an impliie the HA etup an intallation. Client connection can till appea% 

to pe%it even in thi envi%onment whe%e the econa%) HA hot chan*e a%ee 8ee ection J 3.10 Client $ault

Tole%anceK o% mo%e etail. t i impo%tant to note, that the%e i no %eGui%ement o% it%ibute ile locin* on the ha%e

i meia o% baic HA coni*u%ation whe%e onl) one membe% o the ault"tole%ant 67 aemon pai% i %unnin* at an)

one time.

n ha%wa%e HA clute%, the clute% otwa%e alo monito% the availabilit) o c%itical p%ocee, uch a the 67

aemon. Howeve%, the otwa%e oe not have much nowle*e about the p%oce be)on the act i it %unnin* o% not. the p%oce ie, clute% otwa%e i uppoe to t%) an %eta%t the application. thi HA capabilit) i not available o% 

a pa%ticula% HA clute% veno%, it i alo poible to have an active"paive pai% coni*u%e on each HA e%ve%, but the

pai% on the econa%) HA hot will till be own until ailove%. The econa%) HA e%ve% 8bacup hot will have a imila% 

coni*u%ation, but both 67 aemon p%ocee will be toppe until ha%wa%e ailove% occu%. The%eo%e, i one

p%oce ie, the tanb) p%oce immeiatel) tae ove%. $ile locin* on the ha%e meia i till an iue o% thi

coni*u%ation i a A2 i ue, o% othe% ha%e meia that o not nativel) uppo%t it%ibute ile loc 8thi capabilit) i

available o% A2, but i uuall) a thi%"pa%t) option.

&

Page 63: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 63/90

TC- 67 et P%actice

$o% the 67 aemon to ope%ate co%%ectl) a an active"paive pai% in ault"tole%ant moe 8i.e. a membe% o the ault"

tole%ant pai% i %unnin* on each o the HA hot, the%e i a %eGui%ement to have acce to ha%e i meia. Thi

accomplihe th%ou*h A2, 2A, ile e%ve%, ual"po%te C ?A< a%%a), o% whateve% the cutome% ecie a pa%t o 

thei% a%chitectu%al %eGui%ement. t i impo%tant to note that a it%ibute ile loc i %eGui%e a well. Pa%t o the active"

paive etup %eGui%e the paive e%ve% to ee a loc on the metaata an mea*e pe%itence ile. t i alo

impo%tant to note that ile )tem lie 2$ o not p%ovie thi capabilit).

The ha%e i mut contain the meta"ata an the ata to%e o% the )nch%onou an a)nch%onou i w%ite

8cont%olle b) the Jail"aeK pa%amete% in the e%ve coni*u%ation. -nl) one o the e%ve% pai% ma) have w%ite acce

loce o% thee th%ee ile. t i alo poible to ha%e the othe% coni*u%ation ata. it i ecie to ha%e all

coni*u%ation ata, then it i %ecommene that a polic) be implemente whe%e chan*e a%e alwa) intitute %om onl)

one membe% o the pai%.

The p%ima%) o the ault"tole%ant pai% %emain the p%ima%) until the%e i a ailu%e o the p%oce o% the hot. The pai% 

en hea%tbeat 8ove% an F lin i ei%e mea*e to each othe% to ete%mine availabilit). the econa%) no

lon*e% etect the p%ima%), it will t%) an loc the ile ec%ibe above. it uccee in *ettin* the ile loc, it will tae

ove% a the p%ima%). the econa%) ail, it will continue t%)in* to obtain the loc, o% until it ee the p%ima%) hea%tbeat

mea*e a*ain.

 An 67 e%ve% can be coni*u%e a a ault"tole%ant membe% o% can be ta%te a the ault tole%ant membe% b)

p%oviin* a comman"line a%*ument thoe point to the alte%native e%ve%; ?F o% th%ou*h etup in the main

coni*u%ation ile 8obvioul) not an option i the coni*u%ation ata i ha%e. it cannot in the alte%native membe%,

an it can obtain a ile loc on the %elevant ile, then it will ta%t a the p%ima%) intea.

 The client %ee%ence the connection o a ault"tole%ant pai% th%ou*h the connection acto%). The acto%) can be obtaine

th%ou*h the 2< to%e o% can be manuall) c%eate in the application. The ault"tole%ant pai% i %ee%ence a a pai% o 

comma"elimite ?F, each pointin* to the othe% membe% o the pai%. Thi eatu%e i a*ain an 67 eatu%e, but the

connection acto%) i the 7"peciication"compliant mechanim o% %ee%encin* connection to the veno%"peciic

in%at%uctu%eM the%eo%e, 7 ha no peciication o% the a%*ument ue with the connection acto%). t i e'pecte to

va%) %om veno% to veno%. The%eo%e, o% po%tabilit) %eaon an cent%ali@e aminit%ation %eaon, it i%ecommene that application obtain the connection acto%) ino%mation th%ou*h the 2< %eGuet 8ee J 3.  2<

FooupK o% mo%e etail.

-nce connecte to the in%at%uctu%e, the 7 client application ha no iea that the%e i a ault"tole%ant pai% o e%ve%

June% the cove%K. houl the%e be a ailu%e o the p%ima%), the 67 7 lib%a%) ha been implemente to

t%anpa%entl) t%) an %econnect to the econa%). Dhile it i poible to %e*ite% inte%et in a pecial 67 mea*e

inicatin* the ailove% occu%%e, without %e*ite%e inte%et to thi pecial mea*e, the%e woul be no nowle*e on the

pa%t o the client application that the ailove% occu%%e 8ee ection J 3.10.&  Client $ault"Tole%ant tate T%anition

T%appin*K o% etail.

t i impo%tant to note that onl) thoe ile that have been la**e a pe%itent will be available u%in* a ailove%. -the% 

mea*e will not be available, a woul have been the cae i the in*le e%ve% aile an wa %eta%te.

<u%in* a ailove%, the client %econnect automaticall) to the econa%) 67 e%ve%. t i poible to have the econa%)

limit the time allotte o% the client to %econnect. The eault i app%o'imatel) 10 econ. the client o not

%econnect in the allotte time pe%io, the econa%) e%ve% will clean up an) tate ino%mation o% the client that have

not %econnecte, an conie% thoe client a own 8ee ection J3.10.1 Client $ault Tole%ance an <ela) in $ailove% K

o% mo%e etail on client %econnection an timin*. <u%able ubc%ibe% will till be able to %ecove% mea*e an

accumulate new mea*e ate% the ailove%, i the) a%e not %econnecte in the allotte time %ame. ee ection J 3.3.&.3

<u%able Topic ubc%ibe%K o% mo%e etail on u%able ubc%ibe%.

3

Page 64: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 64/90

TC- 67 et P%actice

6entiall), the ault"tole%ant etup o 67 e%ve% allow availabilit) o the 7 e%ve% without %eGui%in* ull ault"

tole%ant ha%wa%e. The onl) uniGue ha%wa%e %eGui%ement i that a ha%e to%a*e a%ea i %eGui%e to mae thi eatu%e

available in the ei*n. t i alo %ecommene that the netwo% in%at%uctu%e be available an multi"po%t available

netwo% inte%ace be emplo)e 8o% e'ample P7P 8nte%net P%otocol 7ulti Path with connection to %eunant

witche o% hub.

7o%e etail on ault"tole%ant etup a%e available in the TC- 67 e%; 5uie.

• default0 %IC& supports a fault)tolerant pair of EMS ser#ers hich act as

acti#e)passi#e pair.

• EMS ser#ers can also e7ist in hardare F- en#ironments here onl one

instance of the EMS fault)tolerant pair is actuall running at an one time.

In this scenario0 cluster softare is needed to monitor the a#aila'ilit of 

primar EMS daemon and restart secondar daemon in case primar

'ecomes una#aila'le.

• or the EMS daemons to operate correctl as an acti#e)passi#e pair in

fault)tolerant mode 0 the need to ha#e access to shared disk media hich

can 'e accomplished through S-D0 D-S0 8le ser#er0 dual)ported SCSI +-I=

arra.

• %he client references the connection of a fault)tolerant pair through the

connection factor. %he fault)tolerant pair is referenced as a pair of 

comma)delimited R+s0 each pointing to the other mem'er of the pair.

&nce connected to this infrastructure0 the *MS client application has no

idea that there is a fault)tolerant pair of ser#ers as EMS client li'raries

take care of reconnecting to other ser#er in the fault)tolerant pair0 in case

primar ser#er is una#aila'le.

-,' 4aultKTolerant Server Ele#ent

The mallet p%ouction element houl be the $ault"Tole%ant e%ve% 6lement 8$T6. The baic a%chitectu%e houl be

a ollow:

44aultKTolerant Server Ele#ent

P%ima%) e%ve% 6lement econa%) e%ve% 6lement

ha%e <iA2

P%ouce% Conume%  

     7    e    0    0    a    *    e

     7    e    0    0    a    *    e

Page 65: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 65/90

TC- 67 et P%actice

The $ault"tole%ant e%ve% 6lement 8$T6 i comp%ie o th%ee baic component:

P%ima%) e%ve% 6lement 8P6 Thi i eentiall) a 6 that i ope%atin* a the p%ima%) membe% o a ault"

tole%ant pai%. t i e'pecte that the P6 will %eie on a ie%ent hot than the 6.

econa%) e%ve% 6lement 86 " Thi i eentiall) a 6 that i ope%atin* a the econa%) membe% o a

ault"tole%ant pai%. t i e'pecte that the 6 will %eie on a ie%ent hot than the P6.

ha%e <i Thi can be a A2, 2A, ile e%ve%, ual"po%te ?A< a%%a), etc. nlie the 6, the $T6

%eGui%e viibilit) to ha%e meia to ope%ate.

The connection to the $T6 i t%anpa%ent to the mea*e conume% an p%ouce%. The) ope%ate with the $T6 a i 

it wa a in*le 6.

-,* Clustering

t i poible to loa balance connection o% both Gueue an topic etination amon* 67 aemon to c%eate a

clute%. Thi %eGui%e %oute to be eine between the 67 e%ve% 8ee ection J4.4.1  e%ve% ?outin*K o% mo%e

etail on %outin*. The Gueue an topic mut alo be et to J*lobalK o% the) will not be %oute an available amon*

the %oute 67 aemon. Connection to an) membe% o the %oute *%oup i impl) cont%olle th%ou*h the ?F

peciie in the connection acto%). The a%chitectu%e i a ollow:

!

Cluster Server Ele#ent

P%ima%) e%ve% 6lement

econa%) e%ve% 6lement

P%ouce% Conume%  

     7    e    0    0    a    *    e

     7    e    0    0    a    *    e

aic e%ve% 6lement

Page 66: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 66/90

TC- 67 et P%actice

 A clute% i a %oute collection o eithe% $T6 o% 6. The) can be mi'e an matche. t i e'pecte that o% mot

p%ouction envi%onment $T6 will be ue. The clute% i coni*u%e to appea% a a in*le 67 e%ve% a a% a the

application conume% an p%ouce% a%e conce%ne. The connection acto%ie mut be coni*u%e with the ?F )nta'

to inicate that the%e i loa balancin* amon* the 6 an $T6 component within the C6.

t i %ecommene that one $T6 p%ovie the 2< to%e o% connection, etination ino%mation. Thi will impli) the

aminit%ation ince not all element in the C6 will nee to manuall) uplicate the ame ino%mation. P%ouce% an

conume% will be able to %ee%ence the app%op%iate ino%mation %om the 2< to%e to connect to the leat bu) e%ve% 

in the clute%.

Clute% can p%ovie loa balancin* o% Gueue an topic. The ame clute% can uppo%t multiple Gueue an topic

etination. The clute% houl alo contain the %eGui%e etination an p%otocol b%i*e. t i %ecommene that the

clute% uppo%t the etination o% a *%oup o application. The *%oupin* i bae on co"ope%ative application

p%ocein* %athe% than *eo*%aphic elineation. n act, $T6 o% 6 can be *eo*%aphicall) ipe%e a pa%t o the

loa"balancin* a%chitectu%e 8ee ection J3.3.&.1 Topic 7ea*e ?outin*K o% an e'ample.

t i %ecommene that element o the C6 be %oute a a in*le @one, an mae ue o the in*le"hop meh %outin*

coni*u%ation 8thi will nee to be %eviewe on a cae"b)"cae bai "" a mo%e comple' %outin* coni*u%ation ma) be%eGui%e.

Connection to the clute% i bae on a imple ?F. The ?F contain a lit o 67 aemon that have %oute acce

to the ame Gueue o% topic ac%o the aemon 67 e%ve% p%ocee. An) numbe% o 67 aemon can be

%ee%ence. A ve%tical ba% cha%acte% elimite% epa%ate the lit. t i impo%tant to note that the connection ?F alo

allow %ee%ence to ault tole%ant pai% o e%ve%. $o% e'ample:

tcpAserver'A5555tcpAserver*pri#A55557tcpAserver*secA5555

The above ?F allow loa"balance acce to a clute% o %oute 67 aemon whe%e the i%t aemon i not uin*

ault tole%ance an i on hot Je%ve%1K. The econ element in the clute% i a ault tole%ant pai% o aemon oun on

Je%ve%&p%imK an Je%ve%&ecK.

• %he load 'alancing pro#ided ' EMS is connection)le#el load 'alancing.

• Connection to the cluster is 'ased on a simple R+ hich contains a list of 

EMS daemons separated ' a #ertical 'ar character.

• hen the client connects0 it ill connect to the least 'us ser#er. Ser#ers

can 'e determined to 'e 'us 'ased on one of to metrics@ num'er of 

concurrent connections or rate of 'tes through the ser#er. It is necessar

to indicate the metric either through the *D=I reference. ikeise0 if the

connection factor is manuall created the connection metric must also 'e

speci8ed0 or a load)'alanced connection to the cluster ill not operate0

e#en if the load)'alanced R+ is passed to the connection factor.

t i impo%tant to note, that the%e i no peciali@e p%oce o% application %eGui%e to mana*e o% cont%ol acce to the

clute% o% the ault"tole%ant pai% acce. Thi eliminate the nee o% peciali@e evice uch a loa balance% o% othe% 

element that woul me%el) a cot, aminit%ation ove%hea an become anothe% potential bottlenec an point o 

ailu%e to the a%chitectu%e.

Foa balancin* i accomplihe bae on two poible connection met%ic: numbe% o% connection to the e%ve%, o% the

b)te %ate o mea*e th%ou*h the e%ve%. t i impo%tant to note, that loa balancin* will onl) ope%ate i the met%ic i

peciicall) eine. Thi i t%ue o% both local c%eation o the connection acto%) o% th%ou*h the 2< %ee%ence. $o% 

Page 67: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 67/90

TC- 67 et P%actice

e'ample o uin* loa balancin* th%ou*h acto%) c%eation, pleae %ee% to the 67 ample p%o*%am inclue with the

intallation. The c%eation o the met%ic o% 2< %ee%ence th%ou*h the 67 e%ve% can be coni*u%e b) eithe% manuall)

eitin* the %ee%ence acto%) ile 8the eault i Jacto%ie.conK o% th%ou*h the aminit%ato% comman line application

8ee the 67 e% 5uie o% the %eGui%e )nta'.

4.3.2.1 &l/stering and a Servi*e /s Deploy"ent 

The e%vice u 8 i a lo*ical cont%uct %om the application pe%pective. The a%chitectu%e i a ollow:

The bu itel i a collection o 6, $T6 an/o% C6. The u ha e%vice aociate with it:

P%ouce%/Conume% e%vice thee e%vice a%e the 7 application that a%e c%eate o% ue b) the client.

Thee application can be a combination o cutom coe, non"coe application o% C-T. 6ach e%vice ha

two mea*e inte%ace: one o% ata mea*e, an anothe% o% aminit%ation mea*e.

Common e%vice n a e%vice -%iente A%chitectu%e 8-A, thee a%e application that a%e ha%e b) the

p%ouce% an conume%. Thee coul %an*e %om ecu%it) e%vice, to mea*e mappin*, obect

%epoito%ie, etc.

 Aminit%ation e%vice Thi i the co%e o the local it%ibute aminit%ation e%vice. An e'ample ma) be a

Haw"enable Conole application.

 An i conie%e a complete application e%vice. An e'ample ma) be a T%ae e%vice. An a%chitectu%e ma) be

compoe o eve%al inte%connecte . The can be comp%ie o one o% mo%e %oute an potential ault"tole%ant

pai% clute%e 67 aemon p%ocee.

4.3.2.2 &l/stering and an Enterprise a*6one 7E8

The 6nte%p%ie acbone 86 i a pecial e%vice u that p%ovie cent%ali@e e%vice that a%e potentiall) ue b)

an) e%vice on the iniviual . The 6 i alo ue a the mao% %outin* acilit) between the .

P%ouce% Conume%  

     7    e    0    0    a    *    e

     7    e    0    0    a    *    e

Commone%vice

     7    e    0    0    a    *    e

     A     1    m     i    n

     7    e    0    0    a    *    e

     A     1    m     i    n

     7    e    0    0    a    *    e

     A     1    m     i    n

     7    e    0    0    a    *    e

 Aminit%atione%vice

     A     1    m     i    n

     7    e    0    0    a    *    e

Service Bus

Page 68: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 68/90

TC- 67 et P%actice

The a%chitectu%e i a ollow:

The main bacbone i alo comp%ie o 6, $T6 o% C6. The in%at%uctu%e will p%ovie 2< e%vice o% 

ente%p%ie"level %eou%ce. The actual bacbone ma) be e%ve% 6lement that %eie a pa%t o the e%vice u. t i

necea%) o% a cent%al aminit%ation %eou%ce to cont%ol %outin* between the e%vice 6lement. To eliminate hop, the

option i the%e o% the cent%al aminit%ato% to eine an aminite% the %oute. Thi implie that o% ecu%it) %eaon,

onl) the cent%al aminit%ato% can *ive acce to the p%ivile*e JaminK account o% element that a%e involve in

%outin*.

e%ve% element that mae up the bacbone houl be in thei% own %outin* Vone, an a%chitect houl conie% uin*

multi"hop %outin*.

The%e a%e two %eGui%ement o% Aminit%ation e%vice on the bacbone. t mut be able to monito% an acce thelocal e%vice, a well a potentiall) p%ovie cent%ali@e aminit%ation o element o% e%vice on the iniviual .

The 6 will alo have ome e%vice that a%e bet uite a pa%t o a cent%ali@e ente%p%ie"level e%vice. Thee

inclue:

5atewa) e%vice Thi i whe%e *atewa) between, o% e'ample, 7 an 7I"e%ie ma) %eie. Thi wa),

an) application on an) ma) *et acce. Thee *atewa) ma) alo be between ie%ent ente%p%ie

aminit%ation e%vice uch a between Haw an -pen=iew.

6nte%p%ie Common e%vice Common e%vice that a%e common to eve%al ma) be bet e%ve %om a

cent%al ente%p%ie level.

Cent%al Common e%vice Thee a%e common e%vice that a%e ue b) othe% e%vice on the 6.

 A*ain, the bu ma) be a collection o multiple %oute an clute%e 67 aemon p%ocee.

-,, +rc!itectural i%%erence Bet/een Proect Stages

The p%eviou ection wa i%ecte mo%e at a p%ouction envi%onment than at tet, Gualit) au%ance o% evelopment.

n man) cae, bu*et %et%iction ma) %eult in all thee p%oect phae 8e'cept o% p%ouction bein* hote on the

ame machine. <evelopment ha the leat t%in*ent %eGui%ement o% in%at%uctu%e. A imple 6 ma) uice o% 

evelopment.

#

6nte%p%ieCommon

e%vice

     7    e    0    0    a    *    e

     A     1    m     i    n

     7    e    0    0    a    *    e

 Aminit%ation

e%vice

     A     1    m     i    n

     7    e    0    0    a    *    e

Cent%alCommon

e%vice

5atewa)

e%vice

     7    e    0    0    a    *    e

     A     1    m     i    n

     7    e    0    0    a    *    e

     7    e    0    0    a    *    e

     A     1    m     i    n

     7    e    0    0    a    *    e

Enterprise Bac$bone

     ?    o    u     t    e     1

     7    e    0    0    a    *    e

     ?    o    u     t    e     1

     7    e    0    0    a    *    e

Service Bus Service Bus

Page 69: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 69/90

TC- 67 et P%actice

Tetin* an IA will mot liel) %eGui%e an $T6 o% a imple C6 a ec%ibe above. t will be necea%) to tet all

availabilit) an loa"balancin* eatu%e.

t i alo impo%tant o% client to tana%i@e ce%tain acce t%uctu%e to the element to enu%e that the ie%ent p%oect

ta*e o not inte%e%e with each othe%. eve%al option a%e available to enu%e that, o% e'ample, p%ouction ata oe

not *et pollute with tet o% evelopment ata. u**etion an %ecommenation inclue:

• It is important to standardi,e the destination names ithin the dierent

pro(ect phases. or e7ample0 all destination names ma 'e pre87ed ith

the pro(ect phase.

• =o not use the same port for access 'eteen the ser#er elements in the S

or E for the dierent pro(ect phases. or e7ample0 port TTTT is used for

access to test ser#ices0 UUUU for production. In this a0 there ill 'e a

phsicall dierent R+ to access the EMS ser#er processes.

• -#oid using the same EMS ser#ers for production and other pro(ect phases.

Carefull control routing 'eteen production elements and other pro(ect)phase elements.

• Enforce the use of *D=I data stores to look up rele#ant information rather

than making use of the actual full 6uali8ed destination names. &f course0

this does not appl to dnamic destinations.

67 e%ve% a%e ha%e amon* eve%al p%oect phae, the etination mut be ie%ent o% the ie%ent p%oect

phae.

-,- S!ared Storage Sste#

Pleae %ee% to ection J4.3.4 ha%e to%a*e )temK an J4.1.& to%a*e A%chitectu%eK o% mo%e etail.

-,. isaster 9ecover esign

n man) cae, a%chitect all into the t%ap o believin* that a iate% %ecove% plan i me%el) an HA a%chitectu%e p%ea

ove% a *%eate% itance. Thi i not the cae. 6ven with hi*h"pe%o%mance netwo% between the ite, the limitation o 

the pee o li*ht will ta%t to *%eatl) aect pe%o%mance. The pe%o%mance JhitK i a %eult o p%opa*ation ela) an the

eect o thi ela) a it %elate to the TCP; liin* winow low cont%ol.

 A oon a the itance between the ite e'cee between 1! an 1# ilomete%, plan o% iate% %ecove%) become

mo%e comple' to a%chitect. -ne o the bi**et iue i uplication o the pe%itent mea*e at the iate% ite.

?eplication o the ile i not a eaible option. ?outin* between the ite uin* 67 %outin* ma) appea% to help olve

the iue, but it can be comple' ue to the act the%e i no concept o p%e"%e*it%ation with 7 topic.

Thee iue a%e not %elate to the TC- 67 implementation, but mo%e o an iue that %elate to the 7

a%chitectu%e. t i e'pecte that a epa%ate ocument will be p%ouce to cove% the etail o iate% %ecove%) an 7.

-- esign %or Opti#al Per%or#ance7an) potential cena%io nee to be a%ee b) the mea*in* in%at%uctu%e. Cont%ol an aminit%ation o the

e%ve% can eithe% be cent%all) eplo)e o% in a it%ibute a%chitectu%e. Cont%ol an aminit%ation ma) alo chan*e

th%ou*h the cou%e o p%oect evelopment. $o% e'ample, the p%oect membe% ma) initiall) cont%ol aminit%ation.

Howeve%, in p%ouction the%e ma) be a %eGui%ement o% a combination o local an cent%al aminit%ative cont%ol.

9

Page 70: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 70/90

TC- 67 et P%actice

 Application an e%vice can alo be eplo)e a eithe% pa%t o a p%oect o% pa%t o a cent%ali@e e%vice oe%in*. A

p%oect ma) alo mae ue o both local an cent%ali@e application an %eou%ce. ?e*a%le o the initial

a%chitectu%e, Jchan*eK mut be conie%e a pa%t o the olution. The eplo)ment i not necea%il) *oin* to be a tatic

entit).

7an) o the apect o the eplo)ment moel have al%ea) been a%ee in the i%t eve%al ection o thi

ocument. ue uch a calin*, a%ein*, mea*e inte%action, etc. have been %ee%ence an c%o"%ee%ence in

the i%t ew ection o thi ocument. ome o thee iue mut a*ain be viite, but mo%e %om a eplo)ment

pe%pective.

eve%al concept have al%ea) been e'plo%e a *uieline 8not ha%"an"at %ule, an a%e e) to the ucceul

eplo)ment:

• - solid and consistent destination)naming scheme is a critical success

factor in the deploment of potential enterprise)le#el applications.

• Messages should ideall 'e designed as 8re)and)forget data. Messages

should 'e the union of consumer re6uirements rather than an indi#idualseries of targeted messages.

• %opics should 'e considered as the message distri'ution mechanism of 

choice. =istri'uted0 threaded0 asnchronous architectures pro#ide greater

ecienc than multiple point)to)point sto#epipe architectures. Rsing M&M

technolog to implement old client)ser#er designs largel nulli8es the

ad#antages of mo#ing to a messaging architecture. Implementing old

architectures o#er a messaging infrastructure onl pro#ides a fe small

tactical and no real strategic ad#antages.

• =esigns should ensure that the infrastructure usage is deterministic and

ecient.

It is assumed that scaling and load 'alancing is a re6uirement in the initialdesign and not an after)thought or a 4!hase II re6uirement.

• -pplication instrumentation for administration access should 'e included

in the initial design. %his allos administration tools to 'e used to sol#e

issues that should not 'e hard)coded into the application.

• -pplications should 'e designed as part of a ser#ice)oriented architecture.

M&M allos ser#ices to 'e created on the messaging 'us that are accessed

' an application that re6uires that ser#ice. %he ser#ice is then e7pected

to 'e deterministic0 scala'le and relia'le. Monolithic 4do)e#erthing)in)

one)application designs defeat the ad#antages a M&M infrastructure

aords.

• -pplications should not attempt to sol#e architectural issues that can andshould 'e sol#ed ithin the messaging infrastructure ;for e7ample0 the use

of 'ridges rather than multi)message fan)out from the client application<.

• %here is no single 4sil#er 'ullet design or solution for all application

designs or deploment.

• Ena'ling features in the infrastructure or e7panding the message o#erhead

onl hen re6uired0 rather than simpl ena'ling 4e#erthing for potential

future use0 achie#es ecienc for the infrastructure0 the sstem

0

Page 71: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 71/90

TC- 67 et P%actice

resources and netork utili,ation. -pplications should 'e designed to allo

infrastructure directi#es and protocol data to 'e changed in real)time

through administration interfaces and from application startup directi#es.

• -uthentication should ideall 'e #alidated against a centrali,ed e7ternal

store0 such as =-! ;ith the e7ception of the EMS 4admin I=<.

• -pplications should 'e designed against the current *MS N1.1 programming

model.

• %hresholds to pre#ent resource o#erAo should 'e the last line of defense

as part of an application design and not the onl consideration for ensuring

that an application does not o#erhelm a processing element.

• or porta'ilit reasons0 #endor)speci8c infrastructure details that are

de8ned ' the *MS standard for #endor use should 'e called #ia a *D=I

'inding to a data)store0 rather than hard)coded.

• -pplication and infrastructure tracing0 monitoring and potentiall logging

should 'e used (udiciousl in production. Ideall0 the should 'e ena'ledand disa'led in a 8ne)grain manner through administration and monitoring

tools0 through rule)'ases and>or real)time interaction.

• Rse of a single)#endor *MS infrastructure is recommended o#er se#eral

implementations and the su'se6uent 'ridging. Foe#er0 use of a #endor)

speci8c implementation that acts as a rapper for purpose of integration

ma 'e a #ia'le e7ception to consider if no C&%S adapter is a#aila'le.

• =efault authori,ation should not 'e assigned to destinations. &nl the

access re6uired for authori,ed principals should 'e ena'led.

• !rincipals ;users< for 'oth administration accesses and application

destination access should 'e assigned to groups to simplif access control.

• !ersistent messages and dura'le topics should onl 'e used hen

re6uired. =isk access is the limiting factor0 and should 'e optimi,ed to

ensure peak throughput.

• Dot all applications need to 'e created ' riting programs. Don)coding

solutions ma ha#e more 'ene8ts and features and a potentiall higher +&I

than the coding alternati#e.

• Nendor)speci8c features that do not relate to infrastructure or re6uire non)

standard methods should 'e a#oided ;such as non)standard message

formats<.

n aition to the point above, man) bet p%actice an ei*n %ecommenation have been ec%ibe in the i%t

ection o thi ocument. t houl be note that thee a%e *uieline an not %ule.

--' Server 9outing

e%ve% %outin* i icue in %elation to Gueue an topic in ection J 3.3.&.1 Topic 7ea*e ?outin*K an J3.3.1.&

calin* an Pe%o%mance Tunin* o 7 Iueue with 67K. The TC- 67 e% 5uie alo ha a ve%) etaile

ec%iption o e%ve% %outin* that will not be %epeate in thi ocument.

1

Page 72: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 72/90

TC- 67 et P%actice

--* estination Bridging

<etination b%i*in* i a powe%ul eatu%e available within the TC- 67 in%at%uctu%e. %i*in* i the capabilit) o 

movin* mea*e between Gueue an topic within the mea*in* in%at%uctu%e. n ome cae the mea*e ma) be

%eGui%e b) mo%e than one etination an/o% mo%e than one etination t)pe. Thi can be accomplihe %om the

application, but it will %eGui%e a mo%e comple' connection coni*u%ation an will %eult in potentiall) the ame o% imila% mea*e bein* ent mo%e than once. The%eo%e, p%oviin* thi t)pe o application"level an"out i not %ecommene

ince it i comple' an ineicientM it alo eeat the ei*n p%incipal o i%e"an"o%*et mea*in*.

 A b%i*e i a coni*u%ation c%eate b) an aminit%ato% on the 67 e%ve%. %i*e a%e coni*u%e a*aint Gueue o% 

topic. A b%i*e %om a in*le Gueue o% topic can be coni*u%e to an out the mea*e to eve%al othe% Gueue an/o% 

topic. %i*e mea*e a%e not t%anitiveM the%eo%e, a mea*e %eceive %om a b%i*e coni*u%ation cannot be

o%wa%e a*ain even i the b%i*e %eceive% ha anothe% b%i*e coni*u%ation.

%i*e can alo be i%ecte to new etination name bae on electo% ilte%. The )nta' o% the b%i*e"electo% ilte% 

tatement i the ame a o% Gueue an topic 8ee ection J3.&.3  7ea*e electo%K. Dith b%i*e electo% 

tatement the%e i ove%hea int%ouce into the mea*in* in%at%uctu%e. Howeve%, unlie the topic o% Gueue electo% 

cena%io, the pe%o%mance i mo%e p%eictable an ete%minitic, ince it i enable b) the aminit%ato% an not b) an)

%anom application. The b%i*e alo eliminate the nee o% cutom"w%itten application to pe%o%m the b%i*in*

unction, which woul mot liel) int%ouce the ame o% mo%e ove%hea into the in%at%uctu%e. The%eo%e, the ue o 

electo% in the b%i*e coni*u%ation i not a c%itical an iue o% conie%ation a with conume% application.

%i*in* i a ve%) powe%ul eatu%e that will impli) application p%ocein* an ei*n. t will eliminate the %eGui%ement

o application neein* to en the mea*e multiple time becaue ie%ent etination have inte%et in the ata. t

alo ove%come ome o the pe%o%mance iue aociate with Gueue an conume% pe%o%mance 8ee ection

J3.3.1.& calin* an Pe%o%mance Tunin* o 7 Iueue with 67K. The%e a%e nume%ou application o% b%i*e.

%i*e will impli) application ei*n an %euce the mea*e t%aic.

• Rse of ridges0 eliminate the re6uirement of applications needing to send

the message multiple times 'ecause dierent destinations ha#e interest in

the data.

• Making an changes to ridge con8guration re6uires restart of EMS ser#er

for con8guration to 'e eecti#e.

• -n tpe of destination can 'e 'ridged to an other tpe of destination i.e.

topic to 6ueue0 6ueue to topic0 topic to topic and 6ueue to 6ueue.

• ridged messages are not transiti#eK therefore0 a message recei#ed from a

'ridged con8guration cannot 'e forarded again e#en if the 'ridged

recei#er has another 'ridge con8guration.

-. Client Manage#ent-.' Client 9egistration and "a#e Proli%eration

The%e a%e th%ee wa) to c%eate authentication c%eential to be ue o% acce to the 67 aemon:

The e%ve% can %e*ite% the ue% name an pawo% eithe% th%ou*h the aminit%ation inte%ace, o% th%ou*h

manual eitin* o the coni*u%ation ile.

The aemon can be coni*u%e to mae ue o the ope%atin* )tem lo*in c%eential.

&

Page 73: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 73/90

TC- 67 et P%actice

The aemon can authenticate a*aint an F<AP %epoito%).

  the e%ve%"%e*ite%e c%eential a%e ue, it will %eGui%e manual it%ibution to all e%ve% whe%e the ame c%eential

i %eGui%e. $o% thi %eaon, thi )tem wo% bet o% tet an IA, but ma) not necea%il) be applicable o% 

p%ouction envi%onment.

Dith the ope%atin* )tem c%eential, onl) the e%ve% whe%e the c%eential e'it will p%ovie authentication. Thi can

be e'tene with ope%atin*")tem"it%ibute authentication otwa%e. The ue o ope%atin* )tem c%eential ma)

not be acceptable o% all companie; ecu%it) polic).

The F<AP alte%native i pe%hap the mot popula% mechanim o% client c%eential authentication, an uppo%t multi"

F<AP e%ve% )nch%oni@ation.

• or production en#ironment0 it is recommended to use =-! for client

registration and management.

$o% mo%e etail on thi topic, pleae %ee% to ection J3..1 n%at%uctu%e AuthenticationK.

-.* Client +ut!entication

Pleae %ee% to ection J3..1 n%at%uctu%e AuthenticationK.

-., Client +ut!ori8ation

Pleae %ee% to ection J3..3 Application Autho%i@ationK.

-.- SS: Connections

Pleae %ee% to ection J3..! e o F an Authentication within 67K.

-1 Server Manage#ent

-1' Client Connection Manage#ent

The aminit%ation inte%ace o% 67 uppo%t the monito%in* o which client a%e connecte to the e%ve%. The%e i

alo an inication i the c%eential o% the ue% a%e bae on inte%nal o% e'te%nal %ee%ence 8ee ection J 4.!.1 Client

?e*it%ation an 2ame P%olie%ationK o% mo%e etail.

67 alo uppo%t eve%al lan*ua*e binin* 8ee ection J4.9 7ulti"Fan*ua*e nte*%ationK o% mo%e etail. ae on

the binin*, the%e a%e limitation on potential inte%ope%abilit) between pa%ticula% mea*e t)pe 8ee ection J 3.&.4

7ea*e Pa)loa T)peK o% mo%e etail an pu%e ava bae 7 client. The%eo%e, in ome cae, it i alo

impo%tant to now in what lan*ua*e the client application i w%itten. Thi i alo available th%ou*h the aminit%ation

inte%ace.

Client that connect with aminit%ato% acce an p%ivile*e 8ee ection J3..&  Aminit%ato% Authentication an

 Autho%i@ationK o% mo%e etail will be able to cloe client connection, an aect thei% ue o aemon"mana*eetination.

Client connection a%e alo coni*u%able to uppo%t loa"balance connection to a clute% o %oute 67 aemon.

<etail can be oun in ection J4.3.& Clute%in*K.

-1* Message Persistence

Pleae %ee% to ection J4.1.& to%a*e A%chitectu%eK.

3

Page 74: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 74/90

TC- 67 et P%actice

-1, Server Scaling

calin* o e%ve% i a unction o loa balancin* an pe%o%mance tunin*. eve%al pe%o%mance"tunin* u**etion

have al%ea) been mae th%ou*hout the ocument up to thi point. u**etion va%ie %om p%otocol heae% ua*e, to

Gueue %outin*, topic low"cont%ol it%ibution an the ue o b%i*e to move mea*e between etination.

Topic a%e alo an e'cellent mechanim to p%ovie calin* an loa balancin* when ue in conunction with %outin*. A

ec%ibe in ection J3.3.&.4 calin* an Pe%o%mance Tunin* o 7 Topic with 67K the ue o %outin* with topic

alo p%ovie the capabilit) to eal with *eo*%aphic an netwo% banwith iue.

Dith 67, the capabilit) o pe%o%min* calin* i t%anpa%ent to the client application while till maintainin* compliance

with the 7 peciication. Dith topic o% Gueue %outin* 8pleae ee %elevant ection o the ocument o% mo%e etail,

the client ha the option to connect to potentiall) an) one o eve%al 67 e%ve% an till have acce to the Gueue o% 

topic mea*e o% which the application ha inte%et in inte%actin*. The%eo%e, it i poible to ai*n a connection to

an) one o thee e%ve% an till have viibilit) to the ei%e etination.

Dithin the connection acto%), 8eithe% calle %om the 2< inte%ace o% cont%ucte in the application it i poible to

eine a elimite lit o poible e%ve% to connect with. At time o connection, the e%ve% ete%mine the leat bu)

hot an ai*n the actual connection to that hot. t i impo%tant to note that the e%ve% lit can have ault"tole%ant pai%lite a the potential hot. The%eo%e, ault tole%ance an loa balancin* at connection time can both be attaine with

67 e%ve%.

The connection to the e%ve% i bae on inte%nal met%ic that ete%mine the loa o the 67 e%ve% at the time o the

connection %eGuet. Thi i not me%el) ome imple %oun"%obin <2 looup. The%e i alo no nee o% eicate loa"

balancin* ha%wa%e o% eicate b%oe% in the 67 olution, a i %eGui%e b) othe% 7 veno%.

 A mentione ea%lie%, the ue o 2< looup o% the connection acto%) ino%mation i the %ecommene metho o% 

client to c%eate connection acto%) %ee%ence.

t i alo poible to c%eate a manual )tem to etablih connection to the leat bu) e%ve% at connection time. Thi

mae ue o the amin AP o% 67. Thi i not necea%il) %ecommene ince thi will %eGui%e coin* at the client

application level with the amin AP. The amin AP i not eine b) 7, an, the%eo%e, thi coe will not be po%table.The beneit o c%eatin* a cutom loa"balance connection %eGuet a%e minimal to the t%uctu%e implemente in the

67 e%ve%. 2eve%thele, it i available a an option.

• EMS pro#ides routing for capa'ilit to deal ith geographic and netork 

'andidth issues.

• ith topic or 6ueue routing ;please see rele#ant sections of the document

for more details<0 the client has the option to connect to potentiall an

one of se#eral EMS ser#ers and still ha#e access to the 6ueue or topic

messages for hich the application has interest in interacting.

• EMS load 'alancing feature also pro#ides mechanism for client application

to connect to least loaded EMS ser#er from the list of EMS ser#ers.

-1- +d#inistration and Monitoring

 Aminit%ation i a ve%) b%oa topic. The%e a%e ie%ent aminit%ation an monito%in* %eGui%ement epenin* on the

tate o the p%oect. The%e a%e ie%ent %eGui%ement o% evelopment 8whe%e etaile t%acin* i impo%tant than o% 

p%ouction 8whe%e etaile t%acin* woul caue an unnecea%) p%ocein* bu%en.

4

Page 75: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 75/90

TC- 67 et P%actice

The%e a%e alo ie%ent %eGui%ement o% ie%ent t)pe o ata. ome ata nee to be lo**e an i ue o% 

hito%ical %ee%ence. -the% ata i ue o% %eal"time ale%tin* o event. ome ale%t %eGui%e %eal"time p%o*%ammatic

%eaction to the ata event to aect chan*e eithe% in the in%at%uctu%e, the application o% both.

The%e i alo a ie%ent et o %eGui%ement between in%at%uctu%e monito%in* an application monito%in*. The%e a%e

alo epenencie at the hot, ope%atin* )tem, netwo% an netwo% in%at%uctu%e that will aect the pe%o%mance

an behavio% o the application an mea*in* in%at%uctu%e. t i the um o the aminit%ation an monito%in* o all

thee a%ea that a%e %eGui%e to eectivel) pe%o%m %oot"caue anal)i.

$o% e'ample, on a hot that i ue to conume mea*e, aume that the%e i heav) wappin* occu%%in* becaue o 

an out"o"memo%) conition. Thi conition ma) %eult in the 67 hot enactin* low"cont%ol becaue o a th%ehol

to%a*e conition. Thi low cont%ol conition on the 67 hot, caue b) a memo%) conition on the conume% hot,

will %eult in the p%ouce% on a thi% hot bein* bloce %om enin* mea*e. the ale%t i *ene%ate %om the thi%

p%ouce% hot, it will till not help an application aminit%ato% %eolve the iue ince it i onl) a )mptom o a p%oblem

an not the actual %oot caue. 6ven wo%e, i the%e i a epa%ation o monito%in* utie, the application aminit%ation

will have no viibilit) to the act it i a ha%wa%e iue on a completel) ie%ent hot. The aminit%ato% o% the 7

conume% application ma) not be awa%e the ala%m i the %eult o anothe% application on anothe% hot o% which the 7

aminit%ato% ma) alo have no viibilit).

epa%ation o monito%in* utie, an potentiall) aminit%ation utie, o% the mea*in* in%at%uctu%e ma) not be a

viable t%ate*). Dhile the%e i a %eGui%ement o% omain e'pe%tie, tool ue an etup o% the omain e'pe%t ma)

ove%lap with othe% tool that al%ea) e'it o% othe% aminit%ato% o% omain e'pe%t. the%e i no inte*%ation amon*

thee tool, then the%e i no choice but to potentiall) uplicate monito%in* utie to enu%e that the mea*in*

in%at%uctu%e an mea*in* client can be maintaine to p%ovie inut%ial"t%en*th Gualit).

The%e a%e olution to all thee iue, but it i be)on the cope o thi ocument to mae etaile %ecommenation

o% a peciic all"encompain* aminit%ation an monito%in* t%ate*) o% the mea*in* in%at%uctu%e.

?e*a%le, thi ection will p%ovie a umma%) an p%ovie e'ample o how man) o the aminit%ation an

monito%in* capabilitie a%e a%ee within the 67 in%at%uctu%e. Thi inclue a ec%iption o what i e'poe o% 

aminit%ation an monito%in* capabilitie. Thi ection alo e'plain what i available to automate the p%ocee an

inte*%ate with potentiall) e'itin* tool an utilitie.

4..4.1 EMS &o""and)9ine Inter+a*e

67 p%ovie a comman"line inte%ace 8CF that allow aminit%ato% to connect to the iniviual 67 e%ve% an

inte%act i%ectl) with all the unction available in the 67 in%at%uctu%e. Acce an pe%miion to e'ecute the

aminit%ation comman i a unction o the ientit) ue to *ain acce the iniviual 67 e%ve%. ?ole can be

ai*ne in a hie%a%chical bai, with a ve%) ine"*%ain %et%iction o% the iniviual aminit%ato%; aminit%ative

capabilitie ao%e th%ou*h the CF 8pleae %ee% to ection J3..& Aminit%ato% Authentication an Autho%i@ationK o% 

mo%e etail.

The CF i alo valuable in the c%eation o aminit%ation an etup c%ipt. c%ipt a%e a valuable tool ue o% cutom

intallation an coni*u%ation. The CF will be a valuable aet in c%eatin* the %eGui%e c%ipt.

t i impo%tant to note that the CF upate the behavio% o the 67 e%ve% in %eal"time. $o% e'ample, i a new topic i

c%eate th%ou*h the CF, the topic i immeiatel) available o% ue, an the app%op%iate coni*u%ation ile i immeiatel)

upate. t i impo%tant to note that it i poible to manuall) eit the coni*u%ation ile, but the 67 e%ve% mut be

%eta%te beo%e the e%ve% can ue the new coni*u%ation.

CF comman a%e ue o% othe% pu%poe than impl) c%eatin* coni*u%ation ile an moi)in* the behavio% o the

67. The CF comman alo allow ull aminit%ation o the %unnin* e%ve% to aut conition that ma) aect

!

Page 76: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 76/90

TC- 67 et P%actice

pe%o%mance. $o% e'ample, an aminit%ato% can pu%*e Gueue, elete o% b%owe iniviual mea*e, chan*e the

ebu**in* an mea*e t%acin* level, etc.

Client houl not ove%loo the beneit o the 67 coni*u%ation ile. $o% intallation coni*u%ation, thee can be p%e"

coni*u%e an ue o% initial intallation. Thi will %euce the etail an comple'it) o the %eGui%e intallation c%ipt

o% the ie%ent application *%oup an aminit%ato%. The it%ibution o peciic coni*u%ation ile ma) alo be ue a

imple mechanim to p%ovie bul chan*e to a wie *%oup o coni*u%ation a an alte%native to c%ipt that inco%po%ate

the CF.

<etail o the CF an the etup o aminit%ato% acce an all aminit%ation comman can be oun in the TC-

67 e%; 5uie.

• EMS pro#ides a command)line interface ;CI< that allos administrators to

connect to the indi#idual EMS ser#ers and interact directl ith all the

functions a#aila'le in the EMS infrastructure.

• %he CI updates the 'eha#ior of the EMS ser#er in real)time.

• CI can 'e in#oked using script as parameter.

4..4.2 -d"inistration -PI 

The 7 peciication oe not p%ovie an) tana% %ee%ence o% an aminit%ation AP. Dith 7, it i e'pecte

veno% will p%ovie thei% own aminit%ation AP. TC- ha c%eate an Aminit%ation AP o% ue with 67. The AP

i o% ue with ava. 7o%e etail a%e available in the HT7F"bae ava <oc that a%e inclue with the 67 ocument

it%ibution. The%e a%e eve%al ample p%o*%am inclue with the 67 otwa%e it%ibution to emont%ate the ue o 

the aminit%ation AP.

?athe% than uin* c%ipt an the CF, thi AP can be ue to c%eate p%o*%ammatic inte%ace to the 67 aminit%ation

unction. -ne o the intention o the amin AP i to ue thi AP to c%eate 5 inte%ace. Anothe% application i to ue

it a an inte*%ation AP o% ue with thi%"pa%t) application monito%in* an cont%ol p%o*%am. TC- ha ue thi AP to

buil a e%vice to allow Haw to inte%act with the 67 aminit%ative inte%ace. Pleae %ee% to the ne't ection o% mo%e

etail.

• EMS pro#ides *a#a -!I for administration.

• %hese -!I can 'e used to create programmatic interface to the EMS

administration function.

• %IC& has used this -!I to 'uild a ser#ice to allo Fak to interact ith

the EMS administrati#e interface.

4..4.3 Ha06 -d"inistration So+t0are

Haw i a pe%vaive aminit%ation an monito%in* technolo*) that i ue b) all o TC-; p%ouct. t ha evolveove% 1! )ea% o evelopment. Haw i not a in*le p%ouct, but a uite o monito%in* an aminit%ation tool. Haw

inclue:

TC- Haw A*ent an ne%ence 6n*ine Thi i a p%oce that p%ovie the capabilit) to pe%o%m %eal"time

inte%active o% %ule"%iven monito%in* an automation o ope%ation p%oceu%e. t p%ovie the abilit) to

int%opect all int%umente application an monito% the e'poe aminit%ation inte%ace. t alo monito%

)tem p%ocee, lo* ile, ope%atin* )tem pa%amete% an p%otocol. t allow int%umente application to

be monito%e an cont%olle bae on the tate o the application an the tate o )tem %eou%ce.

Page 77: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 77/90

TC- 67 et P%actice

nt%umentation can be accomplihe with a i%ect implant main* ue o the Application 7ana*ement

nte%ace 8A7 o% th%ou*h uin* A7 in a p%o') application. A7 i a multi"lan*ua*e open inte%ace o% a*ent

an %ule"bae acce.

TC- Haw Conole The conole i built uin* the open Conole AP. t cont%ol the monito%in* an

mana*ement th%ou*h the Haw A*ent. t i impo%tant to note that the%e a%e no %ule in a Haw Conole, awith mot othe% monito%in* an mana*ement )tem. The %ule %un a*aint the a*ent locall). The%e i no

nee o% a conole to be p%eent o% the p%ocein* o %uleM the a*ent o it all. The Conole application:

o 7onito% all a*ent an aociate mic%o"a*ent 8tate ino%mation an e'poe aminit%ation metho,

both )nch%onou an a)nch%onou.

o P%ovie %eal"time inte%%o*ation an int%opection o application, p%ocee, ope%atin* )tem

pa%amete%, ile )tem, etc. via the a*ent.

o <ipla) all ale%t %om the a*ent.

o P%ovie %eal"time manipulation o application, ope%atin* )tem, an ile )tem th%ou*h tana%

inte%action with the a*ent an it mic%o"a*ent.

TC- Haw Aapte% Aapte% p%ovie a*ent acce to e'te%nal component, which inclue: atabae,

27P a*ent an conole, 67 e%ve%, etc.

%he EMS installation includes the adapter for EMS to interface directl to the

Fak -gent. %his allos an Fak console application to interact and monitor

the EMS ser#er0 and>or an *MS application that has a direct Fak Implant or a

Fak pro7 'ased on the Fak -MI.

The bae Haw P%ouct inclue a baic 5"bae Conole application. Howeve%, client a%e not limite to thi

powe%ul but utilita%ian Haw Conole p%ouct.

 An HTTP aapte% i available to allow Haw conole inte*%ation with an) po%tal p%ouct. A c%een hot o the HTTP

inte%ace ue in conunction with the TC- po%tal i a ollow:

Page 78: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 78/90

TC- 67 et P%actice

TC- ha alo c%eate an all"encompain* aminit%ation tool that mae ue o ava e%vlet an inte*%ation with

the Haw Conole AP to c%eate ve%) powe%ul 5"bae aminit%ation tool. 2ot onl) can thi tool cont%ol mot o 

TC- p%ouct 8uch a the application c%eate with Aapte% <, but alo cont%ol uine Do% 8ee ection

J4..1 <eplo)in* 67 with D !.K an othe% TC- tool an utilitie.

• %IC& -dministrator can 'e used to monitor EMS ser#er.

elow a%e th%ee c%een hot that onl) pa%tiall) lit the etail o an 67 e%ve% a etaile %om the in*le J5ene%al

TabK in the TC- Aminit%ato% otwa%e:

#

Page 79: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 79/90

TC- 67 et P%actice

9

Page 80: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 80/90

TC- 67 et P%actice

2ote that the Aminit%ato% otwa%e p%ovie all the monito%in* an comman acce available with the 67 CF,

e'cept th%ou*h an HTTP e%vlet"%iven inte%ace.

• %here are also se#eral third)part companies that pro#ide EMS

management and monitoring console ;eg. S.com<

The%e a%e alo eve%al thi%"pa%t) companie that inte*%ate Haw A*ent into thei% viuali@ation tool. The) have

eentiall) taen the Haw Conole AP an inte*%ate thei% viual tool with the AP. The %eult i the capabilit) o% 

cutome% to eail) c%eate an) cutom viuali@ation inte%ace ei%e. elow a%e two inte%ace built with ?T =iew

technolo*):

#0

Page 81: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 81/90

TC- 67 et P%actice

#1

Page 82: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 82/90

TC- 67 et P%actice

Thi ection p%ovie onl) a ample o the ue o Haw an Haw AP to p%ovie multiple powe%ul viuali@ation an

monito%in* tool o% both the 67 in%at%uctu%e a well a application ue in conunction with the in%at%uctu%e.

Haw alo p%ovie a powe%ul %ule bae that ope%ate a*aint the ine%ence en*ine o the a*ent. Thi allow the

aminit%ato% to c%eate powe%ul compoun %ule to automate ope%ation o the in%at%uctu%e an the application that

inte%ace an ue the 67 in%at%uctu%e.

$o% e'ample, aume a p%ouce% application wa c%eate that uppo%t the A7 Haw AP to p%ovie application

int%umentation, in thi cae, the capabilit) to allow the p%ouce% to int%ouce ela) in the enin* o mea*e to the

67 e%ve%. A %ule can be c%eate that monito% the amount o i bein* ue o% pe%itent to%a*e in the 67 e%ve%.

!U o the to%a*e i utili@e, the %ule coul ale%t the p%ouce%8 to be*in to low the %ate o mea*e *ene%ation.

Dhen the th%ehol i a*ain below !U, the %ule coul inicate that the p%ouce% ma) %eume no%mal p%ocein*. Thi

%ule will p%oactivel) t%) an p%event the low"cont%ol th%ehol %om bein* %eache.

The lo*ic o% the p%ocein* behavio% i e'poe b) the %ule to the ine%ence en*ine. The%eo%e, the it%ibute

ope%ation lo*ic i cont%olle th%ou*h the %ule; E7F meta"ata %athe% than %eGui%in* it to be inle'ibl) coe into the

application 8which woul %eGui%e not onl) the lo*ic o the %ule, but a communication channel an a*%ee"to mea*e

o%mat amon* all pa%ticipant a well. Haw olve thi application ope%ation p%oblem in both TC- an non"TC-envi%onment.

?ule a%e imple to c%eate, moi) an it%ibute. t i all accomplihe th%ou*h a imple 5"inte%ace an %eGui%e no

c%iptin* o% coin* 8althou*h the%e i an AP available houl the client wih to c%eate p%o*%ammatic inte%ace to

chan*e %ule.

7o%e etail on Haw, Haw inte*%ation, A7, Conole AP, an all Haw aapte% can be oun in eve%al TC-

Haw manual. The TC- 67 e%; 5uie alo ec%ibe the 67 Haw inte%ace an all the e'poe 67

metho available th%ou*h Haw.

4..4.4 Integration 0it ,ter -d"inistration Inter+a*es

eve%al option a%e available to ue othe% aminit%ation tool an inte%ace. The%e a%e othe% notable uite o 

mana*ement an aminit%ation tool available %om othe% veno%, uch a HP that ha the -pen=iew p%ouct uitethat inclue a wie %an*e o tool %om 27P conole to %oot"caue anal)i tool, co%%elation en*ine, etc. -the% 

i*niicant veno% in thi a%ena inclue CA an 7C.

• %IC& pro#ides a 'i)directional interface 'eteen Fak and Enterprise

Management platforms such as F! &penNie using standard management

interfaces.

The cu%%ent uppo%t i o% Deb e%vice 7ana*ement $%amewo% 8D7$ v1.&0.13. D7$ i a mana*ement

%amewo% that p%ovie a conitent an ecu%e mechanim bae on Deb e%vice.

• Fak also supports 'idirectional integration ith an SDM! management

console through the SDM! adapter

Thi p%ovie the p%ocein* an *ene%ation o 27P t%ap, a well a pollin* 27P a*ent o% inte*%ation o 

ino%mation in ue with Haw ?ule.

Haw alo ha the capabilit) o w%itin* event to lo* ile o% monito%in* b) othe% aminit%ation an monito%in* )tem.

Conve%el), Haw can alo monito% lo* ile c%eate b) othe% )tem. Fo* ile a%e ometime the onl) alte%native o% 

inte*%ation between monito%in* )tem i the%e i no AP e'poe.

#&

Page 83: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 83/90

TC- 67 et P%actice

• EMS also pro#ides the capa'ilit of generating trace and log 8les directl0

hich can 'e used as a rudimentar integration tool to other management

and administration sstems.

• It is also possi'le to use the EMS -dministration -!I to create custom

gateas 'eteen EMS and administration tools used ' the client.

t i alo poible to ue the 67 Aminit%ation AP to c%eate cutom *atewa) between 67 an aminit%ation tool

ue b) the client. Thi i the techniGue ue with Haw. ?athe% than puttin* an implant into an 67 e%ve%, a *atewa)

wa c%eate uin* the 67 aminit%ation AP an Haw A7. n thi wa), the 67 e%ve% woul not be complicate

with A7 i the aminit%ato% wa not main* ue o Haw"bae tool.

t i alo i*niicant to note that Haw uppo%t inte*%ation with 7E application cont%ol.

4..4.5 !ra*ing o+ te EMS Server 

T%acin* o e%ve% event can be enable on the 67 e%ve%. The%e a%e eve%al clae o ata o% which the 67

e%ve% can p%ovie t%acin* e%vice, incluin*:

 Acce Cont%ol

 Aminit%ation

?outin*

Thi ata can be ent to the conole o% lo**e to ile, o% both. Fo* ile can be et to onl) *%ow to a ma'imum i@e.

Dhen thi i@e i %eache the ile i copie to a %otate ile, an lo**in* continue until the ile a*ain %eache it

ma'imum peciie i@e.

67 p%ovie ine"*%ain cont%ol capabilitie o% t%acin* that can be enable to monito% the 67 e%ve%. The%e a%e ove% 

&0 e%ve% t%ace option available. 67 p%ovie a eault *%oup o option that can be enable a well.

t i not %ecommene that all e%ve% event"t%acin* option be enable a*aint the 67 e%ve%. The) houl onl) beenable a %eGui%e, o% the%e will be a ho%%enou amount o etail *ene%ateM thi will onl) complicate ea%che o% 

peciic ino%mation. all e%ve% event"t%ace option a%e enable, looin* o% peciic ino%mation become lie J%inin*

%om a i%e hoeK.

The mo%e e%ve% t%acin* option that a%e monito%e o% lo**e, the mo%e the impact on the pe%o%mance o the 67

e%ve%. t houl be ue uicioul) o% p%ouction envi%onment. The p%ouction e%ve% t%acin* option houl be

enable u%in* pe%o%mance p%otot)pin* to p%ovie a mo%e accu%ate p%ouction pe%o%mance met%ic. Autin*

monito%in* an lo**in* option u%in* p%otot)pin* will alo inicate the impact o the t%acin* option u%in* p%ouction.

t i impo%tant to note that the e%ve% t%ace option can be enable an iable th%ou*h the CF o% th%ou*h Haw"awa%e

application. The%eo%e, client coul ue Haw %ule to enable o% iable e%ve% t%acin* onl) when ce%tain conition o% 

ituation occu%, the%eb) automatin* the t%acin* capabilitie o 67.

T%acin* can alo be enable th%ou*h comman"line a%*ument when ta%tin* the 67 e%ve%. Thi wo% well in

evelopment an tetin* whe%e the coni*u%ation ile a%e to %emain tatic, but o% b%ie, inte%%upte pe%io, the behavio% 

o% t%acin* i necea%) to be moiie.

• EMS pro#ides 8ne)grain control capa'ilities for tracing ith o#er 2 trace

options.

#3

Page 84: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 84/90

TC- 67 et P%actice

• It is not recommended that all ser#er e#ent)tracing options 'e ena'led

against the EMS ser#er in production as it ill aect performance

considera'l. %he more ser#er tracing options that are monitored or

logged0 the more the impact on the performance of the EMS ser#er.

• %he ser#er trace options can 'e ena'led and disa'led through the CI or

through Fak)aare applications.

4..4. Message !ra*ing 

The 67 e%ve% can alo p%ovie etaile t%acin* o mea*e that low th%ou*h the e%ve% an not ut e%ve% event

a ec%ibe above. Thi i pa%ticula%l) valuable o% application ebu**in*, evelopment an tetin*. T%acin* can be et

a*aint mea*e o% etination.

<etination t%acin* can be enable at va%iou level incluin* when:

mea*e a%e %eceive into the etinationM

mea*e a%e ent to the conume%M

mea*e a%e e'chan*e with othe% mea*in* in%at%uctu%e 8?ene@vou o% ma%t ocetM

mea*e a%e acnowle*eM

mea*e a%e ent ac%o etination b%i*eM

mea*e a%e %outeM

mea*e ent to tempo%a%) etination.

The application alo ha the capabilit) to caue the 67 e%ve% to enable mea*e"level t%acin*. Thi i accomplihe

b) ettin* the J7OTC-OT?AC6K p%ope%t) 8ee ection J3.&.&.1 P%ovie%"peciic P%ope%tieK o% mo%e etail.

<epenin* on the value o the p%ope%t) et in the optional 7 heae%, eithe% ut heae% ino%mation i %eco%e o% the

heae% an mea*e pa)loa.

7ea*e t%acin* alo will int%ouce non"ete%minitic p%ocein* ove%hea to the 67 e%ve%, an the%eo%e houl

onl) be ue uicioul) in p%ouction. T%acin* mea*e bae on etination alo can be cont%olle th%ou*h the CF

inte%ace o% th%ou*h Haw"awa%e application. The%eo%e, the ame %ecommenation an u**etion a ec%ibe in

the p%eviou ection alo appl).

t i alo %ecommene that client e'poe the mea*in* t%acin* capabilit) th%ou*h an aminit%ation AP uch a

Haw A7. Thi will allow the application to enable o% iable t%acin* thou*h aminit%ation o% %ule"bae cont%ol.

• EMS pro#ides message)le#el tracing capa'ilities hich can 'e

accomplished ' setting the 4*MSB%IC&B%+-CE propert for messages.

• Message tracing also ill introduce non)deterministic processing o#erhead

to the EMS ser#er0 and therefore should onl 'e used (udiciousl in

production.

• %racing messages 'ased on destination also can 'e controlled through the

CI interface or through Fak)aare applications.

#4

Page 85: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 85/90

TC- 67 et P%actice

4..4.# Monitoring Server Events tro/g !opi*s

 An alte%native to the monito%in* capabilitie ec%ibe in ection J4..4.! T%acin* o the 67 e%ve%K, 67 alo

p%ovie pecial topic that a%e populate with e%ve% event mea*e. A with %e*ula% topic, no mea*e a%e w%itten

to thee pecial topic unle a conume% peciicall) %e*ite% inte%et in thee mea*e. The%eo%e, the%e i no

inhe%ent ove%hea until thee topic have conume%. The la%*e% the numbe% o topic that have conume% aociatewith them, the *%eate% the ove%hea incu%%e b) the 7 e%ve%.

7onito%in* o event topic i an e'cellent wa) o ta%tin* an toppin* monito%in* event that o not %eGui%e an)

aminit%ation implant o% acce via the CF o% 67 aminit%ation AP. impl) %e*ite%in* a a conume% %eult in

the e%ve% *ene%atin* the %elevant mea*e to the topic. <)namic topic a%e ueM the%eo%e, the mo%e etaile the

topic name the mo%e ine"*%ain the mea*e an monito%e event 8ee ection J 3.4 Tempo%a%), <)namic an tatic

<etinationK o% mo%e etail on )namic topic.

7o%e than &4 wie"*%ain event can be monito%e th%ou*h thee pecial topic. All monito% topic be*in with the p%ei':

JS).monito%K. $ine% cont%ol can be ue th%ou*h the level o the topic name. $o% e'ample, monito%in*

JS).monito%.connection.iconnectK woul onl) allow the conume% to %eceive ale%t when a client iconnect.

7onito%in* the topic JS).monito%.connection.QK woul allow the conume% to %eceive all client connect an iconnect

event mea*e. 2otice a*ain, how wil ca% can be ve%) valuable.

t i mot einitel) not %ecommene o% client to c%eate a topic conume% with the topic JS).monito%.RK. Thi woul

%eult in the captu%e o all monito%in* event.

The beaut) o thee pecial )tem"level )namic topic i that the) allow tana% 7 application to be ue to

c%eate peciic 67 mana*ement application. ecaue thee topic a%e no ie%ent than an) othe% )namic topic,

acce cont%ol an pe%miion can be ai*ne b) the aminit%ato% to enu%e onl) autho%i@e conume% can *et

acce to thee topic. A*ain, no peciali@e aminit%ation comman nee to be utili@e to p%ovie hie%a%chical

aminit%ation acce to thee e%ve% event. The ame cheme a ec%ibe in ection J3..3   Application

 Autho%i@ationK can be applie.

The ue o )tem topic i an e'cellent mechanim to implement application uch a ecu%it) auit o% %eco%in*

hito%ical 67 e%ve% event. The ue o non"p%o*%ammin* evelopment tool 8uch a TC- uine Do% to

inte%ace with thee Gueue p%ovie a %api abilit) to c%eate auit an event lo* that a%e %eco%e to cent%ali@e client

ata to%e.

• -ll monitor topics 'egin ith the pre87@ 4Qss.monitor.

• %he messages are created on these topics onl if there are recei#ers on

these topics.

• ecause monitor topics contain potentiall sensiti#e sstem information0

authentication and permissions are alas checked hen clients access a

monitor topic. %hat is0 e#en if authentication for the ser#er is disa'led0

clients are not a'le to access monitor topics unless the ha#e logged inith a #alid username and passord and the user has permission to #ie

the desired topic.

• or production sstems0 monitoring all e#ents ma ha#e an ad#erse eect

on sstem performance. %herefore0 it is not recommended to create topic

su'scri'ers for $sys.monitor.>  in our production sstem.

7o%e etail on )tem monito% topic can be oun in the TC- 67 e%; 5uie.

#!

Page 86: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 86/90

TC- 67 et P%actice

4..4.% EMS Server Statisti*s

67 ha the capabilit) o *ene%atin* tatitic o% %ate o event an mea*e that pa th%ou*h the e%ve%. The

e%ve% etail can be accee th%ou*h the CF o% Haw"enable application uch a TC- Aminit%ato%. Cutome%

can alo c%eate thei% own application bae on the 67 Aminit%ation AP to c%eate cutom tatitic"monito%in*

application.

The%e i a wie a%%a) o event o% which tatitic a%e maintaine. tatitic *athe%in* can be et at the eault level, o% 

a *%eate% level o etail can be *athe%e b) impl) moi)in* a in*le e%ve%"coni*u%ation ile ent%).

• default0 the statistics are updated and recalculated e#er three

secondsK hoe#er0 this can 'e altered.

• %he gathering of statistics does not pro#ide much o#erhead on the EMS

ser#er/s performance.

• Ser#er statistic information is onl stored in memor of the EMS ser#er. If 

persistent statistic histor is re6uired0 it must 'e e7tracted from the ser#er

through an admin -!I or Fak)ena'led application or tool.

-5 eploing EMS /it! Ot!er TIBCO Co#ponents

-5' eploing EMS /it! B& .N

p to thi point, all icuion aume that all inte%ace to the mea*in* in%at%uctu%e woul be via p%o*%am

evelope eithe% a tan"alone application. The%e a%e othe% envi%onment available to evelop application that o

not %eGui%e coin*, o% the p%oce o application evelopment i %euce to vi%tuall) no coin*. Thee application

p%ovie the capabilit) to moel the enti%e p%oce low an wo%low a well a all the inte*%ation, mea*e mappin*

an e'ception p%ocein*. Thee application p%ovie en*ine that then allow the application to %un i%ectl) a*aint the

ei*n.

6'ample o thi inclue p%ouct uch a TC-; uine Do% 8D. D, o% e'ample, can be ue to c%eate the

aapte%, b%i*e an even comple' application, without the ue o coin*. An e'ample can be ue to emont%ate a

imple p%oce low that imultaneoul) en a tatic mea*e to an 67 topic, an 67 Gueue an mae ue o 

7 o% 7 7I"e%ie to immeiatel) en a mea*e 7I a well. Thi e'ample can be c%eate in le than a hal an

hou%.

The p%oce low i c%eate b) i%t impl) %a**in* the mea*in* o%m %om a palette an illin* in the %eGui%e

etail. $o% the 67 connection the main o%m o% 7 wa:

#

Page 87: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 87/90

TC- 67 et P%actice

The avance eatu%e tab ipla)e the ollowin* o%m ino%mation:

2otice that the etail o% the 7 communication o%m a%e impl) the etail that woul be ue o% the connection

acto%), connection an topic an Gueue connection within an application. F coul have alo been coni*u%e ut a

eail).

Communication with 7 to 7I"e%ie wa alo ut anothe% imple o%m to ill in:

#

Page 88: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 88/90

TC- 67 et P%actice

2ote that the onl) ie%ence a%e with the veno%"peciic component o the 7 2< connection acto%ie to obtain

the necea%) ino%mation %om the two ie%ent 2< to%e.

 At thi point, the p%oce low wa c%eate to elive% the mea*e. The low wa moele a ollow:

 At thi point, the application wa complete. The Publihe% an Gueue ene% impl) we%e coni*u%e to %ee%ence the

al%ea) coni*u%e mea*in* element, an eve%)thin* wa %ea) to %un. ?unnin* the application put the ame

mea*e in all th%ee place.

Thi how the bai o a imple application that coul act a imple b%i*e between 7 veno% a ec%ibe in

ection. The ame tool coul alo have been ue to p%ovie inte*%ation to 6 envi%onment an othe% component

moel o% application, with ull monito%in*, p%oce low, e'ception hanlin*, an mea*e mappin*, etc.

##

Page 89: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 89/90

TC- 67 et P%actice

Thee tool a%e an alte%native to c%eatin* p%o*%am that inte%ace with the 7 envi%onment. Client houl conie% 

D a an alte%native to w%itin* cutom coe. The) a%e e'cellent alte%native o% ha%e mea*in* e%vice.

-; Interacting /it! Ot!er 3MS Providers

t i %ecommene that client %et%ict the numbe% o 7 veno% implementation that a%e emplo)e a pa%t o the

mea*in* olution. -ne houl be ue o% the main mea*in* in%at%uctu%e. -the% can be inte*%ate a necea%).

The natu%e o 7 allow a in*le veno%; 7 to be ue with all 7 application. The ue o a in*le veno% 

p%ovie the cleanet implementation %om a uppo%t an aminit%ation pe%pective.

The%e i no veno% inte%ope%abilit) with 7 at the wi%e"level, o inte*%ation o% aapte% at thi level i not an option.

nte*%ation at the application level i a poible mechanim to inte*%ate between two 7 veno%. $o% e'ample, i 

acce i %eGui%e to 7 7I"e%ie an the 67 in%at%uctu%e, it i poible to c%eate connection via 7 to both

envi%onment %om the ame 7 application. Thi i poible ince the etail o the veno%"peciic connection a%e

hien in the connection acto%) etail, allowin* connection to both %om the ame application. 8Thi i onl) one

alte%native that i u**ete a a icuion point. TC- alo ha available a C-T 7I aapte%. ?e*a%le, uin*

7 a a common inte%ace to two mea*in* in%at%uctu%e 867 an 7I i poible whe%e the alte%nate mea*in*in%at%uctu%e i in p%ouction an p%ovie a 7 w%appe% ove% thei% tana% mea*in* inte%ace in thi cae the

7I AP uite.

 A econ inte*%ation alte%native i via a 7"level aapte%, whe%e a 7 application i c%eate that act a a *atewa)

to b%i*e the two in%at%uctu%e. Thee *atewa) 8alo ometime calle b%i*e woul bet be eplo)e a ha%e

%eou%ce %athe% than bein* ai*ne to each application that %eGui%e acce.

 An e'ample o the connection acto%) an etup to ue D to c%eate a 7 b%i*e i p%ovie in the p%eviou ection

o thi ocument. ut unlie the p%eviou e'ample, one connection woul be a a conume%, the othe% a a p%ouce% 8in

the p%eviou e'ample, both a%e p%ouce%.

?e*a%le o the mechanim eplo)e, it will %eGui%e mo%e inveti*ation beo%e etaile ei*n can be c%eate.

t i impo%tant to note that ome 7 veno% p%ovie C-T 7 b%i*e between ie%ent veno% o 7.

no%tunatel), the) a%e %athe% *ene%ic an *ene%all) o not tae into conie%ation thin* uch a 7 mea*e

veno%"peciic p%ope%tie that ai in the cont%ol o the 7 in%at%uctu%e, the%eb) nulli)in* ome o the othe% veno%;

value ae capabilitie.

-< MultiK:anguage Integration

-bvioul), 7 i a mea*e AP peciication to uppo%t a tana% inte%ace o% ava application to inte%ace to the

veno%"peciic 7-7. no%tunatel), a ava"onl) inte%ace to the mea*in* in%at%uctu%e i not necea%il) a viable

alte%native. 2ot eve%)one ha e'pe%tie with ava, an o%cin* all evelope% to lea%n ava i not necea%il) a

%eaonable olution. Althou*h ava i a %obut p%o*%ammin* plato%m, TC- i main* ue o 67 a a ull mea*in*

plato%m, not ut a 7"cent%ic envi%onment.

The%eo%e, 67 alo ha uppo%t o% C an CL a p%o*%ammin* lan*ua*e that uppo%t mea*e e'chan*e with all

7"compliant ava application. A a %eult, 7 client can inte%act with C an CL client th%ou*h 67 on a native

level an without moiication. The%e a%e ome inte%ope%abilit) %et%iction that a%e lan*ua*e"binin*"peciic. $o% 

e'ample, 7 peciie b)te an obect mea*e t)pe. -bvioul), a ava obect %ee%ence an C obect %ee%ence a%e

not compatible 8o% mo%e etail ee ection J3.&.4 7ea*e Pa)loa T)peK.

The C an CL attempt to mimic the 7 peciication o% mea*e c%eation, wi%e o%mat an inte%action with

etination.

#9

Page 90: TIBCOEMSBestPractices15Feb2005

7/23/2019 TIBCOEMSBestPractices15Feb2005

http://slidepdf.com/reader/full/tibcoemsbestpractices15feb2005 90/90

TC- 67 et P%actice

• %here are some interopera'ilit restrictions that are language)'inding)

speci8c hen EMS clients ritten in dierent languages ;*a#a0 C0 CJ< ant

to interact ith each other.

•  *a#a pro#ides the capa'ilit of making use of programs that are ritten in

other languages through the *DI interface. hile this is an option0 it is not

recommended to rite the programs in another language and then using

 *DI to 'ind them to *a#a and the EMS infrastructure. It ould 'e

complicated and still re6uire potential re)mapping of the message formats.