At the beginning of this chapter, we stated that computer security must be holistic because attackers will concentrate on the weakest link. Because Java is an essential part of today's e-business environments, it is clear that Java security must be viewed in relation to the security of the enterprise.
In this chapter, we showed the most common network architectures and highlighted where Java can play a role. In particular, we investigated the effects of running Java on the server side, especially from a security point of view.
We also showed how firewalls provide added security to an organization's network, at the expense of some restrictions on what client users can do. Firewalls use a variety of techniques to provide this security, including packet filtering, proxy servers, and SOCKS servers. Various approaches can be used with these techniques to allow secure access through the firewalls. Firewalls can impose certain restrictions in a client/server Java communication. A client/server application would work perfectly in a normal setup, but the same application might not execute as expected in a firewall environment. Finally, we described the implications of using RMI through the firewall.