Sponsored Link •
Bob Scheifler: The third special ramification of dynamically downloaded code involves object integrity. The usual semantics for network communications is data integrity. If we send messages back and forth, integrity means those individual messages do not get corrupted. If I have a TCP connection and it has a bidirectional stream, integrity means the data in that stream does not become corrupted. When you deal with Jini and the notion of dynamically downloaded code, you do not just deal with data. You deal with objects. Objects have data and code, both of which require integrity.
In Jini, code is sent out-of-band, or separate from the data. Clients and services exchange messages that include objects. When you send objects back and forth, the data for the object is sent in-band as part of the message. The code is not. Instead of sending class files as part of the message, you send URLs that indicate where you can get the code if you don't have it. The URL is part of the in-band data. The actual code that we might download asynchronously comes out-of-band. We have to worry about the integrity of that code as well.
Bill Venners: You mean the data integrity of the class files?
Bob Scheifler: You worry about whether I received the code you sent. If I have good data, but it is wrapped around a class file that is bad, then I have nothing. The total integrity of the object is what matters. It doesn't matter if I have good data if I have bad classes. And it doesn't matter if I have good classes if I have bad data. I need both good data and good code. That is the third aspect of downloaded code we need to deal with.
The Jini Community, the central site for signers of the Jini Sun Community Source Licence to interact:
To get involved in the Davis project, in which Jini security is being defined, go to: