search for books and compare prices
Tables of Contents for Advanced Java Networking
Chapter/Section Title
Page #
Page Count
Introduction
xix
 
Advanced Java
1
40
Basic Java
1
8
Object-Oriented Design Using Java
2
4
Applying Good Object-Oriented Design Skills
6
3
OOP---Strong, Efficient, and Effective
9
1
Java I/O Routines
9
8
Streams
10
1
The Java Core System
11
2
Files
13
2
The Abstract Window Toolkit and Swing Classes
15
1
I/O in Short
16
1
Introduction to Threading in Java
17
9
What Are Threads?
17
2
Threading in Java
19
7
Thread Summary
26
1
Object Serialization
26
4
What Is Serialization?
27
1
Handling Object Relationships
27
1
The Output Streams
28
1
Handling Object Webs
28
1
Reading Objects
29
1
Security and Fingerprinting
30
1
Serialization Overview
30
1
Performance
30
5
Performance Issues
31
3
Summary of Performance Issues
34
1
A First Look at Java Networking in Action
35
4
Pulling It All Together
36
3
Summary
39
2
TCP/IP Fundamentals
41
12
In the Beginning...
41
7
The Protocol Stack
41
1
The OSI Stack
42
2
The TCP/IP Stack
44
4
IP Addresses
48
1
Protocols
49
3
DNS
50
1
HTTP
50
1
CORBA and IIOP
51
1
RMI
51
1
JINI
51
1
Summary
52
1
Java Sockets and URLs
53
44
Sockets and Interprocess Communication
53
13
Introduction to IPC
53
12
URL and URL Connection
65
1
Summary of Sockets
66
1
Client/Server Methodology
66
1
The Pizza Order Protocol (TPOP)
67
1
The TPOP Server
68
7
Server Methodology
68
1
Setting Up the Server
69
1
Initializing the Server Socket
70
1
Creating the Thread
71
1
Detecting Information and Starting the Thread
72
1
Gathering Information
73
2
The TPOP Client
75
6
Developing Clients for Servers
76
4
Clients and Servers in Short
80
1
UDP Client
81
9
Datagrams
81
1
Creating a UDP Sender
82
8
Featured Application
90
5
Messaging Format
90
1
Client
91
3
Server
94
1
Summary
95
2
Java Database Connectivity
97
28
Inside JDBC
97
7
Database Drivers
98
6
JDBC in General
104
1
Databases and SQL
104
5
Creating an Access Database
105
1
Simple SQL
105
3
Summary
108
1
Retrieving Information
109
4
Creating the User Interface
109
1
Database Security
110
1
Using the JDBC Driver
111
1
Creating Queries
112
1
Database and SQL Overview
113
1
Storing Information
113
4
Creating the Connection
114
1
Forming a Statement
115
2
A JDBC Version of the Featured App
117
6
Creating the Database
117
1
Mapping the Network Module to Database Queries
118
1
Developing the Client
119
1
Establishing the Connection
119
1
Making an SQL Invocation
120
2
Invoking SQL to Make a Change
122
1
Shutting Down the Connection
122
1
Summary
123
2
Java RMI: Remote Method Invocation
125
44
Distributed Objects
126
7
What Is RMI?
126
1
How Does RMI Work?
127
3
Local vs. Remote Objects
130
2
Applet vs. Application
132
1
Dynamic Method Invocations
132
1
Overview of RMI
133
1
Client
133
6
RMI Client Methodology
133
3
Catching Exceptions
136
1
Handling Security Constraints
137
2
Client Overview
139
1
Server
139
7
RMI Server Classes
139
1
Creating a Server Interface
140
1
Implementing a Server
140
2
RMI Registry Classes
142
1
RMI Server Security Constraints
143
1
Generating Stubs and Skeletons
144
2
Server Overview
146
1
Callbacks
146
7
Why Callbacks?
146
1
Creating the Callback
147
1
Implementing the Callback Client
147
1
Filling in the Callback Method
148
1
Registering Callbacks
149
2
Invoking Callbacks
151
2
Callbacks in Short
153
1
A Java RMI Version of the Featured App
153
14
RMI Interface
153
1
RMI Client
154
4
RMI Server
158
9
New in JDK 1.2
167
1
Activatable Objects
167
1
Custom Socket Factories
168
1
Summary
168
1
Java IDL: Interface Definition Language
169
54
CORBA
170
9
CORBA-Style Communication
170
1
The CORBA Vision
171
1
Communication with CORBA
172
1
Separation of Interface and Implementation
172
2
Different Vendors, Different ORBs
174
1
Advantages of CORBA
175
1
Common Object Services
176
1
Object Administration
177
1
Clients and Servers and Networks, Oh My!
177
1
What CORBA Means for You
178
1
The Interface Definition Language
179
5
Interfaces
179
1
Modules
180
1
Interface Inheritance
180
1
Variables and Structures
181
1
Methods
182
1
Constructed Data Types
183
1
Exceptions
183
1
Overview of the IDL
184
1
Language Mappings
184
6
What Exactly Are Language Mappings?
184
1
The Sun Microsystems Java Language Mapping
185
1
Interfaces, Modules, and Methods
186
1
Interface Inheritance
187
1
Variables and Structures
187
1
Constructed Data Types
188
1
Exceptions
189
1
Java and CORBA Together
189
1
CORBA Clients
190
9
Designing a User Interface
190
1
Defining the Problem
191
1
The Cooler Interface Definition
191
1
The Cooler User Interface
192
2
Initializing the Client ORB
194
5
Client Overview
199
1
CORBA Servers
199
7
Defining an Interface and Generating Code
199
7
Server Overview
206
1
CORBA Callbacks
206
6
Java Callbacks
206
1
Creating a Callback
207
1
Registering a Callback
208
2
Receiving and Handling a Callback
210
2
A Java IDL Version of the Featured App
212
10
Server Interface
213
1
NetworkModule
214
2
Calendar Server
216
6
Summary
222
1
Web Servers, Server-Side Java, and More
223
36
Inside an HTTP Server
223
4
Web Server Architecture
224
1
The HTTP Protocol
224
1
Using a Web Server
225
1
Advanced Web Server Features
226
1
HTTP Server Overview
227
1
Common Gateway Interface and CGI Scripts
227
2
Servlets
229
4
What Is a Servlet?
229
4
Servlets Overview
233
1
Dynamic Documents
233
10
Creating the Servlet
233
10
A Servlet Version of the Featured App
243
6
doGet()
245
2
getAppointments()
247
1
newAppointmentForm()
248
1
insertNewAppointment()
249
1
Java Server Pages
249
8
Microsoft Active Server Pages (ASP)
250
1
PHP
250
1
Allaire Cold Fusion
250
1
On to JSP
250
1
Scriptlets and Expression Evaluation
251
2
The Featured Application as a JSP
253
4
Dynamic Documents Overview
257
1
Multipurpose Servers
257
1
Summary
258
1
Java Beans
259
30
Component Models
260
1
The Competition
261
1
Overview of the Java Beans Component Model
261
3
Interface Publishing
261
1
Event Handling
262
1
Persistence
263
1
Layout
263
1
Builder Support
263
1
Distributed Beans
264
1
Why Use Beans?
264
1
Java Beans
264
4
Component Interaction
265
1
Network Communication
265
1
User Interface Issues
266
1
Persistence
267
1
Events
268
1
Properties
268
1
Beans in a Nutshell
268
1
Making a Bean
268
2
Using Java Beans
270
7
Creating a Java Beans Application
270
1
A Simple Example
271
2
Instantiating Components
273
3
Connecting Beans Events
276
1
Bean Introspection
277
1
Server-Side Java Beans
277
3
Enterprise Java Beans
280
2
Summary
282
1
COM/DCOM and ActiveX
282
5
What Is ActiveX?
283
2
ActiveX Controls
285
1
ActiveX and Java
285
1
Java Native Interface (JNI)
286
1
Summary
287
1
Summary
287
2
Application Servers
289
8
High-Performance Web Servers
292
1
Integrated Development Environment
292
1
Interfacing to Enterprise Resource Planning Systems
292
1
Ability to Interface with Transaction Processing Monitors
293
1
Support Stateful Applications
293
1
Connection Pooling of Database Connections
293
1
Access to Legacy Applications and Legacy Databases
293
1
Scalability Through Load Balancing
294
1
Automatic Fail-Over
295
1
Support of the Enterprise Java Beans Specification
295
1
Summary
295
2
Jini: Sun's Technology of Impromptu Networks
297
22
Examples of Jini
298
1
Where Did Jini Come From?
299
1
Our Working Jini Example
299
1
Basic Jini Concepts: ``Discovery, Join, and Lookup Oh My!''
300
5
Server
300
4
Client
304
1
Getting Started with Jini
305
1
Let's Get to the Code!
306
12
Implementing the Jini Server
306
5
Implementing the Jini Client
311
4
Running the Jini Server
315
2
Running the Jini Client
317
1
Good References to Get You Started
317
1
Summary
318
1
JMX/JMAPI: Java Management API
319
16
What Is Network Management?
320
3
Network Management at a Glance
320
1
Simple Network Management Protocol
321
1
The Unique Management Problems of Java
322
1
Network Administration Overview
322
1
Modifying Clients for JMAPI
323
5
AVM Base Classes
323
1
AVM Help Classes
323
1
Managed Object Interfaces
324
2
Setting Up Notifications
326
2
Modifying Servers for JMAPI
328
6
Summary
334
1
What Are Directory Services?
335
14
Some Background
336
2
Introducing Java Naming Directory Interface
338
1
Using the JNDI to Access LDAP-Based Data
339
9
Setting up the Airius Directory
339
1
The Airius Schema
340
3
Connecting
343
1
Searching
344
2
Adding Persons to the Directory
346
1
Modifying Information Already in the Directory
347
1
Removing Entries from the Directory
347
1
Authentication
348
1
Summary
348
1
Java and Security
349
18
Safety in Java
349
1
The Java Security Model
350
3
Easy to Use Fine-Grained Access Control
352
1
Easy to Configure Security Policy
352
1
Easy to Extend Access Control Structure
352
1
Easy to Extend Security Checks to Applications
352
1
Java Class Security
353
4
The Bytecode Verifier
353
1
The Class Loader
353
1
The Security Manager
353
4
Security Problems and Java Security Testing
357
1
Encryption
357
3
Java Cryptography Extension (JCE)
360
1
Authentication
360
2
Kerberos
361
1
Digital Signatures and Public Key Encryption
362
1
Secure Sockets Layer
362
1
The Government and Security
363
2
Export Control
364
1
The ``Clipper'' Controversy
364
1
Summary
365
2
Making an Architectural Decision
367
14
Java Sockets
367
2
Flexibility
368
1
Simplicity
368
1
Java RMI Decisions
369
2
RMI Advantages
369
1
RMI Disadvantages
369
1
Three-Tier Applications in RMI
370
1
Java IDL
371
3
Advantages of Java IDL
371
1
Disadvantages of Java IDL
372
1
Java IDL Implementations
372
1
Java IDL Is Robust
373
1
Java IDL Is Difficult
373
1
Java IDL Is Powerful
374
1
JDBC
374
3
Why JDBC Is Not Enough
374
2
JDBC and Java IDL or Java RMI
376
1
JDBC Alone
377
1
JDBC Overview
377
1
Other Java Technologies
377
2
When to Use Beans
378
1
When to Use Servlets and Java Server Pages
379
1
Application Servers
379
1
Summary
380
1
Glossary
381
6
Index
387
21
About the CD-ROM
408