Today, software-development technology focuses more on the network than ever before. Software is designed for LANs, enterprise WANs, the Internet, or somewhere in between via middleware. Rarely is software deployed that is not oriented toward a network. After investigating Joe and its foundations, we will develop a simple example Joe application and dissect some source code.
Several ideas are key in the distributed-object paradigm.
First, we must use object orientation in the design and implementation of our software. We also will use inheritance and polymorphism so we can reuse code. Second, we assume that any computer will be connected to a network. If the computer is not directly connected to the Internet in some way, it most likely will have some form of gateway from its network to the Internet. Third, because we are on a network, we will plan to use network-based information with our software.