-
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
- Title:
- Java RMI
- By:
- William Grosso
- Publisher:
- O'Reilly Media
- Formats:
-
- Safari Books Online
- Print Release:
- October 2001
- Pages:
- 572
- Print ISBN:
- 978-1-56592-452-9
- | ISBN 10:
- 1-56592-452-5
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Java RMI is a European red squirrel (Sciurus vulgaris). The word squirrel comes from the Greek skia, meaning shadow, and oura, tail.
Squirrel species exist on every continent except Australia and Antarctica. The red squirrel is common throughout central Europe, but in Great Britain, where it was once also abundant, its numbers have been greatly reduced. The grey squirrel, a heartier species, has largely replaced it; there are now about 60 times as many grey squirrels as red in Great Britain.
The red squirrel is light-red to black in color on its head and back. All except those with black fur have white stomachs; the black ones are black all over. They have tufts of fur sticking up from their ears. They spend much of their time up in trees; their sharp claws make them good climbers, and they can survive falls of up to 100 feet. They eat mostly seeds, acorns, and nuts, but they'll also eat mushrooms, flowers, vegetables, and even eggs when their main food source is scarce.
Female red squirrels usually produce two litters of young each year, with five to seven babies in each. They're blind and hairless at birth and weigh only eight to twelve grams, but by eight weeks of age, they are weaned and fully independent--though they have a tendency to darken their mother's doorstep for a while longer, until they're ready to face the world on their own. Matt Hutchinson was the production editor and copyeditor for Java RMI. Maureen Dempsey proofread the book. Claire Cloutier, Tatiana Apandi Diaz, Jane Ellin, and Sue Willing provided quality control. Sarah Sherman, Edie Shapiro, and Derek DiMatteo provided production assistance. Johnna VanHoose Dinse wrote the index.
Emma Colby designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.
Melanie Wang designed the interior layout. Anne-Marie Vaduva reformatted the files in FrameMaker 5.5.6 using tools created by Mike Sierra. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is Lucas-Font's Sans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Leanne Soylemez.
Whenever possible, our books use a durable and flexible lay-flat binding. If the page count exceeds this binding's limit, perfect binding is used.
