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 |