My Account
View Cart
Home
Community
Books & Videos
Safari Books Online
Conferences
Training
School of Technology
About
Complete List
Bestsellers
New Releases
Rough Cuts
Upcoming Titles
Ebooks
By Publisher
By Series
Out of Print
Order Info
Search
Search Tips
Tell a friend
Java RMI
By
William Grosso
October 2001
Pages: 572
|
Table of Contents
|
Index
|
Sample Chapter
|
Colophon
Table of Contents
Designing and Building: The Basics of RMI Applications
Chapter 1
Streams
The Core Classes
Viewing a File
Layering Streams
Readers and Writers
Chapter 2
Sockets
Internet Definitions
Sockets
ServerSockets
Customizing Socket Behavior
Special-Purpose Sockets
Using SSL
Chapter 3
A Socket-Based Printer Server
A Network-Based Printer
The Basic Objects
The Protocol
The Application Itself
Evolving the Application
Chapter 4
The Same Server, Written Using RMI
The Basic Structure of RMI
The Architecture Diagram Revisited
Implementing the Basic Objects
The Rest of the Server
The Client Application
Summary
Chapter 5
Introducing the Bank Example
The Bank Example
Sketching a Rough Architecture
The Basic Use Case
Additional Design Decisions
A Distributed Architecturefor the Bank Example
Problems That Arise in Distributed Applications
Chapter 6
Deciding on the Remote Server
A Little Bit of Bias
Important Questions WhenThinking About Servers
Should We Implement Bank or Account?
Chapter 7
Designing the Remote Interface
Important Questions When Designing Remote Interfaces
Building the Data Objects
Accounting for Partial Failure
Chapter 8
Implementing the Bank Server
The Structure of a Server
Implementing the Server
Generating Stubs and Skeletons
Chapter 9
The Rest of the Application
The Need for Launch Code
Our Actual Launch Code
Build Test Applications
Build the Client Application
Deploying the Application
Drilling Down: Scalability
Chapter 10
Serialization
The Need for Serialization
Using Serialization
How to Make a Class Serializable
The Serialization Algorithm
Versioning Classes
Performance Issues
The Externalizable Interface
Chapter 11
Threads
More Than One Client
Basic Terminology
Threading Concepts
Support for Threads in Java
Deadlock
Threading and RMI
Chapter 12
Implementing Threading
The Basic Task
Guidelines for Threading
Pools: An Extended Example
Some Final Words on Threading
Chapter 13
Testing a Distributed Application
Testing the Bank Application
Chapter 14
The RMI Registry
Why Use a Naming Service?
The RMI Registry
The RMI Registry Is an RMI Server
Examining the Registry
Limitations of the RMI Registry
Security Issues
Chapter 15
Naming Services
Basic Design, Terminology,and Requirements
Requirements for Our Naming Service
Federation and Threading
The Context Interface
The Value Objects
ContextImpl
Switching Between Naming Services
The Java Naming and Directory Interface (JNDI)
Chapter 16
The RMI Runtime
Reviewing the Mechanics of a Remote Method Call
Distributed Garbage Collection
RMI's Logging Facilities
Other JVM Parameters
Chapter 17
Factories and the Activation Framework
Resource Management
Factories
Implementing a Generic Factory
A Better Factory
Persistence and the Server Lifecycle
Activation
A Final Word About Factories
Advanced Topics
Chapter 18
Using Custom Sockets
Custom Socket Factories
Incorporating a Custom Socket into an Application
Chapter 19
Dynamic Classloading
Deploying Can Be Difficult
Classloaders
How Dynamic Classloading Works
The Class Server
Using Dynamic Classloadingin an Application
Chapter 20
Security Policies
A Different Kind of Security Problem
Permissions
Security Managers
Setting Up a Security Policy
Chapter 21
Multithreaded Clients
Different Types of Remote Methods
Handling Printer-Type Methods
Handling Report-Type Methods
Generalizing from These Examples
Chapter 22
HTTP Tunneling
Firewalls
CGI and Dynamic Content
HTTP Tunneling
A Servlet Implementationof HTTP Tunneling
Modifying the Tunneling Mechanism
The Bank via HTTP Tunneling
Drawbacks of HTTP Tunneling
Disabling HTTP Tunneling
Chapter 23
RMI, CORBA, and RMI/IIOP
How CORBA Works
The Bank Example in CORBA
A Quick Comparison of CORBA and RMI
RMI on Top of CORBA
Converting the Bank Example to RMI/IIOP
Colophon
Return to
Java RMI