IBM BS029ML Self Help Guide - Page 50

Portlet application JVM considerations, 2.5.9 High availability and HTTPSession failover

Page 50 highlights

2.5.8 Portlet application JVM considerations Portlet applications, like any other Java based applications, when deployed into WebSphere Portal Server, reside within the same JVM and therefore share resources, such as JVM heap space and the Web container thread pool. In this way, Portlet applications are limited to the following constraints: Shared JVM resources may become constrained if one Portlet application experiences runaway memory consumption. The JVM cannot be tuned specifically for any one Portlet application's requirements. Individual Portlet applications cannot be guaranteed a QoS above that of the WebSphere Portal Server proper. Poorly written Portlet applications cannot be isolated and potentially run the risk of impacting other Portlet applications deployed within the Portal. Of course, Portlet applications that perform and scale are not accidental. They are the result of proper development and processes that include iterative performance verification and re-verification during the entire application life cycle, including post-production maintenance. 2.5.9 High availability and HTTPSession failover User interactions with WebSphere Portal Server are maintained through the use of a HttpSession. This provides a way to preserve data across multiple pages or requests on an individual user basis. The failure or outage, either scheduled or unscheduled, of a WebSphere Portal Server cluster member will result in the termination of the user's HttpSession. As such, it is possible to enable HttpSession failover support to facilitate maintaining a user's session when requests are failed over to a subsequent cluster member. However, arguably one of the most misunderstood subjects is that of the HttpSession. First, for WebSphere Portal Server, the HttpSession should not be confused with the LTPA token. It is the actual LTPA token and not the HttpSession that maintains the delegated authentication credential. Without such a credential, a user would be challenged to reauthenticate with the solution each time he or she initiates a subsequent request. The HttpSession is also subject to an inactivity timeout. However, it is possible to configure Portal Server to create a new HttpSession should the initial HttpSession expire. Secondly, the use of the HttpSession as a mechanism within WebSphere Portal Server for persisting user attributes for the duration of a user's session is generally discouraged, as there are alternative methods for achieving the same goal more efficiently. It should be noted that HttpSession failover does not provide transaction failover. In-flight transactions would need to roll back in the event of a cluster member outage, regardless of whether HttpSession failover was enabled or not. It is, however, worth remembering that the underlying WebSphere Application Server instance of WebSphere Portal Server includes a Transaction Manager that can be leveraged. Finally, it follows that the size of the HttpSession object and the size of the permissible Java heap directly influence the number of users that Portal can concurrently support. Of course, scalability issues can be addressed by WebSphere clustering. 36 IBM WebSphere Portal V6 Self Help Guide

  • 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

36
IBM WebSphere Portal V6 Self Help Guide
2.5.8
Portlet application JVM considerations
Portlet applications, like any other Java based applications, when deployed into WebSphere
Portal Server, reside within the same JVM and therefore share resources, such as JVM heap
space and the Web container thread pool. In this way, Portlet applications are limited to the
following constraints:
±
Shared JVM resources may become constrained if one Portlet application experiences
runaway memory consumption.
±
The JVM cannot be tuned specifically for any one Portlet application's requirements.
±
Individual Portlet applications cannot be guaranteed a QoS above that of the WebSphere
Portal Server proper.
±
Poorly written Portlet applications cannot be isolated and potentially run the risk of
impacting other Portlet applications deployed within the Portal.
±
Of course, Portlet applications that perform and scale are not accidental. They are the
result of proper development and processes that include iterative performance verification
and re-verification during the entire application life cycle, including post-production
maintenance.
2.5.9
High availability and HTTPSession failover
User interactions with WebSphere Portal Server are maintained through the use of a
HttpSession. This provides a way to preserve data across multiple pages or requests on an
individual user basis. The failure or outage, either scheduled or unscheduled, of a
WebSphere Portal Server cluster member will result in the termination of the user's
HttpSession. As such, it is possible to enable HttpSession failover support to facilitate
maintaining a user's session when requests are failed over to a subsequent cluster member.
However, arguably one of the most misunderstood subjects is that of the HttpSession. First,
for WebSphere Portal Server, the HttpSession should not be confused with the LTPA token. It
is the actual LTPA token and not the HttpSession that maintains the delegated authentication
credential. Without such a credential, a user would be challenged to reauthenticate with the
solution each time he or she initiates a subsequent request. The HttpSession is also subject
to an inactivity timeout. However, it is possible to configure Portal Server to create a new
HttpSession should the initial HttpSession expire. Secondly, the use of the HttpSession as a
mechanism within WebSphere Portal Server for persisting user attributes for the duration of a
user's session is generally discouraged, as there are alternative methods for achieving the
same goal more efficiently.
It should be noted that HttpSession failover does not provide transaction failover. In-flight
transactions would need to roll back in the event of a cluster member outage, regardless of
whether HttpSession failover was enabled or not. It is, however, worth remembering that the
underlying WebSphere Application Server instance of WebSphere Portal Server includes a
Transaction Manager that can be leveraged. Finally, it follows that the size of the HttpSession
object and the size of the permissible Java heap directly influence the number of users that
Portal can concurrently support. Of course, scalability issues can be addressed by
WebSphere clustering.