Sie sind auf Seite 1von 7

Difference between SOAP over HTTP and SOAP over JMS?

Reason for choosing JMS in most cases is reliability. But there are other
things that come in mind whether to choose JMS or HTTP.
Reasons to go with HTTP:
Firewall friendly web ser!ices e"#osed o!er internet$
Su##orted on all #latforms easiest connecti!ity in b%b scenario$
&lients can be sim#le and lightweight
Reasons to go with JMS:
'ssured deli!ery and(or only once deli!ery
'synchronous su##ort
Publish(subscribe
)ueuing if better for achie!ing larger scalability and reliability
Better handles tem#orary high load
*arge !olume of messages +,'$
Better su##ort in middleware software
Transaction boundary
-n S.' architecture best #ractice is to use JMS internally for
clients(#ro!iders that can easily connect to +SB$ and HTTP for connecting to
outside #artners o!er internet$.
/sing S.'P o!er JMS gi!es some ad!antages com#ared to HTTP0
s#ecially related to reliability as you may use the #ersistence and
ac1nowledgment features built in the standard.
The same a##lies if you need to establish asynchronous communication or
need to use the load balancing features #ro!ided by JMS ser!ers.
2e can achie!e this using htt# but the im#lementation would be much more
com#licated.
-f we do S.'P o!er JMS0 in fact we can do load balancing.. where as with
S.'P o!er HTTP re3uires additional hardware li1e -P S#rayers
Some New TIBCO BW Interview Qe!tion!
1) What all palettes you have worked in TIBCO BW 5.0?
'nswer 4 File #alette0 generall acti!ities #alette0 5dbc #alette0 htt# #alette0 5ms
#alette0 #arse #alette0 ser!ice #alette0 soa# #alette0 wsdl #alette.
2) What is the ritial setion in TIBCO Business works and what is it used
!or?
'nswer 4 &ritical section is used to sync #rocess instances so that only once #rocess
instance e"ecutes the grou#ed acti!ities at any gi!en time. 'ny concurrently
running #rocess instances that contain a corres#onding critical section grou# wait
until the #rocess instance that is currently e"ecuting the critical section grou#
com#letes. Particularly used for controlling access to shared !ariables. &ritical
section is one of the grou# actions. .thers are iterate0 re#eat until true0 re#eat on
error until true0 while true0 #ic1 first and transaction. -f we select critical section as
the grou# then we get two o#tions. Single grou# and multi#le grou#s.
Single 6rou#
-f you wish to synchroni7e #rocess instances for a single #rocess definition in a
single #rocess engine only one earinstance$ is de#loyed $0 #erform the following:
8. &reate a grou# around the acti!ities you wish to synchroni7e.
%. S#ecify &ritical Section for the 6rou# 'ction field.
9. S#ecify Single 6rou# for the Sco#e field.
.nly one #rocess instance at any gi!en time will e"ecute the acti!ities contained
in the &ritical Section grou#.
Multi#le 6rou#s
-f you wish to synchroni7e #rocess instances for multi#le #rocess definitions0 or if
you wish to synchroni7e #rocess instances across multi#le #rocess engines0
#erform the following:
8. &reate a *oc1 shared configuration resource and s#ecify a name for the
resource.
%. To #erform the synchroni7ation across multi#le #rocess engines0 chec1 the
Multi4+ngine field of the *oc1 resource.
2hen the #rocess instances are e"ecuted by the same #rocess engine0 loc1ing
is #erformed in memory. 2hen the #rocess instances are e"ecuted across
multi#le engines0 the #rocess engines must be configured to use a database for
storage0 and a database transaction is #erformed to ensure that only one
#rocess instance is e"ecuting the critical section grou# at any gi!en time.
9. &reate a grou# around the acti!ities you wish to synchroni7e.
:. S#ecify &ritical Section for the 6rou# 'ction Field.
;. S#ecify Multi#le 6rou#s for the Sco#e field.
<. /se the Browse button in the *oc1 .b5ect field to locate the *oc1 shared
configuration resource you created in Ste# 8.
=. Perform ste#s 9 to < for any #rocess definitions you wish to synchroni7e.
Ma1e sure you s#ecify the same *oc1 shared configuration ob5ect for all
&ritical Section grou#s.
") I! there are three ativities in the ritial setion# $d% update then a
write !ile and then a&ain $d% update. I! the seond $d% update !ails then
what will happen to the !ile written %y write !ile ativity?
'nswer 4 The contents of the file will #ersist.
') What are di!!erent types o! transation &roups supported in TIBCO BW?
'nswer 4 -terate0 re#eat until true0 re#eat on error until true0 critical section0
transaction0 #ic1 first0 while true.
5) Can two (ueue reeivers listen to the sa)e (ueue? I! yes# i! the
)essa&e arrives on the (ueue# when reeiver reeives it?
'nswer 4 The 3ueue which has made connection first. First come first ser!e.
*) I! the )essa&e has hit the (ueue# and there are no reeivers !or it# and
the reeiver o)es alive a!ter * hours# what happens to the )essa&e?
'nswer 4 Message stays on the 3ueue.
+) I! there are !ive )essa&es and pre!eth property is set to ' then what
happens?
'nswer 4 Fetches : messages
,) What are the di!!erent types o! varia%les availa%le in TIBCO?
There are three ty#es of !ariables a!ailable in T-B&.. They are 4
8. 6lobal !ariables 4
6lobal !ariables are used for assigning constants a !alue which is used o!er a
#ro5ect
%. Process !ariables 4
Process !ariables are again of four ty#es. They are 8$ 'cti!ity out#ut %$ Predefined
#rocess !ariables 9$+rror !ariables :$ /ser defined #rocess !ariables. Predefined
#rocess !ariables include >?6lobal@arialbes and >?Process&onte"t
9. shared !ariables 4
/ser defined #rocess !ariables could be defined at a #rocess definition le!el and
assigned a !alue by using an assign acti!ity.
-) What is the di!!erene %etween proess varia%le and shared varia%le?
'nswer 4
10) What is the di!!erene %etween $o% shared varia%le and shared
varia%le?
'nswer 4
11) .ow do u use &et shared varia%le and set shared varia%le?
'nswer 4
12) The !irst ti)e you use a &et shared varia%le does it throw an error?
'nswer 4
1") .ow have you done error handlin&?
'nswer 4
1') What are the di!!erent aknowled&)ent )odes !or a )essa&e?
'nswer 4 There are < modes of ac1nowledgement. They are 4
8$ 'uto A message is ac1nowledged automatically
%$ &lient A use confirm acti!ity for ac1nowledgement
9$ T-B&. +MS +"#licit A use confirm acti!ity for ac1nowledgement0 only a!ailable
for T-B&. +MS
:$ T-B&. +MS no ac1
;$,u#s o1 A message is ac1nowledged automatically on its recei#t
<$ Transactional A when a transaction is included in a #rocess definition. The
message is ac1 when the transaction commits.
15) What is pre!eth and !ailsa!e?
'nswer 4 Prefetch is fetching the messages from the ser!er before recei!er calls.
Failsafe #ro#erty enables to write #ersistence messages to the file with synchronous
i(o calls.
1*) .ow do you send a response !ro) a we% servie?
'nswer 4 2e write to out#ut to the 3ueue from which we recei!ed the re3uest.
1+) What is the di!!erene %etween soap event soure and servie palette?
'nswer 4 Soa# e!ent source is used for single o#eration0 single end #oint. Ser!ice
#alette is used for multi#le o#erations0 multi#le end #oint bindings li1e htt#0 5ms.
1,) I! you want to ount the nu)%er o! ti)es a partiular $o% is alled# how
will you &o a%out doin& it?
'nswer 4 /se 5ob shared !ariable in a critical section.
1-) I! there are hundred )essa&es lyin& on the (ueue# what will you do
and whih ativity will you use to retrieve one )essa&e at a ti)e?
'nswer 4 JMS )ueue recei!er with confirm acti!ity. Se3uencing 1ey in a misc tab of
the configuration could also be used.
20) What is the se(uenin& key in the )is ta% used !or?
'nswer 4 -t is used to call #rocess instances in the order they are created.
21) What happens i! I put a stati value say /nitin0 in the se(uenin& key?
'nswer 4 'll the #rocesses which ha!e this 1ey in their se3uencing 1ey field will be
e"ecuted in the order they were created.
22) What do you )ean %y )a1 $o% and !low li)it?
'nswer 4
2") What are dura%le su%sri%ers?
'nswer 4
2') What is 234 diret? What is it used !or?
'nswer 4 S)* direct is used to e"ecute command dynamically using out#ut of other
acti!ities. This acti!ity allows you to e"ecute commands which other acti!ities in the
J,B& donBt allow0 li1e ,,* command create table.
25) Can you han&e a value o! a &lo%al varia%le at runti)e?
'nswer 4 Cou can change the !alue of a global !ariable when you de#loy your
#ro5ect in T-B&. 'dministrator.
See the section on modifying runtime !ariables in T-B&. Business2or1s
'dministration for more information on using T-B&. 'dministrator.
Cou can also s#ecify !alues for global !ariables when starting a #rocess engine on
the command line. To do this0 s#ecify the following as a command line argument
when starting the #rocess engine:
4tibco.client@ar.D!ariablePath'ndEameF D!alueF
where !ariablePath'ndEame is the name of the !ariable you wish to set0 including
the #ath to the !ariable if it is contained in a folder. @alue is the !alue you wish to
set the !ariable to. For e"am#le0 if you ha!e a global !ariable named item8
contained in a folder named my6rou# and you wish to set its !alue to ;GG0 add the
following argument to the command line when starting the #rocess engine:
4tibco.client@ar.my6rou#(item8 ;GG
How to create web service in BW ?
10 May
Step 1:
First create a XML schema.
Then take the wsdl pallete configure input messasge,output message,and port type(which contain
operation).
This wsdl is called abstract wsdl.
To make this concerete wsdl we hae to take soap eent source or serice pallet.
!f you take soap eent source we hae to add binding to this which is called "ttp connection.
!n soap eent source we can add one operation but if you use serice pallet you can add more
operation.
Step 2 : The another way
#reate $%&L with re'uired Messages and configure (orttype with operations in it.
)ow create "TT( %hared #onnection using "TT( palette.
)ow select $%&L and right click on $%&L.
%elect *Tools +r Multi,-ser ./0enerate $eb %erice./From $%&L1 menu.
!t will popup dialog.2nter "TT( transport and click *0enerate1. This will create 3$ %+4(
%erice.
Make sure to implement +peration processes for generated %erice.
4boe step will generate *3$ %erice 4gent1 resource. 0o to its $%&L tab.
That will be your concrete $%&L.
%ae that $%&L in pro5ect.
Take new 3$ process and drop %oap 6e'uest 6eply actiity from %+4( palette and configure it
with concrete $%&L.
This will be your 3$ %oap #lient.

Das könnte Ihnen auch gefallen