IBM E02HMLL-I Implementation Guide - Page 157

Configuring, database, connection, pools

Page 157 highlights

Chapter 8. Configuring database connection pools At run-time, it takes time for processes to establish new connections to the database. You can minimize that time by establishing database connection pools in advance for use by your collaboration and map processes. Database connection pools can improve performance and enable direct database access from within a collaboration. A database connection pool can be used by multiple collaborations and maps, and each collaboration or map can use multiple database connection pools. This chapter contains the following sections: v "When to use database connection pools" v "When not to use database connection pools" on page 147 v "Creating database connection pools and database connections" on page 148 v "Validating database connection pools" on page 151 v "Modifying database connection pools" on page 151 v "Using database connection pools in collaborations and maps" on page 153 v "Configuring transaction bracketing" on page 153 When to use database connection pools This section describes some of the situations in which you might want to use database connection pools. Performing routing The logic of a business process may dictate that a business object must be routed to different destination applications depending on the value in one or more fields in the business object. For instance, a site might store and process customer entities in different applications depending on the value in an attribute such as CustomerType. The collaboration template would need to retrieve and evaluate the value in that attribute and make a decision as to which destination application to send the business object to based on the value. Although this can be accomplished with control flow structures in Java, the pairings between the values and destination applications are then hard-coded in the collaboration template. If they need to be changed because of a change in procedure, or added to because a new value and application are introduced into the interface, then the collaboration template must be modified and re-compiled, it must be re-deployed, and so forth. A much more flexible implementation stores the pairings of values and destination applications in a database table. To implement this sort of approach, do the following: 1. Create a database table which has one column to store the routing values and another column to store some information that associates the appropriate destination application with the routing value. Table 14 is an example of such a table. Table 14. Routing table example Routing value Customer Destination application value AppA © Copyright IBM Corp. 2001, 2004 145

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302

Chapter
8.
Configuring
database
connection
pools
At
run-time,
it
takes
time
for
processes
to
establish
new
connections
to
the
database.
You
can
minimize
that
time
by
establishing
database
connection
pools
in
advance
for
use
by
your
collaboration
and
map
processes.
Database
connection
pools
can
improve
performance
and
enable
direct
database
access
from
within
a
collaboration.
A
database
connection
pool
can
be
used
by
multiple
collaborations
and
maps,
and
each
collaboration
or
map
can
use
multiple
database
connection
pools.
This
chapter
contains
the
following
sections:
v
“When
to
use
database
connection
pools”
v
“When
not
to
use
database
connection
pools”
on
page
147
v
“Creating
database
connection
pools
and
database
connections”
on
page
148
v
“Validating
database
connection
pools”
on
page
151
v
“Modifying
database
connection
pools”
on
page
151
v
“Using
database
connection
pools
in
collaborations
and
maps”
on
page
153
v
“Configuring
transaction
bracketing”
on
page
153
When
to
use
database
connection
pools
This
section
describes
some
of
the
situations
in
which
you
might
want
to
use
database
connection
pools.
Performing
routing
The
logic
of
a
business
process
may
dictate
that
a
business
object
must
be
routed
to
different
destination
applications
depending
on
the
value
in
one
or
more
fields
in
the
business
object.
For
instance,
a
site
might
store
and
process
customer
entities
in
different
applications
depending
on
the
value
in
an
attribute
such
as
CustomerType
.
The
collaboration
template
would
need
to
retrieve
and
evaluate
the
value
in
that
attribute
and
make
a
decision
as
to
which
destination
application
to
send
the
business
object
to
based
on
the
value.
Although
this
can
be
accomplished
with
control
flow
structures
in
Java,
the
pairings
between
the
values
and
destination
applications
are
then
hard-coded
in
the
collaboration
template.
If
they
need
to
be
changed
because
of
a
change
in
procedure,
or
added
to
because
a
new
value
and
application
are
introduced
into
the
interface,
then
the
collaboration
template
must
be
modified
and
re-compiled,
it
must
be
re-deployed,
and
so
forth.
A
much
more
flexible
implementation
stores
the
pairings
of
values
and
destination
applications
in
a
database
table.
To
implement
this
sort
of
approach,
do
the
following:
1.
Create
a
database
table
which
has
one
column
to
store
the
routing
values
and
another
column
to
store
some
information
that
associates
the
appropriate
destination
application
with
the
routing
value.
Table
14
is
an
example
of
such
a
table.
Table
14.
Routing
table
example
Routing
value
Destination
application
value
Customer
AppA
©
Copyright
IBM
Corp.
2001,
2004
145