Skip to:Content
|
Bottom
Cover image for Java network programming and distributed computing
Title:
Java network programming and distributed computing
Personal Author:
Publication Information:
Boston, Maas. : Addison-Wesley, 2002
ISBN:
9780201710373
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010017993 QA76.73.J38 R45 2002 Open Access Book Book
Searching...
Searching...
30000010025699 QA76.73.J38 R45 2002 Open Access Book Book
Searching...
Searching...
30000010017994 QA76.73.J38 R45 2002 Open Access Book Book
Searching...

On Order

Summary

Summary

For all beginner-to-intermediate standard Java programmers, as well as network programmers who need to learn to work with Java, this book provides a comprehensive guide to Java networking and distributed component development.


Author Notes

David Reilly is a Sun(tm)-certified Java programmer and author of the Java Network Programming FAQ. He writes frequently for Java publications and holds a BA in Software Engineering from Bond University, Queensland, Australia. David is also the editor of the Java Coffee Break online publication.

Michael Reilly is a software engineer and network programmer working in Brisbane, Australia. He holds a BA in Computer Science from Bond University.



0201710374AB03012002


Excerpts

Excerpts

Welcome to Java Network Programming and Distributed Computing . The goal of this book is to introduce and explain the basic concepts of networking and discuss the practical aspects of Java network programming. This book will help readers get up to speed with network programming and employ the techniques learned in software development. If you've had some networking experience in another language and want to apply your existing skills to Java, you'll find the book to be an accelerated guide and a comprehensive reference to the networking API. This book does not require you to be a networking guru, however, as Chapters 1-4 provide a gentle introduction to networking theory, Java, and the most basic elements of the Java networking API. In later chapters, the Java API is covered in greater detail, with a discussion supplementing the documentation that Sun Microsystems provides as a reference. What You'll Learn In this book, readers will learn how to write applications in Java that make use of network programming. The Java API provides many ways to communicate over the Internet, from sending packets and streams of data to employing higher-level application protocols such as HTTP and distributed computing mechanisms.Along the way, you'll read about: How the Internet works, its architecture and the TCP/IP protocol stack The Java programming language, including a refresher course on topics such as exception handling Java's input/output system and how it works How to write clients and servers using the User Datagram Protocol (UDP) and the Transport Control Protocol (TCP) The advantages of multi-threaded applications, which allow network applications to perform multiple tasks concurrently How to implement network protocols, including examples of client/server implementations The HyperText Transfer Protocol (HTTP) and how to access the World Wide Web using Java How to write server-side Java applications for the WWW Distributed computing technologies including remote method invocation (RMI) and CORBA How to access e-mail using the extensive JavaMail API What You'll Need A reasonable familiarity with Java programming is required to get the most out of this book. You'll need to be able to compile and run Java applications and to understand basic concepts such as classes, objects, and the Java API. However, you don't need to be an expert with respect to the more advanced topics covered herein, such as I/O streams and multi-threading. All examples use a text interface, so there's no need to have GUI experience. You'll also need to install the Java SDK, available for free from Sun Micro-systems ( http://java.sun.com/j2se/ ). Java programmers will no doubt already have access to the SDK, but readers should be aware that some examples in this text will require JDK 1.1, and the advanced sections on servlets, RMI and CORBA, and JavaMail will require Java 2. A minimal amount of additional software is required, and most of the tools for Java programming are available for free and downloadable via the WWW. Chapter 2 includes an overview of Java development tools, but readers can also use their existing code editor. Readers will be advised when examples feature additional Sun Microsystems software. Companion Web Site As a companion to the material covered in this book, the book's Web site offers the source code in downloadable form (no need to wear out your fingers!), as well as a list of Frequently Asked Questions about Java Networking, links to networking resources, and additional information about the book. The site can be found at http://www.davidreilly.com/jnpbook/ . Contacting the Authors We welcome feedback from readers, be it comments on specific chapters or sections or an evaluation of the book as a whole. In particular, reader input about whether topics were clearly conveyed and sufficiently comprehensive would be appreciated. While we'd love to receive only praise, honest opinions are valued (as well as suggestions about coverage of new networking topics). Feel free to contact us directly. While we can't guarantee an individual reply, we'll do our best to respond to your query. Please send questions and feedback via e-mail to: jnpbook@davidreilly.com . David Reilly and Michael Reilly September 2001 0201710374P03282002 Excerpted from Java Network Programming and Distributed Computing by David Reilly, Michael Reilly All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.

Table of Contents

Preface
Acknowledgments
1 Networking Theory
What Is a Network?
How Do Networks Communicate?
Communication across Layers
Advantages of Layering
Internet Architecture
Internet Application Protocols
TCP/IP Protocol Suite Layers
Security Issues: Firewalls and Proxy Servers
Summary
2 Java Overview
What Is Java? The Java Programming Language
The Java Platform
The Java Application Program Interface
Java Networking Considerations
Applications of Java Network Programming
Java Language Issues
System Properties
Development Tools
Summary
3 Internet Addressing
Local Area Network Addresses
Internet Protocol Addresses
Beyond IP Addresses: The Domain Name System
Internet Addressing with Java
Summary
4 Data Streams
Overview
How Streams Work
Filter Streams
Readers and Writers
Object Persistence and Object Serialization
Summary
5 User Datagram Protocol
Overview
DatagramPacket Class
DatagramSocket Class
Listening for UDP Packets
Sending UDP Packets
User Datagram Protocol Example
Building a UDP Client/Server
Additional Information on UDP. Summary
6 Transmission Control Protocol
Overview
TCP and the Client/Server Paradigm
TCP Sockets and Java
Socket Class
Creating a TCP Client
ServerSocket Class
Creating a TCP Server
Exception Handling: Socket Specific Exceptions
Summary
7 Multi-threaded Applications
Overview
Multi-threading in Java
Synchronization
Interthread Communication
Thread Groups
Thread Priorities
Summary
8 Implementing Application Protocols
Overview
Application Protocol Specifications
Application Protocols Implementation
Summary
9 HyperText Transfer Protocol
Overview
HTTP and Java
The Common Gateway Interface (CGI). Summary
10 Java Servlets
Overview
How Servlets Work
Using Servlets
Running Servlets
Writing a Simple Servlet
SingleThreadModel
ServletRequest and HttpServletRequest
ServletResponse and Http Response
ServletConfig
ServletContext
Servlet Exceptions
Cookies
HTTP Session Management in Servlets
Summary
11 Remote Method Invocation (RMI)
Overview
How Does Remote Method Invocation Work? Defining an RMI Service Interface
Implementing an RMI Service Interface
Creating Stub and Skeleton Classes
Creating an RMI Server
Creating an RMI Client
Running the RMI System
Remote Method Invocation Packages and Classes
Remote Method Invocation Deployment Issues
Using Remote Method Invocation to Implement Callbacks
Remote Object Activation
Summary
12 Java IDL and CORBA
Overview
Architectural View of CORBA
Interface Definition Language (IDL)
From IDL to Java
Summary
13 JavaMail
Overview
Installing the JavaMail API
Testing the JavaMail Installation
Working with the JavaMail API
Advanced Messaging with JavaMail
Summary
Index
Go to:Top of Page