10.02.2013 Views

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Although<br />

most<br />

HTTP<br />

servers<br />

support<br />

the<br />

HTTP<br />

specification<br />

that<br />

defines<br />

URLs<br />

as<br />

case-sensitive,<br />

some<br />

HTTP<br />

servers<br />

treat<br />

URLs<br />

as<br />

case-insensitive.<br />

For<br />

example,<br />

on<br />

case-insensitive<br />

servers,<br />

the<br />

following<br />

two<br />

URLS:<br />

http://server/sales/index.htm<br />

http://server/SALES/index.HTM<br />

are<br />

viewed<br />

as<br />

the<br />

same<br />

URL.<br />

This<br />

behavior<br />

requires<br />

an<br />

administrator<br />

to<br />

place<br />

the<br />

same<br />

access<br />

controls<br />

(ACLs)<br />

on<br />

both<br />

URLs.<br />

By<br />

junctioning<br />

a<br />

third-party<br />

server<br />

with<br />

the<br />

–i<br />

option,<br />

<strong>WebSEAL</strong><br />

treats<br />

the<br />

URLs<br />

directed<br />

to<br />

that<br />

server<br />

as<br />

case-insensitive.<br />

Attention:<br />

When<br />

using<br />

the<br />

–i<br />

option,<br />

object<br />

names<br />

must<br />

be<br />

lower<br />

case<br />

in<br />

order<br />

<strong>for</strong><br />

<strong>WebSEAL</strong><br />

to<br />

be<br />

able<br />

to<br />

find<br />

any<br />

ACLs<br />

or<br />

POPs<br />

attached<br />

to<br />

those<br />

objects.<br />

For<br />

more<br />

in<strong>for</strong>mation,<br />

see<br />

“ACLs<br />

and<br />

POPs<br />

must<br />

attach<br />

to<br />

lower-case<br />

object<br />

names”<br />

on<br />

page<br />

305<br />

Stateful<br />

junction<br />

support<br />

(–s,<br />

–u)<br />

Most<br />

Web-enabled<br />

applications<br />

maintain<br />

a<br />

″state″<br />

<strong>for</strong><br />

a<br />

sequence<br />

of<br />

HTTP<br />

requests<br />

from<br />

a<br />

client.<br />

This<br />

state<br />

is<br />

used,<br />

<strong>for</strong><br />

example,<br />

to:<br />

v<br />

Track<br />

a<br />

user’s<br />

progress<br />

through<br />

the<br />

fields<br />

in<br />

a<br />

data<br />

entry<br />

<strong>for</strong>m<br />

generated<br />

by<br />

a<br />

CGI<br />

program<br />

v<br />

Maintain<br />

a<br />

user’s<br />

context<br />

when<br />

per<strong>for</strong>ming<br />

a<br />

series<br />

of<br />

database<br />

inquiries<br />

v<br />

Maintain<br />

a<br />

list<br />

of<br />

items<br />

in<br />

an<br />

online<br />

shopping<br />

cart<br />

application<br />

where<br />

a<br />

user<br />

randomly<br />

browses<br />

and<br />

selects<br />

items<br />

to<br />

purchase<br />

Servers<br />

that<br />

run<br />

Web-enabled<br />

applications<br />

can<br />

be<br />

replicated<br />

in<br />

order<br />

to<br />

improve<br />

per<strong>for</strong>mance<br />

through<br />

load<br />

sharing.<br />

When<br />

the<br />

<strong>WebSEAL</strong><br />

server<br />

provides<br />

a<br />

junction<br />

to<br />

these<br />

replicated<br />

back-end<br />

servers,<br />

it<br />

must<br />

ensure<br />

that<br />

all<br />

the<br />

requests<br />

contained<br />

within<br />

a<br />

client<br />

session<br />

are<br />

<strong>for</strong>warded<br />

to<br />

the<br />

correct<br />

server,<br />

and<br />

not<br />

distributed<br />

among<br />

the<br />

replicated<br />

back-end<br />

servers<br />

according<br />

to<br />

the<br />

load<br />

balancing<br />

rules.<br />

By<br />

default,<br />

<strong>Tivoli</strong><br />

<strong>Access</strong><br />

<strong>Manager</strong><br />

balances<br />

back-end<br />

server<br />

load<br />

by<br />

distributing<br />

requests<br />

across<br />

all<br />

available<br />

replicated<br />

servers.<br />

<strong>Tivoli</strong><br />

<strong>Access</strong><br />

<strong>Manager</strong><br />

uses<br />

a<br />

″least-busy″<br />

algorithm.<br />

This<br />

algorithm<br />

directs<br />

each<br />

new<br />

request<br />

to<br />

the<br />

server<br />

with<br />

the<br />

fewest<br />

connections<br />

already<br />

in<br />

progress.<br />

The<br />

create<br />

command<br />

–s<br />

flag<br />

overrides<br />

this<br />

load<br />

balancing<br />

rule<br />

and<br />

creates<br />

a<br />

″stateful<br />

junction″<br />

that<br />

ensures<br />

a<br />

client’s<br />

requests<br />

are<br />

<strong>for</strong>warded<br />

to<br />

the<br />

same<br />

server<br />

throughout<br />

an<br />

entire<br />

session.<br />

When<br />

the<br />

initial<br />

client<br />

request<br />

occurs,<br />

<strong>WebSEAL</strong><br />

places<br />

a<br />

cookie<br />

on<br />

the<br />

client<br />

system<br />

that<br />

contains<br />

the<br />

UUID<br />

of<br />

the<br />

designated<br />

back-end<br />

server.<br />

When<br />

the<br />

client<br />

makes<br />

future<br />

requests<br />

to<br />

the<br />

same<br />

resource,<br />

the<br />

cookie’s<br />

UUID<br />

in<strong>for</strong>mation<br />

ensures<br />

that<br />

the<br />

requests<br />

are<br />

consistently<br />

routed<br />

to<br />

the<br />

same<br />

back-end<br />

server.<br />

The<br />

–s<br />

option<br />

is<br />

appropriate<br />

<strong>for</strong><br />

a<br />

single<br />

front-end<br />

<strong>WebSEAL</strong><br />

server<br />

with<br />

multiple<br />

back-end<br />

servers<br />

junctioned<br />

at<br />

the<br />

same<br />

junction<br />

point.<br />

Note<br />

that<br />

as<br />

soon<br />

as<br />

the<br />

initial<br />

junction<br />

is<br />

created<br />

as<br />

stateful,<br />

the<br />

add<br />

command<br />

is<br />

used<br />

without<br />

the<br />

–s<br />

option<br />

to<br />

junction<br />

the<br />

remaining<br />

replicated<br />

back-end<br />

servers<br />

to<br />

the<br />

same<br />

junction<br />

point.<br />

If<br />

the<br />

scenario<br />

involves<br />

multiple<br />

front-end<br />

<strong>WebSEAL</strong><br />

servers,<br />

all<br />

junctioned<br />

to<br />

the<br />

same<br />

back-end<br />

servers,<br />

you<br />

must<br />

use<br />

the<br />

–u<br />

option<br />

to<br />

correctly<br />

specify<br />

each<br />

Chapter<br />

10.<br />

<strong>WebSEAL</strong><br />

junctions<br />

301

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!