You could have code and put it up on some server to execute. But we decided that wasn't enough. What we really wanted was data and Java program code that could move from computer to computer and execute autonomously. That's the meaning of a mobile agent, or aglet. Enabling collaboration among distributed teams, as in the scheduling example cited above, is one use of such agents, but their capabilities are really only limited by the imagination of their programmers.
Some applications are especially intriguing.
For example, instead of accessing a database remotely and subjecting oneself to network delays and connection costs, one could dispatch an aglet with the queries, which would return with the results. An added benefit of that approach, notes Lange, is that one does not expose the data model of the server as one would by making direct accesses over the network. Anyone who has surfed the Web knows the speed with which Web sites can change. If staying current is of value to one's business, there is often no choice but to keep revisiting the sites. Still another service aglets can provide is acting as proxies at Internet auctions, buying, selling or simply observing.