Contents
Preface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
The team that wrote this redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Chapter 1. Project introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Linux and IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Pattern for e business . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Penguins on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Document organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Chapter 2. Setup and configuration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 System configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Installation overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Installation of backend server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Installation of front end server . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Linux setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1 Disk partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.2 RedHat installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.3 Caldera eDesktop installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Application installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1 DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2 Domino Enterprise server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.3 IBM JDK 118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.4 IBM HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.5 WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.6 Configuring front end access to backend databases. . . . . . . . . . 44
Chapter 3. Building the Web server
. . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1 External functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Internal design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.3 DB2 database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.3.1 Modelling the database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.3.2 Creating the database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.4 Domino database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.4.1 Domino database concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.4.2 The Redbooks database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.5 Servlet programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.5.1 Servlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.5.2 Maintaining state in HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.5.3 Accessing DB2 via JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.5.4 Accessing Domino data in Linux with Java . . . . . . . . . . . . . . . . . 93
Copyright IBM Corp. 2000
iii