- Java Network Programming

[ Home | Whats New | Recommended Books | Search | Subscribe ]
[ TP | DB | Java | JavaBeans | C++ | Design-Pattern | CORBA | Server | Script | SCM | Dev-Mags | Net-News | WebDev | Net | XML ]

Get the FREE SwTech e-mail newsletter :
Support this site by buying one of our Recommended Books

Search the SwTech.com site:   

Java : Java Network Programming

>RMI - Remote Method Invocation programming

See Also:
>Network and Server Security
>RMI - Remote Method Invocation programming

* Java@cdt
Includes documentation on all the classes in the standard Sun JDK class distribution, including the internal and HotJava classes. The home of the Java-networking mailing-list.
* Java Networking Concepts
Some lecture notes about the networking facilities available in Java, including code samples.
The full course contents are also available, providing an wider introduction to the subject of Client-Server Programming (with Java) .
* Book: Concurrent Programming in Java - Design principles and patterns
by Doug Lea. Advanced programming using Java and design patterns. One of the main uses and requirements for concurrency is in the handling of networking and communications while still keeping an app responsive to user input.
This is what real programming is about - remember, if it isn't concurrent, it's SLOW!
Buy it TODAY from Amazon Worldwide/U.S.A. or U.K.
* Book: Java Network Programming
The "Puffer Fish" book by Merlin & Conrad Hughes, Michael Shoffner, Maria Winslow.
A good book about using Java to develop real networked applications, with good coverage of using sockets and URLs, as well as higher level protocols such as messaging, encryption and object transfer. Some online excepts on encryption and building a chat system are also available.
Buy it TODAY from Amazon Worldwide/U.S.A. or U.K.
* Book: Java Network Programming
The other good Java networking book - the "Gyroscope" book by Elliotte Rusty Harold.
After a good general introduction to programming TCP/IP communications in Java, goes on to give a very good description of how to extend the standard Java API classes with handlers for different custom protocols and content types. Also cover advanced networking topics such as Multicast sockets, RMI and Servlets.
Buy it TODAY from Amazon Worldwide/U.S.A. or U.K.
* Java network programming books: A comparative review
An article from JavaWorld magazine comparing the merits of the numerous books on Java networking.
The two "winners" (thankfully!) turn out to be the two books we like: Java Network Programming (the "Puffer Fish" one) and Java Network Programming (the "Gyroscope" one)
* The SSLava Home Page
Details of a toolkit and class library product from Phaos for developing secure Java applications using the SSL (Secure Sockets Layer) protocol.
More detailed coverage of SSL is on our Web Reference Docs page.
* Java Naming and Directory Interface (JNDI)
JavaSoft releases new API to provide Java applications a unified interface to multiple naming and directory services.
Initial draft of Specification available for review.
* Channel: A Communication Component
An article describing a modular and reusable approach to client-server communications, using communication objects to encapsulate and generalize the necessary send and receive behaviors through a "Channel", hiding the underlying socket (or other!) transport mechanism from the program.
* The Mercury package
A set of classes providing a simple mechanism for exchanging information between the client and server sides of a networked application.
* Building an Internet chat system
A good example from JavaWorld of how to develop a multi-threaded client/server chat system.
* A Shared Data Multi-point Delivery Service for Java
The Java Shared Data Toolkit (JSDT) defines a multipoint data delivery service, particularly useful for highly interactive, collaborative, multimedia applications. Also provides efficient support of multicast message communications, and a token-based distributed synchronization mechanism.
* RSA’s JSAFE Java Crypto Toolkit
A commercial Java library product from RSA Data Security Inc giving industrial strength secure network communications. Designed to be called through the Java Security API in Java 1.1, but can also be retrofitted into Java 1.0.2.
* jotp: The Java OTP Calculator
A One-Time Password (OTP) calculator written in Java for the S/Key system. Includes full source code, so you can check what the applet is doing before using it, and compile everything yourself locally for extra security.
* JRPC Development Kit
Enables you to write pure Java clients for standard ONC RPC servers (It also allows writing RPC servers in Java). The JRPC Development Kit consists of the JRPC package, the jrpcgen compiler that translates standard RPC/XDR interface definition files into Java source files, and a simple demo application. Works with Java 1.0.2 or later.
* POSTing data to Web servers in Java
How to send POST requests to Web servers and retrieve the response from an applet.
* POSTing via Java revisited
Another look at how to POST a request from a Java applet back to a CGI script on a web server, and receive a response as a HTML page.
* Cryptix
A free cryptography library based in the UK.
* Cryptix - Frequently Asked Questions
* Writing Castanet Channels in Java
* Implementing a multi-threaded HTTP server in Java
For server applications to be useful, they should have the ability to serve multiple clients simultaneously. However, clients' requests may overload the server's machine and the server may crash. This article explains how to write safe multithreaded server applications. The development of an HTTP server is used as an illustration. The article also explains some related security and performance issues.
* Integrating FastCGI with Java
How to write FastCGI applications in Java using Open Market's free Development Kit.
* How the Applet Network Security Policy works
Some notes on the way applets can correctly use Socket's and/or URLConnection's through various types of security firewall.
* Displaying HTML from an Applet
* A Java Proxy Application
An article from Java Report Online showing how to implement a class to allow an application to make URL connections through a firewall using an HTTP proxy gateway without the user having to preset environment variable values, and in doing so provides an introduction to URLStreamHandlers
Note: The article is no longer online - only the code.
* Content Handlers and Protocol Handlers
A step-by-step introduction to writing handlers for new content types, and new protocols. The example code is for a "signed URL".
* The EOS FTP bean
A nice implementation of client-side FTP packaged up as a JavaBean for use in Java applications. Not a free product, but worth the money if you need this functionality.
* The T-Bone
A system that allows you to connect arbitrary JavaBeans which reside on different machines. Ideal for remote monitoring, remote control, push-casting applications, stock tickers, chat rooms, etc. "Free for all uses"
* T-Bone Vs. Infobus
A comparison by Joel Crisp between The T-Bone and the Lotus InfoBus systems.
* Java TCP/IP Message Handling System
A fairly comprehansive toolkit of message based communication facilities for building apps for chat/multimedia/games/etc.
* JAMM - Java Applets Made Multiuser
A prototype Java runtime environment by James Begole that provides the shared use of single-user Swing-based components. The "Concurrent Text Editing" example demo is very interesting as an example of collaberative computing.
* Site Replication
By Arthur Do. A site replication class written in Java that can be embedded and extended to provide customisation. Allows a web site to be download, e.g. for storage or analysis. Generally free for non-commercial use.
* Writing Networked Whiteboards Apps with Java 1.1
A series of articles from JavaWorld discussing various ways to write a networked whiteboard app, including versions using sockets and RMI, Servlets, and CORBA. Full example source code is included.
* A File Upload Servlet
This servlet by Kendell Welch allows for multiple file uploads along with simultaneous standard form input.
* Write your own general-purpose message-oriented middleware (MOM) in Java
Another good step-by-step article from JavaWorld showing how to write a basic channel-based message-passing system.
* NCSA Habanero
NCSA Habanero is a collaborative framework and set of applications that allow users to share tasks from remote locations in real time over the Internet. It also enables developers of groupware applications to build powerful collaborative software in a reduced amount of time. Written in Java, it will run under any operating system that supports JDK 1.1
* A Note on Distributed Computing
An research paper from Sun Labs outlining the different requirements when writing a distributed system compared to writing a non-networked program. The fundamental need for support of robustness and reliability in distributed applications require that the programmer be aware of latency, have a different model of memory access, and take into account issues of concurrency and partial failure.
* AXTP: Application eXtensible Transactional Protocol
AXTP is a small and easy to use transaction processing systems using XML for its wire protocol. It is a Java Beans component-based system, and can be configured to a wide range of requirements.
* Marvel - Network Management Toolkit
Marvel is a Java toolkit for creating web-based network management services. It can be used for generic network management applications, or to monitor and control any type of system.
* Accessing password-protected URLs using Java 1.1
How to use the HTTP URL authentication to access password-protected URLs with Java 1.1.
* Accessing password-protected URLs using Java 1.2
How to use the new Authenticator class in Java 1.2's to access password-protected URLs.
* Netscape 4.0X does not trust proxies
A short discussion of the "Could not resolve IP for host . See the trustProxy property." problem an applet may encounter when it is run behind a firewall, and shows a workaround fir Netscape 4.
Home page for Sun's new Jini technology - a set of Java class libraries to run on top of Java Virtual Machines, allowing heterogeneous network devices to communicate with each other.
* Java Network Management Mailing List
Home Page for the Java Network Management mailing list maintained by AdventNet.
* WestHawk SNMP stack in Java
A lightweight SNMP stack in Java, with Java applet, application and servlet examples. Source code included. The stack supports SNMPv1, SNMPv2c and SNMPv3 (authentication and privacy)! It is capable of sending and receiving traps, but has no other agent functionality.
* StrikerSnmp - Java SNMP Development Classes
The StrikerSnmpBeta packages contain classes for the ASN.1 objects used in SNMP, and helper classes to construct, encode, send, receive, decode, and use SNMP packets. These classes also allow for asynchronous operation, allowing applications to send multiple packets to several machines without waiting for responses. Included in the package are a few SNMP utilities which may be useful in themselves, but are mostly for tutorials in using the packages, and as baseline debugging tools. Free for personal and professional use.
* The one-class server
A simple way to create a basic TCP/IP server in Java by extanding a base abstract class. Server.java listens on a port and for each connection, it spawns a thread to handle the connection. All you need to do is provide a "process" method to handle the connection.
DISCIPLE is a real-time groupware environment being developed at Rutgers University. The objective of DISCIPLE project is to develop a set of methods and tools for the versatile presentation, manipulation and analysis of multimedia objects in shared heterogeneous environments, including multiple platforms and network protocols.
* IBM TSpaces Project
TSpaces is a network communication buffer with database capabilities. It enables communication between applications and devices in a network of heterogeneous computers and operating systems. TSpaces provides group communication services, database services, URL-based file transfer services, and event notification services.
* dnsjava
dnsjava is an implementation of the DNS protocol in Java. It supports all of the common record types. dnsjava provides both high and low level access to the resolver. The high level functions perform queries for records of a given name, type, and class, and return an array of records. A cache is used to reduce the number of queries sent. The low level functions allow direct manipulation of dns messages and records, as well as allowing additional resolver properties to be set. A 'dig' clone, dynamic update program, and basic server are also included. Extensions to the DNS protocol are supported as well (DNSSEC, TSIG, EDNS0).
* Use HTTPS in your Java client code
Using HTTPS (Hypertext Transfer Protocol Secure) isn't as obvious as you might think. If you've ever tried to implement secure communication between a Java client and an HTTPS server, you've probably discovered that the standard java.net.URL class doesn't support the HTTPS protocol. This tip shows you how to overcome that limitation, using a JDK 1.2-compatible virtual machine or Microsoft's JDK 1.1-compatible JView.
* IBM's Reliable Multicast SDK
Reliable Multicast SDK ("Remade") from IBM's Alphaworks web site is a set of Java-based API intended for creation of reliable multicast delivery applications. A reliable multicast transport protocol is implemented and serves as the basis for Remade. The toolkit provides high-level intuitive interface to the protocol, one can simply call "transmit file" function at the head-end server, "receive file" function at the end-user client, and not to worry about multicast address allocation, reliability repair mechanism and other details.
* Pushlets - Send events from servlets to DHTML client browsers
Discover how pushlets, a servlet-based notification mechanism, enables server-side Java objects to call back JavaScript code within a client browser.
Server-side callback through RMI or CORBA can notify clients of changes in the server such as those needed to keep the clients' GUIs up-to-date with the state of the server application. But what if the client is a Web browser whose page content needs to be updated? In this Javaworld article Just van den Broecke explores pushlets, a servlet-based notification mechanism that enables server-side Java objects to call back JavaScript code within a client browser. The browser applies dynamic HTML to dynamically update page content. Pushlets can run in a standard servlet server and don't require any Java applets or plug-ins in the browser (although Java clients are supported as well). This article presents a notification framework based on the pushlet concept, with some sample applications.
jUDDI is an open source Java implementation of the Universal Description, Discovery and Integration (UDDI) specification.
* JavaGroups - A Reliable Multicast Communication Toolkit for Java
JavaGroups is a group communication toolkit written entirely in Java. It is based on IP multicast, but extends it with reliability and group membership.
Reliability includes Group Membership includes

DevLynx - Developer Links

Add your own Developer Links:

You can now suggest your own DevLynx to include on this page.
Search the Software Technologies site:   

Home Copyright © 1996-2006 Software Technologies Ltd.
All rights reserved. All trademarks acknowledged. E & O E.
Privacy Policy.
Designed for
Microsoft Internet Explorer
Designed for
Netscape Navigator
webmaster@SwTech.com http://www.SwTech.com/java/net/