Table of Contents:
  • Includes bibliographical references and index
  • Passing by Value Versus Passing by ReferenceThe Architecture Diagram Revisited; Implementing the Basic Objects; The Printer Interface; Implementing a Printer; Examining the skeleton; The Data Objects; DocumentDescription; The Rest of the Server; The Client Application; Summary; Chapter 5. Introducing the Bank Example; The Bank Example; Sketching a Rough Architecture; Five Steps to a Sketch; The Basic Use Case; Additional Design Decisions; Design Postponements; Security; Scalability; Implications of the Environment; A Distributed Architecture for the Bank Example
  • Layering StreamsCompressing a File; How this works; Some Useful Intermediate Streams; Readers and Writers; Revisiting the ViewFile Application; Chapter 2. Sockets; Internet Definitions; Sockets; Creating a Socket; A simple client application; Protocols and Metadata; Protocols; Metadata; ServerSockets; The accept() method; A Simple Web Server; Customizing Socket Behavior; Special-Purpose Sockets; Direct Stream Manipulation; Subclassing Socket Is a Better Solution; A Special-Purpose Socket; Factories; Socket Factories; Security; Using SSL; The SSL Handshake; Using SSL with JSSE
  • Copyright; Dedication; Table of Contents; Preface; About This Book; Part I, Designing and Building: The Basics of RMI Applications; Part II, Drilling Down: Scalability; Part III, Advanced Topics; About the Example Code; Conventions Used in This Book; Coding Conventions; Applications; Compiling and Building; Downloading the Source Examples; For Further Information; How to Contact Us; Acknowledgments; Part I; Chapter 1. Streams; The Core Classes; InputStream; Reading data; Stream navigation; Resource management; IOException; OutputStream; Writing data; Resource management; Viewing a File
  • Problems That Arise in Distributed ApplicationsPartial Failures; Network Latency; Chapter 6. Deciding on the Remote Server; A Little Bit of Bias; Important Questions When Thinking About Servers; Does Each Instance of the Server Require a Shared/Scarce Resource?; Memory, in general, is not an issue here; Sockets in RMI aren't a limitation either; An example of a resource limitation; Moving things to a singleton resource object handles this problem; Applying this to Bank versus Accounts; How Well Does the Given Server Replicate/Scale to Multiple Machines?; Applying this to Bank versus Accounts
  • Registering providersConfiguring SSLServerSocket; Configuring SSLSocket; Sending data; Revisiting Our Web Server; Chapter 3. A Socket-Based Printer Server; A Network-Based Printer; The Basic Objects; The Protocol; Encapsulation and Sending Objects; DocumentDescription; Network-Aware Wrapper Objects; ClientNetworkWrapper; ServerNetworkWrapper; The Application Itself; Writing the Client; Redrawing the Architecture Diagram; Evolving the Application; What These Changes Entail; Chapter 4. The Same Server, Written Using RMI; The Basic Structure of RMI; Methods Across the Wire