One of the most pervasive problems in client-server computing is that servers are frequently inaccessible to clients. Sometimes this is because the server is down. More often, however, it’s because a firewall has been erected between the computer running the client and the computer running the server. In this chapter, we’ll cover one widely used method, known as HTTP tunneling, that an RMI application can use to circumvent firewalls and enable your application to function.
Before the Internet, corporate networks were isolated. Large companies frequently had multiple-computer networks, and computers on one network were often incapable of sending any information to computers on a different network. Now that the Internet has become a global network, the situation is quite different. Most computers are, at least occasionally, connected to the Internet.
This situation, while making things like the World Wide Web possible, makes life very difficult for systems administrators. They are called upon to build robust networks that are fully connected to the Internet so companies can take full advantage of what it has to offer while simultaneously preventing unauthorized users from accessing corporate information.
This dilemma is frequently solved by using a firewall. A firewall is a combination of software and hardware that separates two logically distinct networks. If the firewall is removed, the two networks are no longer connected to each other.